diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/__init__.py new file mode 100644 index 000000000000..86d47896f5c7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .feature_client import FeatureClient +from .version import VERSION + +__all__ = ['FeatureClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/feature_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/feature_client.py new file mode 100644 index 000000000000..874b8d7d0248 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/feature_client.py @@ -0,0 +1,144 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +import uuid +from .operations.features_operations import FeaturesOperations +from . import models + + +class FeatureClientConfiguration(AzureConfiguration): + """Configuration for FeatureClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(FeatureClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class FeatureClient(SDKClient): + """Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new features prior to making them generally available. Users need to explicitly register for AFEC features to get access to such functionality. + + :ivar config: Configuration for client. + :vartype config: FeatureClientConfiguration + + :ivar features: Features operations + :vartype features: azure.mgmt.resource.features.v2015_12_01.operations.FeaturesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = FeatureClientConfiguration(credentials, subscription_id, base_url) + super(FeatureClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2015-12-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.features = FeaturesOperations( + self._client, self.config, self._serialize, self._deserialize) + + def list_operations( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Features REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.features.v2015_12_01.models.OperationPaged[~azure.mgmt.resource.features.v2015_12_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_operations.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_operations.metadata = {'url': '/providers/Microsoft.Features/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/__init__.py new file mode 100644 index 000000000000..534a16d30c90 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/__init__.py @@ -0,0 +1,32 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .feature_properties_py3 import FeatureProperties + from .feature_result_py3 import FeatureResult + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .feature_properties import FeatureProperties + from .feature_result import FeatureResult + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .feature_result_paged import FeatureResultPaged + +__all__ = [ + 'FeatureProperties', + 'FeatureResult', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'FeatureResultPaged', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties.py new file mode 100644 index 000000000000..63421212ff4b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class FeatureProperties(Model): + """Information about feature. + + :param state: The registration state of the feature for the subscription. + :type state: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FeatureProperties, self).__init__(**kwargs) + self.state = kwargs.get('state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties_py3.py new file mode 100644 index 000000000000..9779ede3f50d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_properties_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class FeatureProperties(Model): + """Information about feature. + + :param state: The registration state of the feature for the subscription. + :type state: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, state: str=None, **kwargs) -> None: + super(FeatureProperties, self).__init__(**kwargs) + self.state = state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result.py new file mode 100644 index 000000000000..60f25ee88ee4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class FeatureResult(Model): + """Previewed feature information. + + :param name: The name of the feature. + :type name: str + :param properties: Properties of the previewed feature. + :type properties: + ~azure.mgmt.resource.features.v2015_12_01.models.FeatureProperties + :param id: The resource ID of the feature. + :type id: str + :param type: The resource type of the feature. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'FeatureProperties'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FeatureResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_paged.py new file mode 100644 index 000000000000..086851f21678 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class FeatureResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`FeatureResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FeatureResult]'} + } + + def __init__(self, *args, **kwargs): + + super(FeatureResultPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_py3.py new file mode 100644 index 000000000000..cd27b1a43316 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/feature_result_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class FeatureResult(Model): + """Previewed feature information. + + :param name: The name of the feature. + :type name: str + :param properties: Properties of the previewed feature. + :type properties: + ~azure.mgmt.resource.features.v2015_12_01.models.FeatureProperties + :param id: The resource ID of the feature. + :type id: str + :param type: The resource type of the feature. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'FeatureProperties'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, properties=None, id: str=None, type: str=None, **kwargs) -> None: + super(FeatureResult, self).__init__(**kwargs) + self.name = name + self.properties = properties + self.id = id + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation.py new file mode 100644 index 000000000000..458e37b3bd90 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Features operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.features.v2015_12_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display.py new file mode 100644 index 000000000000..96c5847dd02d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Features + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display_py3.py new file mode 100644 index 000000000000..500ca2ade894 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_display_py3.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Features + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_paged.py new file mode 100644 index 000000000000..3205c43a4b5f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_py3.py new file mode 100644 index 000000000000..0768baa3c0e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Features operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.features.v2015_12_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/__init__.py new file mode 100644 index 000000000000..3b8be8793171 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/__init__.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .features_operations import FeaturesOperations + +__all__ = [ + 'FeaturesOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/features_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/features_operations.py new file mode 100644 index 000000000000..9e67c6673cea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/operations/features_operations.py @@ -0,0 +1,298 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class FeaturesOperations(object): + """FeaturesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2015-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-12-01" + + self.config = config + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the preview features that are available through AFEC for the + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FeatureResult + :rtype: + ~azure.mgmt.resource.features.v2015_12_01.models.FeatureResultPaged[~azure.mgmt.resource.features.v2015_12_01.models.FeatureResult] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.FeatureResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.FeatureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Features/features'} + + def list( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Gets all the preview features in a provider namespace that are + available through AFEC for the subscription. + + :param resource_provider_namespace: The namespace of the resource + provider for getting features. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of FeatureResult + :rtype: + ~azure.mgmt.resource.features.v2015_12_01.models.FeatureResultPaged[~azure.mgmt.resource.features.v2015_12_01.models.FeatureResult] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.FeatureResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.FeatureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features'} + + def get( + self, resource_provider_namespace, feature_name, custom_headers=None, raw=False, **operation_config): + """Gets the preview feature with the specified name. + + :param resource_provider_namespace: The resource provider namespace + for the feature. + :type resource_provider_namespace: str + :param feature_name: The name of the feature to get. + :type feature_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FeatureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.features.v2015_12_01.models.FeatureResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'featureName': self._serialize.url("feature_name", feature_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FeatureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}'} + + def register( + self, resource_provider_namespace, feature_name, custom_headers=None, raw=False, **operation_config): + """Registers the preview feature for the subscription. + + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param feature_name: The name of the feature to register. + :type feature_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: FeatureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.features.v2015_12_01.models.FeatureResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'featureName': self._serialize.url("feature_name", feature_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('FeatureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/version.py new file mode 100644 index 000000000000..1a7a157bd34d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/features/v2015_12_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2015-12-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/__init__.py new file mode 100644 index 000000000000..156d7d871db7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .management_link_client import ManagementLinkClient +from .version import VERSION + +__all__ = ['ManagementLinkClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/management_link_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/management_link_client.py new file mode 100644 index 000000000000..398d9f9d208d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/management_link_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.resource_links_operations import ResourceLinksOperations +from . import models + + +class ManagementLinkClientConfiguration(AzureConfiguration): + """Configuration for ManagementLinkClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ManagementLinkClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ManagementLinkClient(SDKClient): + """Azure resources can be linked together to form logical relationships. You can establish links between resources belonging to different resource groups. However, all the linked resources must belong to the same subscription. Each resource can be linked to 50 other resources. If any of the linked resources are deleted or moved, the link owner must clean up the remaining link. + + :ivar config: Configuration for client. + :vartype config: ManagementLinkClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.resource.links.v2016_09_01.operations.Operations + :ivar resource_links: ResourceLinks operations + :vartype resource_links: azure.mgmt.resource.links.v2016_09_01.operations.ResourceLinksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ManagementLinkClientConfiguration(credentials, subscription_id, base_url) + super(ManagementLinkClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-09-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_links = ResourceLinksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/__init__.py new file mode 100644 index 000000000000..c7f4a210c5cf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/__init__.py @@ -0,0 +1,39 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .resource_link_filter_py3 import ResourceLinkFilter + from .resource_link_properties_py3 import ResourceLinkProperties + from .resource_link_py3 import ResourceLink + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .resource_link_filter import ResourceLinkFilter + from .resource_link_properties import ResourceLinkProperties + from .resource_link import ResourceLink + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .resource_link_paged import ResourceLinkPaged +from .management_link_client_enums import ( + Filter, +) + +__all__ = [ + 'ResourceLinkFilter', + 'ResourceLinkProperties', + 'ResourceLink', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'ResourceLinkPaged', + 'Filter', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/management_link_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/management_link_client_enums.py new file mode 100644 index 000000000000..79b4af6dde2e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/management_link_client_enums.py @@ -0,0 +1,17 @@ +# 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 enum import Enum + + +class Filter(str, Enum): + + at_scope = "atScope()" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation.py new file mode 100644 index 000000000000..6f99ca831b0b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.links.v2016_09_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display.py new file mode 100644 index 000000000000..98e3ef7e561c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display_py3.py new file mode 100644 index 000000000000..9579860dfd81 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_display_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_paged.py new file mode 100644 index 000000000000..21d8ee08cc45 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_py3.py new file mode 100644 index 000000000000..a81d9586d98d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.links.v2016_09_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link.py new file mode 100644 index 000000000000..b0a65c24ac61 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class ResourceLink(Model): + """The resource link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the resource link. + :vartype id: str + :ivar name: The name of the resource link. + :vartype name: str + :ivar type: The resource link object. + :vartype type: object + :param properties: Properties for resource link. + :type properties: + ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLinkProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': 'ResourceLinkProperties'}, + } + + def __init__(self, **kwargs): + super(ResourceLink, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter.py new file mode 100644 index 000000000000..0af23f0e704b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class ResourceLinkFilter(Model): + """Resource link filter. + + All required parameters must be populated in order to send to Azure. + + :param target_id: Required. The ID of the target resource. + :type target_id: str + """ + + _validation = { + 'target_id': {'required': True}, + } + + _attribute_map = { + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceLinkFilter, self).__init__(**kwargs) + self.target_id = kwargs.get('target_id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter_py3.py new file mode 100644 index 000000000000..b74ebd346c03 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_filter_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class ResourceLinkFilter(Model): + """Resource link filter. + + All required parameters must be populated in order to send to Azure. + + :param target_id: Required. The ID of the target resource. + :type target_id: str + """ + + _validation = { + 'target_id': {'required': True}, + } + + _attribute_map = { + 'target_id': {'key': 'targetId', 'type': 'str'}, + } + + def __init__(self, *, target_id: str, **kwargs) -> None: + super(ResourceLinkFilter, self).__init__(**kwargs) + self.target_id = target_id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_paged.py new file mode 100644 index 000000000000..701821cb0495 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceLinkPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceLink ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceLink]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceLinkPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties.py new file mode 100644 index 000000000000..a97018ee74ab --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class ResourceLinkProperties(Model): + """The resource link properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar source_id: The fully qualified ID of the source resource in the + link. + :vartype source_id: str + :param target_id: Required. The fully qualified ID of the target resource + in the link. + :type target_id: str + :param notes: Notes about the resource link. + :type notes: str + """ + + _validation = { + 'source_id': {'readonly': True}, + 'target_id': {'required': True}, + } + + _attribute_map = { + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceLinkProperties, self).__init__(**kwargs) + self.source_id = None + self.target_id = kwargs.get('target_id', None) + self.notes = kwargs.get('notes', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties_py3.py new file mode 100644 index 000000000000..4540e6ca4d07 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_properties_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class ResourceLinkProperties(Model): + """The resource link properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar source_id: The fully qualified ID of the source resource in the + link. + :vartype source_id: str + :param target_id: Required. The fully qualified ID of the target resource + in the link. + :type target_id: str + :param notes: Notes about the resource link. + :type notes: str + """ + + _validation = { + 'source_id': {'readonly': True}, + 'target_id': {'required': True}, + } + + _attribute_map = { + 'source_id': {'key': 'sourceId', 'type': 'str'}, + 'target_id': {'key': 'targetId', 'type': 'str'}, + 'notes': {'key': 'notes', 'type': 'str'}, + } + + def __init__(self, *, target_id: str, notes: str=None, **kwargs) -> None: + super(ResourceLinkProperties, self).__init__(**kwargs) + self.source_id = None + self.target_id = target_id + self.notes = notes diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_py3.py new file mode 100644 index 000000000000..f4fa3544608c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/models/resource_link_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class ResourceLink(Model): + """The resource link. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the resource link. + :vartype id: str + :ivar name: The name of the resource link. + :vartype name: str + :ivar type: The resource link object. + :vartype type: object + :param properties: Properties for resource link. + :type properties: + ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLinkProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'object'}, + 'properties': {'key': 'properties', 'type': 'ResourceLinkProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(ResourceLink, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/__init__.py new file mode 100644 index 000000000000..9fd0cda7f4c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 import Operations +from .resource_links_operations import ResourceLinksOperations + +__all__ = [ + 'Operations', + 'ResourceLinksOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/operations.py new file mode 100644 index 000000000000..e85ad6f21fe9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Resources REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.links.v2016_09_01.models.OperationPaged[~azure.mgmt.resource.links.v2016_09_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Resources/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/resource_links_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/resource_links_operations.py new file mode 100644 index 000000000000..395f8a8a6572 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/operations/resource_links_operations.py @@ -0,0 +1,369 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ResourceLinksOperations(object): + """ResourceLinksOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def delete( + self, link_id, custom_headers=None, raw=False, **operation_config): + """Deletes a resource link with the specified ID. + + :param link_id: The fully qualified ID of the resource link. Use the + format, + /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}. + For example, + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink + :type link_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'linkId': self._serialize.url("link_id", link_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/{linkId}'} + + def create_or_update( + self, link_id, properties=None, custom_headers=None, raw=False, **operation_config): + """Creates or updates a resource link between the specified resources. + + :param link_id: The fully qualified ID of the resource link. Use the + format, + /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}. + For example, + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink + :type link_id: str + :param properties: Properties for resource link. + :type properties: + ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLinkProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ResourceLink(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'linkId': self._serialize.url("link_id", link_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceLink') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceLink', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/{linkId}'} + + def get( + self, link_id, custom_headers=None, raw=False, **operation_config): + """Gets a resource link with the specified ID. + + :param link_id: The fully qualified Id of the resource link. For + example, + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink + :type link_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceLink or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLink or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'linkId': self._serialize.url("link_id", link_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceLink', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{linkId}'} + + def list_at_subscription( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the linked resources for the subscription. + + :param filter: The filter to apply on the list resource links + operation. The supported filter for list resource links is targetId. + For example, $filter=targetId eq {value} + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceLink + :rtype: + ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLinkPaged[~azure.mgmt.resource.links.v2016_09_01.models.ResourceLink] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceLinkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links'} + + def list_at_source_scope( + self, scope, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of resource links at and below the specified source scope. + + :param scope: The fully qualified ID of the scope for getting the + resource links. For example, to list resource links at and under a + resource group, set the scope to + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup. + :type scope: str + :param filter: The filter to apply when getting resource links. To get + links only at the specified scope (not below the scope), use + Filter.atScope(). + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceLink + :rtype: + ~azure.mgmt.resource.links.v2016_09_01.models.ResourceLinkPaged[~azure.mgmt.resource.links.v2016_09_01.models.ResourceLink] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_source_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceLinkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceLinkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_source_scope.metadata = {'url': '/{scope}/providers/Microsoft.Resources/links'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/version.py new file mode 100644 index 000000000000..e63d4addb017 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/links/v2016_09_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-09-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/__init__.py new file mode 100644 index 000000000000..38bd47041c44 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .management_lock_client import ManagementLockClient +from .version import VERSION + +__all__ = ['ManagementLockClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/management_lock_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/management_lock_client.py new file mode 100644 index 000000000000..2b481a5bb2c3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/management_lock_client.py @@ -0,0 +1,81 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.management_locks_operations import ManagementLocksOperations +from . import models + + +class ManagementLockClientConfiguration(AzureConfiguration): + """Configuration for ManagementLockClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ManagementLockClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ManagementLockClient(SDKClient): + """ManagementLockClient + + :ivar config: Configuration for client. + :vartype config: ManagementLockClientConfiguration + + :ivar management_locks: ManagementLocks operations + :vartype management_locks: azure.mgmt.resource.locks.v2015_01_01.operations.ManagementLocksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ManagementLockClientConfiguration(credentials, subscription_id, base_url) + super(ManagementLockClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2015-01-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.management_locks = ManagementLocksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/__init__.py new file mode 100644 index 000000000000..476ef2c36ec1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/__init__.py @@ -0,0 +1,25 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .management_lock_object_py3 import ManagementLockObject +except (SyntaxError, ImportError): + from .management_lock_object import ManagementLockObject +from .management_lock_object_paged import ManagementLockObjectPaged +from .management_lock_client_enums import ( + LockLevel, +) + +__all__ = [ + 'ManagementLockObject', + 'ManagementLockObjectPaged', + 'LockLevel', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_client_enums.py new file mode 100644 index 000000000000..296c12a6a3e3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_client_enums.py @@ -0,0 +1,19 @@ +# 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 enum import Enum + + +class LockLevel(str, Enum): + + not_specified = "NotSpecified" + can_not_delete = "CanNotDelete" + read_only = "ReadOnly" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object.py new file mode 100644 index 000000000000..16e83fa3c348 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object.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 msrest.serialization import Model + + +class ManagementLockObject(Model): + """Management lock information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param level: The lock level of the management lock. Possible values + include: 'NotSpecified', 'CanNotDelete', 'ReadOnly' + :type level: str or + ~azure.mgmt.resource.locks.v2015_01_01.models.LockLevel + :param notes: The notes of the management lock. + :type notes: str + :ivar id: The Id of the lock. + :vartype id: str + :ivar type: The type of the lock. + :vartype type: str + :param name: The name of the lock. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'level': {'key': 'properties.level', 'type': 'str'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagementLockObject, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.notes = kwargs.get('notes', None) + self.id = None + self.type = None + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_paged.py new file mode 100644 index 000000000000..e8d1073f92f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ManagementLockObjectPaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagementLockObject ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagementLockObject]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagementLockObjectPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_py3.py new file mode 100644 index 000000000000..b4bf4f8016b3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/models/management_lock_object_py3.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 msrest.serialization import Model + + +class ManagementLockObject(Model): + """Management lock information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param level: The lock level of the management lock. Possible values + include: 'NotSpecified', 'CanNotDelete', 'ReadOnly' + :type level: str or + ~azure.mgmt.resource.locks.v2015_01_01.models.LockLevel + :param notes: The notes of the management lock. + :type notes: str + :ivar id: The Id of the lock. + :vartype id: str + :ivar type: The type of the lock. + :vartype type: str + :param name: The name of the lock. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'level': {'key': 'properties.level', 'type': 'str'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, level=None, notes: str=None, name: str=None, **kwargs) -> None: + super(ManagementLockObject, self).__init__(**kwargs) + self.level = level + self.notes = notes + self.id = None + self.type = None + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/__init__.py new file mode 100644 index 000000000000..2bffd473ac4b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/__init__.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .management_locks_operations import ManagementLocksOperations + +__all__ = [ + 'ManagementLocksOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/management_locks_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/management_locks_operations.py new file mode 100644 index 000000000000..588df1adf9c0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/operations/management_locks_operations.py @@ -0,0 +1,779 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ManagementLocksOperations(object): + """ManagementLocksOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2015-01-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-01-01" + + self.config = config + + def create_or_update_at_resource_group_level( + self, resource_group_name, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update a management lock at the resource group level. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param lock_name: The lock name. + :type lock_name: str + :param parameters: The management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_resource_group_level( + self, resource_group_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes the management lock of a resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get_at_resource_group_level( + self, resource_group_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Gets a management lock at the resource group level. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param lock_name: The lock name. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def create_or_update_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update a management lock at the resource level or any level + below resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param lock_name: The name of lock. + :type lock_name: str + :param parameters: Create or update management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes the management lock of a resource or any level below resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def create_or_update_at_subscription_level( + self, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update a management lock at the subscription level. + + :param lock_name: The name of lock. + :type lock_name: str + :param parameters: The management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_subscription_level.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_subscription_level( + self, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes the management lock of a subscription. + + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_subscription_level.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get( + self, lock_name, custom_headers=None, raw=False, **operation_config): + """Gets the management lock of a scope. + + :param lock_name: Name of the management lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def list_at_resource_group_level( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks of a resource group. + + :param resource_group_name: Resource group name. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks'} + + def list_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks of a resource or any level below + resource. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks'} + + def list_at_subscription_level( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks of a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2015_01_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_subscription_level.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/version.py new file mode 100644 index 000000000000..14950bff1ccb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2015_01_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2015-01-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/__init__.py new file mode 100644 index 000000000000..38bd47041c44 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .management_lock_client import ManagementLockClient +from .version import VERSION + +__all__ = ['ManagementLockClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/management_lock_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/management_lock_client.py new file mode 100644 index 000000000000..5489aa865263 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/management_lock_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.authorization_operations import AuthorizationOperations +from .operations.management_locks_operations import ManagementLocksOperations +from . import models + + +class ManagementLockClientConfiguration(AzureConfiguration): + """Configuration for ManagementLockClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ManagementLockClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ManagementLockClient(SDKClient): + """Azure resources can be locked to prevent other users in your organization from deleting or modifying resources. + + :ivar config: Configuration for client. + :vartype config: ManagementLockClientConfiguration + + :ivar authorization_operations: AuthorizationOperations operations + :vartype authorization_operations: azure.mgmt.resource.locks.v2016_09_01.operations.AuthorizationOperations + :ivar management_locks: ManagementLocks operations + :vartype management_locks: azure.mgmt.resource.locks.v2016_09_01.operations.ManagementLocksOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ManagementLockClientConfiguration(credentials, subscription_id, base_url) + super(ManagementLockClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-09-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.authorization_operations = AuthorizationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.management_locks = ManagementLocksOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/__init__.py new file mode 100644 index 000000000000..001c54a2cfb0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/__init__.py @@ -0,0 +1,36 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .management_lock_owner_py3 import ManagementLockOwner + from .management_lock_object_py3 import ManagementLockObject + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .management_lock_owner import ManagementLockOwner + from .management_lock_object import ManagementLockObject + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .management_lock_object_paged import ManagementLockObjectPaged +from .management_lock_client_enums import ( + LockLevel, +) + +__all__ = [ + 'ManagementLockOwner', + 'ManagementLockObject', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'ManagementLockObjectPaged', + 'LockLevel', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_client_enums.py new file mode 100644 index 000000000000..296c12a6a3e3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_client_enums.py @@ -0,0 +1,19 @@ +# 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 enum import Enum + + +class LockLevel(str, Enum): + + not_specified = "NotSpecified" + can_not_delete = "CanNotDelete" + read_only = "ReadOnly" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object.py new file mode 100644 index 000000000000..2b29b5b02365 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object.py @@ -0,0 +1,67 @@ +# 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 msrest.serialization import Model + + +class ManagementLockObject(Model): + """The lock information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param level: Required. The level of the lock. Possible values are: + NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users + are able to read and modify the resources, but not delete. ReadOnly means + authorized users can only read from a resource, but they can't modify or + delete it. Possible values include: 'NotSpecified', 'CanNotDelete', + 'ReadOnly' + :type level: str or + ~azure.mgmt.resource.locks.v2016_09_01.models.LockLevel + :param notes: Notes about the lock. Maximum of 512 characters. + :type notes: str + :param owners: The owners of the lock. + :type owners: + list[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockOwner] + :ivar id: The resource ID of the lock. + :vartype id: str + :ivar type: The resource type of the lock - Microsoft.Authorization/locks. + :vartype type: str + :ivar name: The name of the lock. + :vartype name: str + """ + + _validation = { + 'level': {'required': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'level': {'key': 'properties.level', 'type': 'str'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'owners': {'key': 'properties.owners', 'type': '[ManagementLockOwner]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagementLockObject, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.notes = kwargs.get('notes', None) + self.owners = kwargs.get('owners', None) + self.id = None + self.type = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_paged.py new file mode 100644 index 000000000000..33b8c2b1186c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ManagementLockObjectPaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagementLockObject ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagementLockObject]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagementLockObjectPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_py3.py new file mode 100644 index 000000000000..92a13bb73229 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_object_py3.py @@ -0,0 +1,67 @@ +# 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 msrest.serialization import Model + + +class ManagementLockObject(Model): + """The lock information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param level: Required. The level of the lock. Possible values are: + NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users + are able to read and modify the resources, but not delete. ReadOnly means + authorized users can only read from a resource, but they can't modify or + delete it. Possible values include: 'NotSpecified', 'CanNotDelete', + 'ReadOnly' + :type level: str or + ~azure.mgmt.resource.locks.v2016_09_01.models.LockLevel + :param notes: Notes about the lock. Maximum of 512 characters. + :type notes: str + :param owners: The owners of the lock. + :type owners: + list[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockOwner] + :ivar id: The resource ID of the lock. + :vartype id: str + :ivar type: The resource type of the lock - Microsoft.Authorization/locks. + :vartype type: str + :ivar name: The name of the lock. + :vartype name: str + """ + + _validation = { + 'level': {'required': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'level': {'key': 'properties.level', 'type': 'str'}, + 'notes': {'key': 'properties.notes', 'type': 'str'}, + 'owners': {'key': 'properties.owners', 'type': '[ManagementLockOwner]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, level, notes: str=None, owners=None, **kwargs) -> None: + super(ManagementLockObject, self).__init__(**kwargs) + self.level = level + self.notes = notes + self.owners = owners + self.id = None + self.type = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner.py new file mode 100644 index 000000000000..370b52740c4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class ManagementLockOwner(Model): + """Lock owner properties. + + :param application_id: The application ID of the lock owner. + :type application_id: str + """ + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagementLockOwner, self).__init__(**kwargs) + self.application_id = kwargs.get('application_id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner_py3.py new file mode 100644 index 000000000000..130b54fefc52 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/management_lock_owner_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class ManagementLockOwner(Model): + """Lock owner properties. + + :param application_id: The application ID of the lock owner. + :type application_id: str + """ + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + } + + def __init__(self, *, application_id: str=None, **kwargs) -> None: + super(ManagementLockOwner, self).__init__(**kwargs) + self.application_id = application_id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation.py new file mode 100644 index 000000000000..a4cb256669d1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Authorization operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.locks.v2016_09_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display.py new file mode 100644 index 000000000000..7cf0ae94ff01 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Authorization + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display_py3.py new file mode 100644 index 000000000000..ae5c37f7298c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_display_py3.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Authorization + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_paged.py new file mode 100644 index 000000000000..5c9933f1f6ad --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_py3.py new file mode 100644 index 000000000000..275cb1fe02c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Authorization operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.locks.v2016_09_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/__init__.py new file mode 100644 index 000000000000..89a0150a09b7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 .authorization_operations import AuthorizationOperations +from .management_locks_operations import ManagementLocksOperations + +__all__ = [ + 'AuthorizationOperations', + 'ManagementLocksOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/authorization_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/authorization_operations.py new file mode 100644 index 000000000000..e5c8f3d65d55 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/authorization_operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AuthorizationOperations(object): + """AuthorizationOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Authorization REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.OperationPaged[~azure.mgmt.resource.locks.v2016_09_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Authorization/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/management_locks_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/management_locks_operations.py new file mode 100644 index 000000000000..c5ac40d4b4cb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/operations/management_locks_operations.py @@ -0,0 +1,1171 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ManagementLocksOperations(object): + """ManagementLocksOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def create_or_update_at_resource_group_level( + self, resource_group_name, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a management lock at the resource group level. + + When you apply a lock at a parent scope, all child resources inherit + the same lock. To create management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param resource_group_name: The name of the resource group to lock. + :type resource_group_name: str + :param lock_name: The lock name. The lock name can be a maximum of 260 + characters. It cannot contain <, > %, &, :, \\, ?, /, or any control + characters. + :type lock_name: str + :param parameters: The management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_resource_group_level( + self, resource_group_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes a management lock at the resource group level. + + To delete management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param resource_group_name: The name of the resource group containing + the lock. + :type resource_group_name: str + :param lock_name: The name of lock to delete. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get_at_resource_group_level( + self, resource_group_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Gets a management lock at the resource group level. + + :param resource_group_name: The name of the locked resource group. + :type resource_group_name: str + :param lock_name: The name of the lock to get. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def create_or_update_by_scope( + self, scope, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create or update a management lock by scope. + + :param scope: The scope for the lock. When providing a scope for the + assignment, use '/subscriptions/{subscriptionId}' for subscriptions, + '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' + for resource groups, and + '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' + for resources. + :type scope: str + :param lock_name: The name of lock. + :type lock_name: str + :param parameters: Create or update management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_by_scope( + self, scope, lock_name, custom_headers=None, raw=False, **operation_config): + """Delete a management lock by scope. + + :param scope: The scope for the lock. + :type scope: str + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get_by_scope( + self, scope, lock_name, custom_headers=None, raw=False, **operation_config): + """Get a management lock by scope. + + :param scope: The scope for the lock. + :type scope: str + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/locks/{lockName}'} + + def create_or_update_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a management lock at the resource level or any level + below the resource. + + When you apply a lock at a parent scope, all child resources inherit + the same lock. To create management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param resource_group_name: The name of the resource group containing + the resource to lock. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider namespace of + the resource to lock. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to lock. + :type resource_type: str + :param resource_name: The name of the resource to lock. + :type resource_name: str + :param lock_name: The name of lock. The lock name can be a maximum of + 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any + control characters. + :type lock_name: str + :param parameters: Parameters for creating or updating a management + lock. + :type parameters: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes the management lock of a resource or any level below the + resource. + + To delete management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param resource_group_name: The name of the resource group containing + the resource with the lock to delete. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider namespace of + the resource with the lock to delete. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource with the lock + to delete. + :type resource_type: str + :param resource_name: The name of the resource with the lock to + delete. + :type resource_name: str + :param lock_name: The name of the lock to delete. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, lock_name, custom_headers=None, raw=False, **operation_config): + """Get the management lock of a resource or any level below resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: An extra path parameter needed in some + services, like SQL Databases. + :type parent_resource_path: str + :param resource_type: The type of the resource. + :type resource_type: str + :param resource_name: The name of the resource. + :type resource_name: str + :param lock_name: The name of lock. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}'} + + def create_or_update_at_subscription_level( + self, lock_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a management lock at the subscription level. + + When you apply a lock at a parent scope, all child resources inherit + the same lock. To create management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param lock_name: The name of lock. The lock name can be a maximum of + 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any + control characters. + :type lock_name: str + :param parameters: The management lock parameters. + :type parameters: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_subscription_level.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ManagementLockObject') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def delete_at_subscription_level( + self, lock_name, custom_headers=None, raw=False, **operation_config): + """Deletes the management lock at the subscription level. + + To delete management locks, you must have access to + Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. + Of the built-in roles, only Owner and User Access Administrator are + granted those actions. + + :param lock_name: The name of lock to delete. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_subscription_level.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def get_at_subscription_level( + self, lock_name, custom_headers=None, raw=False, **operation_config): + """Gets a management lock at the subscription level. + + :param lock_name: The name of the lock to get. + :type lock_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ManagementLockObject or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_subscription_level.metadata['url'] + path_format_arguments = { + 'lockName': self._serialize.url("lock_name", lock_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ManagementLockObject', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}'} + + def list_at_resource_group_level( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks for a resource group. + + :param resource_group_name: The name of the resource group containing + the locks to get. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_resource_group_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_resource_group_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks'} + + def list_at_resource_level( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks for a resource or any level below + resource. + + :param resource_group_name: The name of the resource group containing + the locked resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the locked resource. + :type resource_type: str + :param resource_name: The name of the locked resource. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_resource_level.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_resource_level.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks'} + + def list_at_subscription_level( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_subscription_level.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_subscription_level.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks'} + + def list_by_scope( + self, scope, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the management locks for a scope. + + :param scope: The scope for the lock. When providing a scope for the + assignment, use '/subscriptions/{subscriptionId}' for subscriptions, + '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' + for resource groups, and + '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' + for resources. + :type scope: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ManagementLockObject + :rtype: + ~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObjectPaged[~azure.mgmt.resource.locks.v2016_09_01.models.ManagementLockObject] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_scope.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ManagementLockObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_scope.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/locks'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/version.py new file mode 100644 index 000000000000..e63d4addb017 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/locks/v2016_09_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-09-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/__init__.py new file mode 100644 index 000000000000..3eda50756f11 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/__init__.py @@ -0,0 +1,18 @@ +# 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 .application_client import ApplicationClient +from .version import VERSION + +__all__ = ['ApplicationClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/application_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/application_client.py new file mode 100644 index 000000000000..93562e98da94 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/application_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.applications_operations import ApplicationsOperations +from .operations.application_definitions_operations import ApplicationDefinitionsOperations +from . import models + + +class ApplicationClientConfiguration(AzureConfiguration): + """Configuration for ApplicationClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ApplicationClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ApplicationClient(SDKClient): + """ARM applications + + :ivar config: Configuration for client. + :vartype config: ApplicationClientConfiguration + + :ivar applications: Applications operations + :vartype applications: azure.mgmt.resource.managedapplications.operations.ApplicationsOperations + :ivar application_definitions: ApplicationDefinitions operations + :vartype application_definitions: azure.mgmt.resource.managedapplications.operations.ApplicationDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ApplicationClientConfiguration(credentials, subscription_id, base_url) + super(ApplicationClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2017-09-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.applications = ApplicationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_definitions = ApplicationDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/__init__.py new file mode 100644 index 000000000000..4cb32a1f8c85 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/__init__.py @@ -0,0 +1,66 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .plan_py3 import Plan + from .application_py3 import Application + from .plan_patchable_py3 import PlanPatchable + from .application_patchable_py3 import ApplicationPatchable + from .application_provider_authorization_py3 import ApplicationProviderAuthorization + from .application_artifact_py3 import ApplicationArtifact + from .application_definition_py3 import ApplicationDefinition + from .sku_py3 import Sku + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_py3 import Resource + from .error_response_py3 import ErrorResponse, ErrorResponseException +except (SyntaxError, ImportError): + from .plan import Plan + from .application import Application + from .plan_patchable import PlanPatchable + from .application_patchable import ApplicationPatchable + from .application_provider_authorization import ApplicationProviderAuthorization + from .application_artifact import ApplicationArtifact + from .application_definition import ApplicationDefinition + from .sku import Sku + from .identity import Identity + from .generic_resource import GenericResource + from .resource import Resource + from .error_response import ErrorResponse, ErrorResponseException +from .application_paged import ApplicationPaged +from .application_definition_paged import ApplicationDefinitionPaged +from .application_client_enums import ( + ProvisioningState, + ApplicationLockLevel, + ApplicationArtifactType, + ResourceIdentityType, +) + +__all__ = [ + 'Plan', + 'Application', + 'PlanPatchable', + 'ApplicationPatchable', + 'ApplicationProviderAuthorization', + 'ApplicationArtifact', + 'ApplicationDefinition', + 'Sku', + 'Identity', + 'GenericResource', + 'Resource', + 'ErrorResponse', 'ErrorResponseException', + 'ApplicationPaged', + 'ApplicationDefinitionPaged', + 'ProvisioningState', + 'ApplicationLockLevel', + 'ApplicationArtifactType', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application.py new file mode 100644 index 000000000000..ff019c504316 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application.py @@ -0,0 +1,104 @@ +# 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 .generic_resource import GenericResource + + +class Application(GenericResource): + """Information about managed application. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param managed_resource_group_id: Required. The managed resource group Id. + :type managed_resource_group_id: str + :param application_definition_id: The fully qualified path of managed + application definition Id. + :type application_definition_id: str + :param parameters: Name and value pairs that define the managed + application parameters. It can be a JObject or a well formed JSON string. + :type parameters: object + :ivar outputs: Name and value pairs that define the managed application + outputs. + :vartype outputs: object + :ivar provisioning_state: The managed application provisioning state. + Possible values include: 'Accepted', 'Running', 'Ready', 'Creating', + 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', + 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :param ui_definition_uri: The blob URI where the UI definition file is + located. + :type ui_definition_uri: str + :param plan: The plan information. + :type plan: ~azure.mgmt.resource.managedapplications.models.Plan + :param kind: Required. The kind of the managed application. Allowed values + are MarketPlace and ServiceCatalog. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'managed_resource_group_id': {'required': True}, + 'outputs': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'kind': {'required': True, 'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, + 'application_definition_id': {'key': 'properties.applicationDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Application, self).__init__(**kwargs) + self.managed_resource_group_id = kwargs.get('managed_resource_group_id', None) + self.application_definition_id = kwargs.get('application_definition_id', None) + self.parameters = kwargs.get('parameters', None) + self.outputs = None + self.provisioning_state = None + self.ui_definition_uri = kwargs.get('ui_definition_uri', None) + self.plan = kwargs.get('plan', None) + self.kind = kwargs.get('kind', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact.py new file mode 100644 index 000000000000..6caa8c256b27 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact.py @@ -0,0 +1,38 @@ +# 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 msrest.serialization import Model + + +class ApplicationArtifact(Model): + """Managed application artifact. + + :param name: The managed application artifact name. + :type name: str + :param uri: The managed application artifact blob uri. + :type uri: str + :param type: The managed application artifact type. Possible values + include: 'Template', 'Custom' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.ApplicationArtifactType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ApplicationArtifactType'}, + } + + def __init__(self, **kwargs): + super(ApplicationArtifact, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.uri = kwargs.get('uri', None) + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact_py3.py new file mode 100644 index 000000000000..cac6dc7961ae --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_artifact_py3.py @@ -0,0 +1,38 @@ +# 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 msrest.serialization import Model + + +class ApplicationArtifact(Model): + """Managed application artifact. + + :param name: The managed application artifact name. + :type name: str + :param uri: The managed application artifact blob uri. + :type uri: str + :param type: The managed application artifact type. Possible values + include: 'Template', 'Custom' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.ApplicationArtifactType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ApplicationArtifactType'}, + } + + def __init__(self, *, name: str=None, uri: str=None, type=None, **kwargs) -> None: + super(ApplicationArtifact, self).__init__(**kwargs) + self.name = name + self.uri = uri + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details.py new file mode 100644 index 000000000000..c14e27cfaa95 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class ApplicationClientDetails(Model): + """The application client details to track the entity creating/updating the + managed app resource. + + :param oid: The client Oid. + :type oid: str + :param puid: The client Puid + :type puid: str + :param application_id: The client application Id. + :type application_id: str + """ + + _attribute_map = { + 'oid': {'key': 'Oid', 'type': 'str'}, + 'puid': {'key': 'Puid', 'type': 'str'}, + 'application_id': {'key': 'ApplicationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationClientDetails, self).__init__(**kwargs) + self.oid = kwargs.get('oid', None) + self.puid = kwargs.get('puid', None) + self.application_id = kwargs.get('application_id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details_py3.py new file mode 100644 index 000000000000..17e5214005d8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_details_py3.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class ApplicationClientDetails(Model): + """The application client details to track the entity creating/updating the + managed app resource. + + :param oid: The client Oid. + :type oid: str + :param puid: The client Puid + :type puid: str + :param application_id: The client application Id. + :type application_id: str + """ + + _attribute_map = { + 'oid': {'key': 'Oid', 'type': 'str'}, + 'puid': {'key': 'Puid', 'type': 'str'}, + 'application_id': {'key': 'ApplicationId', 'type': 'str'}, + } + + def __init__(self, *, oid: str=None, puid: str=None, application_id: str=None, **kwargs) -> None: + super(ApplicationClientDetails, self).__init__(**kwargs) + self.oid = oid + self.puid = puid + self.application_id = application_id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_enums.py new file mode 100644 index 000000000000..3f80fb3f4566 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_client_enums.py @@ -0,0 +1,45 @@ +# 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 enum import Enum + + +class ProvisioningState(str, Enum): + + accepted = "Accepted" + running = "Running" + ready = "Ready" + creating = "Creating" + created = "Created" + deleting = "Deleting" + deleted = "Deleted" + canceled = "Canceled" + failed = "Failed" + succeeded = "Succeeded" + updating = "Updating" + + +class ApplicationLockLevel(str, Enum): + + can_not_delete = "CanNotDelete" + read_only = "ReadOnly" + none = "None" + + +class ApplicationArtifactType(str, Enum): + + template = "Template" + custom = "Custom" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition.py new file mode 100644 index 000000000000..140082a806c6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition.py @@ -0,0 +1,110 @@ +# 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 .generic_resource import GenericResource + + +class ApplicationDefinition(GenericResource): + """Information about managed application definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param lock_level: Required. The managed application lock level. Possible + values include: 'CanNotDelete', 'ReadOnly', 'None' + :type lock_level: str or + ~azure.mgmt.resource.managedapplications.models.ApplicationLockLevel + :param display_name: The managed application definition display name. + :type display_name: str + :param is_enabled: A value indicating whether the package is enabled or + not. + :type is_enabled: str + :param authorizations: Required. The managed application provider + authorizations. + :type authorizations: + list[~azure.mgmt.resource.managedapplications.models.ApplicationProviderAuthorization] + :param artifacts: The collection of managed application artifacts. The + portal will use the files specified as artifacts to construct the user + experience of creating a managed application from a managed application + definition. + :type artifacts: + list[~azure.mgmt.resource.managedapplications.models.ApplicationArtifact] + :param description: The managed application definition description. + :type description: str + :param package_file_uri: The managed application definition package file + Uri. Use this element + :type package_file_uri: str + :param main_template: The inline main template json which has resources to + be provisioned. It can be a JObject or well-formed JSON string. + :type main_template: object + :param create_ui_definition: The createUiDefinition json for the backing + template with Microsoft.Solutions/applications resource. It can be a + JObject or well-formed JSON string. + :type create_ui_definition: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'lock_level': {'required': True}, + 'authorizations': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'lock_level': {'key': 'properties.lockLevel', 'type': 'ApplicationLockLevel'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ApplicationProviderAuthorization]'}, + 'artifacts': {'key': 'properties.artifacts', 'type': '[ApplicationArtifact]'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'package_file_uri': {'key': 'properties.packageFileUri', 'type': 'str'}, + 'main_template': {'key': 'properties.mainTemplate', 'type': 'object'}, + 'create_ui_definition': {'key': 'properties.createUiDefinition', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(ApplicationDefinition, self).__init__(**kwargs) + self.lock_level = kwargs.get('lock_level', None) + self.display_name = kwargs.get('display_name', None) + self.is_enabled = kwargs.get('is_enabled', None) + self.authorizations = kwargs.get('authorizations', None) + self.artifacts = kwargs.get('artifacts', None) + self.description = kwargs.get('description', None) + self.package_file_uri = kwargs.get('package_file_uri', None) + self.main_template = kwargs.get('main_template', None) + self.create_ui_definition = kwargs.get('create_ui_definition', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_paged.py new file mode 100644 index 000000000000..1d976e9beff0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ApplicationDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_py3.py new file mode 100644 index 000000000000..c3f1237a8f16 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_definition_py3.py @@ -0,0 +1,110 @@ +# 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 .generic_resource_py3 import GenericResource + + +class ApplicationDefinition(GenericResource): + """Information about managed application definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param lock_level: Required. The managed application lock level. Possible + values include: 'CanNotDelete', 'ReadOnly', 'None' + :type lock_level: str or + ~azure.mgmt.resource.managedapplications.models.ApplicationLockLevel + :param display_name: The managed application definition display name. + :type display_name: str + :param is_enabled: A value indicating whether the package is enabled or + not. + :type is_enabled: str + :param authorizations: Required. The managed application provider + authorizations. + :type authorizations: + list[~azure.mgmt.resource.managedapplications.models.ApplicationProviderAuthorization] + :param artifacts: The collection of managed application artifacts. The + portal will use the files specified as artifacts to construct the user + experience of creating a managed application from a managed application + definition. + :type artifacts: + list[~azure.mgmt.resource.managedapplications.models.ApplicationArtifact] + :param description: The managed application definition description. + :type description: str + :param package_file_uri: The managed application definition package file + Uri. Use this element + :type package_file_uri: str + :param main_template: The inline main template json which has resources to + be provisioned. It can be a JObject or well-formed JSON string. + :type main_template: object + :param create_ui_definition: The createUiDefinition json for the backing + template with Microsoft.Solutions/applications resource. It can be a + JObject or well-formed JSON string. + :type create_ui_definition: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'lock_level': {'required': True}, + 'authorizations': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'lock_level': {'key': 'properties.lockLevel', 'type': 'ApplicationLockLevel'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ApplicationProviderAuthorization]'}, + 'artifacts': {'key': 'properties.artifacts', 'type': '[ApplicationArtifact]'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'package_file_uri': {'key': 'properties.packageFileUri', 'type': 'str'}, + 'main_template': {'key': 'properties.mainTemplate', 'type': 'object'}, + 'create_ui_definition': {'key': 'properties.createUiDefinition', 'type': 'object'}, + } + + def __init__(self, *, lock_level, authorizations, location: str=None, tags=None, managed_by: str=None, sku=None, identity=None, display_name: str=None, is_enabled: str=None, artifacts=None, description: str=None, package_file_uri: str=None, main_template=None, create_ui_definition=None, **kwargs) -> None: + super(ApplicationDefinition, self).__init__(location=location, tags=tags, managed_by=managed_by, sku=sku, identity=identity, **kwargs) + self.lock_level = lock_level + self.display_name = display_name + self.is_enabled = is_enabled + self.authorizations = authorizations + self.artifacts = artifacts + self.description = description + self.package_file_uri = package_file_uri + self.main_template = main_template + self.create_ui_definition = create_ui_definition diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_paged.py new file mode 100644 index 000000000000..d03162783563 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ApplicationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Application ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Application]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable.py new file mode 100644 index 000000000000..2aa0d3f4ab8a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable.py @@ -0,0 +1,101 @@ +# 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 .generic_resource import GenericResource + + +class ApplicationPatchable(GenericResource): + """Information about managed application. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param managed_resource_group_id: The managed resource group Id. + :type managed_resource_group_id: str + :param application_definition_id: The fully qualified path of managed + application definition Id. + :type application_definition_id: str + :param parameters: Name and value pairs that define the managed + application parameters. It can be a JObject or a well formed JSON string. + :type parameters: object + :ivar outputs: Name and value pairs that define the managed application + outputs. + :vartype outputs: object + :ivar provisioning_state: The managed application provisioning state. + Possible values include: 'Accepted', 'Running', 'Ready', 'Creating', + 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', + 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :param ui_definition_uri: The blob URI where the UI definition file is + located. + :type ui_definition_uri: str + :param plan: The plan information. + :type plan: ~azure.mgmt.resource.managedapplications.models.PlanPatchable + :param kind: The kind of the managed application. Allowed values are + MarketPlace and ServiceCatalog. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'outputs': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, + 'application_definition_id': {'key': 'properties.applicationDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'PlanPatchable'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationPatchable, self).__init__(**kwargs) + self.managed_resource_group_id = kwargs.get('managed_resource_group_id', None) + self.application_definition_id = kwargs.get('application_definition_id', None) + self.parameters = kwargs.get('parameters', None) + self.outputs = None + self.provisioning_state = None + self.ui_definition_uri = kwargs.get('ui_definition_uri', None) + self.plan = kwargs.get('plan', None) + self.kind = kwargs.get('kind', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable_py3.py new file mode 100644 index 000000000000..db7739f95851 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_patchable_py3.py @@ -0,0 +1,101 @@ +# 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 .generic_resource_py3 import GenericResource + + +class ApplicationPatchable(GenericResource): + """Information about managed application. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param managed_resource_group_id: The managed resource group Id. + :type managed_resource_group_id: str + :param application_definition_id: The fully qualified path of managed + application definition Id. + :type application_definition_id: str + :param parameters: Name and value pairs that define the managed + application parameters. It can be a JObject or a well formed JSON string. + :type parameters: object + :ivar outputs: Name and value pairs that define the managed application + outputs. + :vartype outputs: object + :ivar provisioning_state: The managed application provisioning state. + Possible values include: 'Accepted', 'Running', 'Ready', 'Creating', + 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', + 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :param ui_definition_uri: The blob URI where the UI definition file is + located. + :type ui_definition_uri: str + :param plan: The plan information. + :type plan: ~azure.mgmt.resource.managedapplications.models.PlanPatchable + :param kind: The kind of the managed application. Allowed values are + MarketPlace and ServiceCatalog. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'outputs': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, + 'application_definition_id': {'key': 'properties.applicationDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'PlanPatchable'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, managed_by: str=None, sku=None, identity=None, managed_resource_group_id: str=None, application_definition_id: str=None, parameters=None, ui_definition_uri: str=None, plan=None, kind: str=None, **kwargs) -> None: + super(ApplicationPatchable, self).__init__(location=location, tags=tags, managed_by=managed_by, sku=sku, identity=identity, **kwargs) + self.managed_resource_group_id = managed_resource_group_id + self.application_definition_id = application_definition_id + self.parameters = parameters + self.outputs = None + self.provisioning_state = None + self.ui_definition_uri = ui_definition_uri + self.plan = plan + self.kind = kind diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization.py new file mode 100644 index 000000000000..24efef4adb19 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization.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 msrest.serialization import Model + + +class ApplicationProviderAuthorization(Model): + """The managed application provider authorization. + + All required parameters must be populated in order to send to Azure. + + :param principal_id: Required. The provider's principal identifier. This + is the identity that the provider will use to call ARM to manage the + managed application resources. + :type principal_id: str + :param role_definition_id: Required. The provider's role definition + identifier. This role will define all the permissions that the provider + must have on the managed application's container resource group. This role + definition cannot have permission to delete the resource group. + :type role_definition_id: str + """ + + _validation = { + 'principal_id': {'required': True}, + 'role_definition_id': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationProviderAuthorization, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + self.role_definition_id = kwargs.get('role_definition_id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization_py3.py new file mode 100644 index 000000000000..98cbd662faa9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_provider_authorization_py3.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 msrest.serialization import Model + + +class ApplicationProviderAuthorization(Model): + """The managed application provider authorization. + + All required parameters must be populated in order to send to Azure. + + :param principal_id: Required. The provider's principal identifier. This + is the identity that the provider will use to call ARM to manage the + managed application resources. + :type principal_id: str + :param role_definition_id: Required. The provider's role definition + identifier. This role will define all the permissions that the provider + must have on the managed application's container resource group. This role + definition cannot have permission to delete the resource group. + :type role_definition_id: str + """ + + _validation = { + 'principal_id': {'required': True}, + 'role_definition_id': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'role_definition_id': {'key': 'roleDefinitionId', 'type': 'str'}, + } + + def __init__(self, *, principal_id: str, role_definition_id: str, **kwargs) -> None: + super(ApplicationProviderAuthorization, self).__init__(**kwargs) + self.principal_id = principal_id + self.role_definition_id = role_definition_id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_py3.py new file mode 100644 index 000000000000..2fb9024ea960 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/application_py3.py @@ -0,0 +1,104 @@ +# 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 .generic_resource_py3 import GenericResource + + +class Application(GenericResource): + """Information about managed application. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + :param managed_resource_group_id: Required. The managed resource group Id. + :type managed_resource_group_id: str + :param application_definition_id: The fully qualified path of managed + application definition Id. + :type application_definition_id: str + :param parameters: Name and value pairs that define the managed + application parameters. It can be a JObject or a well formed JSON string. + :type parameters: object + :ivar outputs: Name and value pairs that define the managed application + outputs. + :vartype outputs: object + :ivar provisioning_state: The managed application provisioning state. + Possible values include: 'Accepted', 'Running', 'Ready', 'Creating', + 'Created', 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', + 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :param ui_definition_uri: The blob URI where the UI definition file is + located. + :type ui_definition_uri: str + :param plan: The plan information. + :type plan: ~azure.mgmt.resource.managedapplications.models.Plan + :param kind: Required. The kind of the managed application. Allowed values + are MarketPlace and ServiceCatalog. + :type kind: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'managed_resource_group_id': {'required': True}, + 'outputs': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'kind': {'required': True, 'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, + 'application_definition_id': {'key': 'properties.applicationDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'outputs': {'key': 'properties.outputs', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'ui_definition_uri': {'key': 'properties.uiDefinitionUri', 'type': 'str'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, managed_resource_group_id: str, kind: str, location: str=None, tags=None, managed_by: str=None, sku=None, identity=None, application_definition_id: str=None, parameters=None, ui_definition_uri: str=None, plan=None, **kwargs) -> None: + super(Application, self).__init__(location=location, tags=tags, managed_by=managed_by, sku=sku, identity=identity, **kwargs) + self.managed_resource_group_id = managed_resource_group_id + self.application_definition_id = application_definition_id + self.parameters = parameters + self.outputs = None + self.provisioning_state = None + self.ui_definition_uri = ui_definition_uri + self.plan = plan + self.kind = kind diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response.py new file mode 100644 index 000000000000..48db644b6852 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates managed application is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = kwargs.get('http_status', None) + self.error_code = kwargs.get('error_code', None) + self.error_message = kwargs.get('error_message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response_py3.py new file mode 100644 index 000000000000..272d91c7d721 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/error_response_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates managed application is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, *, http_status: str=None, error_code: str=None, error_message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = http_status + self.error_code = error_code + self.error_message = error_message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource.py new file mode 100644 index 000000000000..6fe832dadb70 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource.py @@ -0,0 +1,60 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource_py3.py new file mode 100644 index 000000000000..9ad415ef239f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/generic_resource_py3.py @@ -0,0 +1,60 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.managedapplications.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.managedapplications.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity.py new file mode 100644 index 000000000000..30f30cfa6871 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity_py3.py new file mode 100644 index 000000000000..9d8a734fdd16 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/identity_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies.py new file mode 100644 index 000000000000..70054f780b40 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class JitAuthorizationPolicies(Model): + """The JIT authorization policies. + + All required parameters must be populated in order to send to Azure. + + :param principal_id: Required. The the principal id that will be granted + JIT access. + :type principal_id: str + :param role_definition_id: Required. The role definition id that will be + granted to the Principal. + :type role_definition_id: str + """ + + _validation = { + 'principal_id': {'required': True}, + 'role_definition_id': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'PrincipalId', 'type': 'str'}, + 'role_definition_id': {'key': 'RoleDefinitionId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JitAuthorizationPolicies, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + self.role_definition_id = kwargs.get('role_definition_id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies_py3.py new file mode 100644 index 000000000000..50b929882310 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_authorization_policies_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class JitAuthorizationPolicies(Model): + """The JIT authorization policies. + + All required parameters must be populated in order to send to Azure. + + :param principal_id: Required. The the principal id that will be granted + JIT access. + :type principal_id: str + :param role_definition_id: Required. The role definition id that will be + granted to the Principal. + :type role_definition_id: str + """ + + _validation = { + 'principal_id': {'required': True}, + 'role_definition_id': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'PrincipalId', 'type': 'str'}, + 'role_definition_id': {'key': 'RoleDefinitionId', 'type': 'str'}, + } + + def __init__(self, *, principal_id: str, role_definition_id: str, **kwargs) -> None: + super(JitAuthorizationPolicies, self).__init__(**kwargs) + self.principal_id = principal_id + self.role_definition_id = role_definition_id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition.py new file mode 100644 index 000000000000..74aba1e8a27b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition.py @@ -0,0 +1,98 @@ +# 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 .resource import Resource + + +class JitRequestDefinition(Resource): + """Information about JIT request definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param application_resource_id: Required. The parent application id. + :type application_resource_id: str + :param publisher_tenant_id: The publisher tenant id. + :type publisher_tenant_id: str + :param jit_authorization_policies: Required. The JIT authorization + policies. + :type jit_authorization_policies: + list[~azure.mgmt.resource.managedapplications.models.JitAuthorizationPolicies] + :param jit_scheduling_policy: Required. The JIT request properties. + :type jit_scheduling_policy: + ~azure.mgmt.resource.managedapplications.models.JitRequestProperties + :ivar provisioning_state: The JIT request provisioning state. Possible + values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :ivar jit_request_state: The JIT request state. Possible values include: + 'NotSpecified', 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', + 'Expired', 'Timeout' + :vartype jit_request_state: str or + ~azure.mgmt.resource.managedapplications.models.JitRequestState + :param created_by: The client entity that created the JIT request. + :type created_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + :param updated_by: The client entity that last updated the JIT request. + :type updated_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_resource_id': {'required': True}, + 'jit_authorization_policies': {'required': True}, + 'jit_scheduling_policy': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'jit_request_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_resource_id': {'key': 'properties.ApplicationResourceId', 'type': 'str'}, + 'publisher_tenant_id': {'key': 'properties.PublisherTenantId', 'type': 'str'}, + 'jit_authorization_policies': {'key': 'properties.JitAuthorizationPolicies', 'type': '[JitAuthorizationPolicies]'}, + 'jit_scheduling_policy': {'key': 'properties.JitSchedulingPolicy', 'type': 'JitRequestProperties'}, + 'provisioning_state': {'key': 'properties.ProvisioningState', 'type': 'str'}, + 'jit_request_state': {'key': 'properties.JitRequestState', 'type': 'str'}, + 'created_by': {'key': 'properties.CreatedBy', 'type': 'ApplicationClientDetails'}, + 'updated_by': {'key': 'properties.UpdatedBy', 'type': 'ApplicationClientDetails'}, + } + + def __init__(self, **kwargs): + super(JitRequestDefinition, self).__init__(**kwargs) + self.application_resource_id = kwargs.get('application_resource_id', None) + self.publisher_tenant_id = kwargs.get('publisher_tenant_id', None) + self.jit_authorization_policies = kwargs.get('jit_authorization_policies', None) + self.jit_scheduling_policy = kwargs.get('jit_scheduling_policy', None) + self.provisioning_state = None + self.jit_request_state = None + self.created_by = kwargs.get('created_by', None) + self.updated_by = kwargs.get('updated_by', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result.py new file mode 100644 index 000000000000..5b197da1ef7d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class JitRequestDefinitionListResult(Model): + """List of managed applications. + + :param value: The array of Jit request definition. + :type value: + list[~azure.mgmt.resource.managedapplications.models.JitRequestDefinition] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JitRequestDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JitRequestDefinitionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result_py3.py new file mode 100644 index 000000000000..d3f382a15126 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_list_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class JitRequestDefinitionListResult(Model): + """List of managed applications. + + :param value: The array of Jit request definition. + :type value: + list[~azure.mgmt.resource.managedapplications.models.JitRequestDefinition] + :param next_link: The URL to use for getting the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JitRequestDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(JitRequestDefinitionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_py3.py new file mode 100644 index 000000000000..964120973d31 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_definition_py3.py @@ -0,0 +1,98 @@ +# 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 .resource_py3 import Resource + + +class JitRequestDefinition(Resource): + """Information about JIT request definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param application_resource_id: Required. The parent application id. + :type application_resource_id: str + :param publisher_tenant_id: The publisher tenant id. + :type publisher_tenant_id: str + :param jit_authorization_policies: Required. The JIT authorization + policies. + :type jit_authorization_policies: + list[~azure.mgmt.resource.managedapplications.models.JitAuthorizationPolicies] + :param jit_scheduling_policy: Required. The JIT request properties. + :type jit_scheduling_policy: + ~azure.mgmt.resource.managedapplications.models.JitRequestProperties + :ivar provisioning_state: The JIT request provisioning state. Possible + values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :ivar jit_request_state: The JIT request state. Possible values include: + 'NotSpecified', 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', + 'Expired', 'Timeout' + :vartype jit_request_state: str or + ~azure.mgmt.resource.managedapplications.models.JitRequestState + :param created_by: The client entity that created the JIT request. + :type created_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + :param updated_by: The client entity that last updated the JIT request. + :type updated_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'application_resource_id': {'required': True}, + 'jit_authorization_policies': {'required': True}, + 'jit_scheduling_policy': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'jit_request_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_resource_id': {'key': 'properties.ApplicationResourceId', 'type': 'str'}, + 'publisher_tenant_id': {'key': 'properties.PublisherTenantId', 'type': 'str'}, + 'jit_authorization_policies': {'key': 'properties.JitAuthorizationPolicies', 'type': '[JitAuthorizationPolicies]'}, + 'jit_scheduling_policy': {'key': 'properties.JitSchedulingPolicy', 'type': 'JitRequestProperties'}, + 'provisioning_state': {'key': 'properties.ProvisioningState', 'type': 'str'}, + 'jit_request_state': {'key': 'properties.JitRequestState', 'type': 'str'}, + 'created_by': {'key': 'properties.CreatedBy', 'type': 'ApplicationClientDetails'}, + 'updated_by': {'key': 'properties.UpdatedBy', 'type': 'ApplicationClientDetails'}, + } + + def __init__(self, *, application_resource_id: str, jit_authorization_policies, jit_scheduling_policy, location: str=None, tags=None, publisher_tenant_id: str=None, created_by=None, updated_by=None, **kwargs) -> None: + super(JitRequestDefinition, self).__init__(location=location, tags=tags, **kwargs) + self.application_resource_id = application_resource_id + self.publisher_tenant_id = publisher_tenant_id + self.jit_authorization_policies = jit_authorization_policies + self.jit_scheduling_policy = jit_scheduling_policy + self.provisioning_state = None + self.jit_request_state = None + self.created_by = created_by + self.updated_by = updated_by diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata.py new file mode 100644 index 000000000000..96325e36acc2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class JitRequestMetadata(Model): + """The JIT request metadata. + + :param origin_request_id: The JIT request id. + :type origin_request_id: str + :param requestor_id: The publisher tenant requestor id. + :type requestor_id: str + :param tenant_display_name: The publisher tenant name. + :type tenant_display_name: str + :param subject_display_name: The publisher subject display name. + :type subject_display_name: str + """ + + _attribute_map = { + 'origin_request_id': {'key': 'OriginRequestId', 'type': 'str'}, + 'requestor_id': {'key': 'RequestorId', 'type': 'str'}, + 'tenant_display_name': {'key': 'TenantDisplayName', 'type': 'str'}, + 'subject_display_name': {'key': 'SubjectDisplayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JitRequestMetadata, self).__init__(**kwargs) + self.origin_request_id = kwargs.get('origin_request_id', None) + self.requestor_id = kwargs.get('requestor_id', None) + self.tenant_display_name = kwargs.get('tenant_display_name', None) + self.subject_display_name = kwargs.get('subject_display_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata_py3.py new file mode 100644 index 000000000000..8601eb210e30 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_metadata_py3.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class JitRequestMetadata(Model): + """The JIT request metadata. + + :param origin_request_id: The JIT request id. + :type origin_request_id: str + :param requestor_id: The publisher tenant requestor id. + :type requestor_id: str + :param tenant_display_name: The publisher tenant name. + :type tenant_display_name: str + :param subject_display_name: The publisher subject display name. + :type subject_display_name: str + """ + + _attribute_map = { + 'origin_request_id': {'key': 'OriginRequestId', 'type': 'str'}, + 'requestor_id': {'key': 'RequestorId', 'type': 'str'}, + 'tenant_display_name': {'key': 'TenantDisplayName', 'type': 'str'}, + 'subject_display_name': {'key': 'SubjectDisplayName', 'type': 'str'}, + } + + def __init__(self, *, origin_request_id: str=None, requestor_id: str=None, tenant_display_name: str=None, subject_display_name: str=None, **kwargs) -> None: + super(JitRequestMetadata, self).__init__(**kwargs) + self.origin_request_id = origin_request_id + self.requestor_id = requestor_id + self.tenant_display_name = tenant_display_name + self.subject_display_name = subject_display_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties.py new file mode 100644 index 000000000000..8483ed7c38de --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class JitRequestProperties(Model): + """Information about JIT request properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param application_resource_id: Required. The parent application id. + :type application_resource_id: str + :param publisher_tenant_id: The publisher tenant id. + :type publisher_tenant_id: str + :param jit_authorization_policies: Required. The JIT authorization + policies. + :type jit_authorization_policies: + list[~azure.mgmt.resource.managedapplications.models.JitAuthorizationPolicies] + :param jit_scheduling_policy: Required. The JIT request properties. + :type jit_scheduling_policy: + ~azure.mgmt.resource.managedapplications.models.JitRequestProperties + :ivar provisioning_state: The JIT request provisioning state. Possible + values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :ivar jit_request_state: The JIT request state. Possible values include: + 'NotSpecified', 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', + 'Expired', 'Timeout' + :vartype jit_request_state: str or + ~azure.mgmt.resource.managedapplications.models.JitRequestState + :param created_by: The client entity that created the JIT request. + :type created_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + :param updated_by: The client entity that last updated the JIT request. + :type updated_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + """ + + _validation = { + 'application_resource_id': {'required': True}, + 'jit_authorization_policies': {'required': True}, + 'jit_scheduling_policy': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'jit_request_state': {'readonly': True}, + } + + _attribute_map = { + 'application_resource_id': {'key': 'ApplicationResourceId', 'type': 'str'}, + 'publisher_tenant_id': {'key': 'PublisherTenantId', 'type': 'str'}, + 'jit_authorization_policies': {'key': 'JitAuthorizationPolicies', 'type': '[JitAuthorizationPolicies]'}, + 'jit_scheduling_policy': {'key': 'JitSchedulingPolicy', 'type': 'JitRequestProperties'}, + 'provisioning_state': {'key': 'ProvisioningState', 'type': 'str'}, + 'jit_request_state': {'key': 'JitRequestState', 'type': 'str'}, + 'created_by': {'key': 'CreatedBy', 'type': 'ApplicationClientDetails'}, + 'updated_by': {'key': 'UpdatedBy', 'type': 'ApplicationClientDetails'}, + } + + def __init__(self, **kwargs): + super(JitRequestProperties, self).__init__(**kwargs) + self.application_resource_id = kwargs.get('application_resource_id', None) + self.publisher_tenant_id = kwargs.get('publisher_tenant_id', None) + self.jit_authorization_policies = kwargs.get('jit_authorization_policies', None) + self.jit_scheduling_policy = kwargs.get('jit_scheduling_policy', None) + self.provisioning_state = None + self.jit_request_state = None + self.created_by = kwargs.get('created_by', None) + self.updated_by = kwargs.get('updated_by', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties_py3.py new file mode 100644 index 000000000000..108c0d69c3df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_request_properties_py3.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class JitRequestProperties(Model): + """Information about JIT request properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param application_resource_id: Required. The parent application id. + :type application_resource_id: str + :param publisher_tenant_id: The publisher tenant id. + :type publisher_tenant_id: str + :param jit_authorization_policies: Required. The JIT authorization + policies. + :type jit_authorization_policies: + list[~azure.mgmt.resource.managedapplications.models.JitAuthorizationPolicies] + :param jit_scheduling_policy: Required. The JIT request properties. + :type jit_scheduling_policy: + ~azure.mgmt.resource.managedapplications.models.JitRequestProperties + :ivar provisioning_state: The JIT request provisioning state. Possible + values include: 'Accepted', 'Running', 'Ready', 'Creating', 'Created', + 'Deleting', 'Deleted', 'Canceled', 'Failed', 'Succeeded', 'Updating' + :vartype provisioning_state: str or + ~azure.mgmt.resource.managedapplications.models.ProvisioningState + :ivar jit_request_state: The JIT request state. Possible values include: + 'NotSpecified', 'Pending', 'Approved', 'Denied', 'Failed', 'Canceled', + 'Expired', 'Timeout' + :vartype jit_request_state: str or + ~azure.mgmt.resource.managedapplications.models.JitRequestState + :param created_by: The client entity that created the JIT request. + :type created_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + :param updated_by: The client entity that last updated the JIT request. + :type updated_by: + ~azure.mgmt.resource.managedapplications.models.ApplicationClientDetails + """ + + _validation = { + 'application_resource_id': {'required': True}, + 'jit_authorization_policies': {'required': True}, + 'jit_scheduling_policy': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'jit_request_state': {'readonly': True}, + } + + _attribute_map = { + 'application_resource_id': {'key': 'ApplicationResourceId', 'type': 'str'}, + 'publisher_tenant_id': {'key': 'PublisherTenantId', 'type': 'str'}, + 'jit_authorization_policies': {'key': 'JitAuthorizationPolicies', 'type': '[JitAuthorizationPolicies]'}, + 'jit_scheduling_policy': {'key': 'JitSchedulingPolicy', 'type': 'JitRequestProperties'}, + 'provisioning_state': {'key': 'ProvisioningState', 'type': 'str'}, + 'jit_request_state': {'key': 'JitRequestState', 'type': 'str'}, + 'created_by': {'key': 'CreatedBy', 'type': 'ApplicationClientDetails'}, + 'updated_by': {'key': 'UpdatedBy', 'type': 'ApplicationClientDetails'}, + } + + def __init__(self, *, application_resource_id: str, jit_authorization_policies, jit_scheduling_policy, publisher_tenant_id: str=None, created_by=None, updated_by=None, **kwargs) -> None: + super(JitRequestProperties, self).__init__(**kwargs) + self.application_resource_id = application_resource_id + self.publisher_tenant_id = publisher_tenant_id + self.jit_authorization_policies = jit_authorization_policies + self.jit_scheduling_policy = jit_scheduling_policy + self.provisioning_state = None + self.jit_request_state = None + self.created_by = created_by + self.updated_by = updated_by diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy.py new file mode 100644 index 000000000000..e21b6d582de6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class JitSchedulingPolicy(Model): + """The JIT scheduling policies. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of JIT schedule. Possible values include: + 'NotSpecified', 'Once', 'Recurring' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.JitSchedulingType + :param duration: Required. The required duration of the JIT request. + :type duration: timedelta + :param start_time: Required. The start time of the request. + :type start_time: datetime + """ + + _validation = { + 'type': {'required': True}, + 'duration': {'required': True}, + 'start_time': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'str'}, + 'duration': {'key': 'Duration', 'type': 'duration'}, + 'start_time': {'key': 'StartTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(JitSchedulingPolicy, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.duration = kwargs.get('duration', None) + self.start_time = kwargs.get('start_time', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy_py3.py new file mode 100644 index 000000000000..5de4ec1e3f21 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_scheduling_policy_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class JitSchedulingPolicy(Model): + """The JIT scheduling policies. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of JIT schedule. Possible values include: + 'NotSpecified', 'Once', 'Recurring' + :type type: str or + ~azure.mgmt.resource.managedapplications.models.JitSchedulingType + :param duration: Required. The required duration of the JIT request. + :type duration: timedelta + :param start_time: Required. The start time of the request. + :type start_time: datetime + """ + + _validation = { + 'type': {'required': True}, + 'duration': {'required': True}, + 'start_time': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'str'}, + 'duration': {'key': 'Duration', 'type': 'duration'}, + 'start_time': {'key': 'StartTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, type, duration, start_time, **kwargs) -> None: + super(JitSchedulingPolicy, self).__init__(**kwargs) + self.type = type + self.duration = duration + self.start_time = start_time diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition.py new file mode 100644 index 000000000000..66de69d50ca4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition.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 msrest.serialization import Model + + +class JitUpdateAccessDefinition(Model): + """The JIT update access definition. + + :param approver: The approver name. + :type approver: str + :param metadata: + :type metadata: object + :param status: The JIT status. Possible values include: 'NotSpecified', + 'Elevate', 'Remove' + :type status: str or + ~azure.mgmt.resource.managedapplications.models.JITStatusUpdate + :param sub_status: The JIT sub-status. Possible values include: + 'NotSpecified', 'Approved', 'Denied', 'Failed', 'Expired', 'Timeout' + :type sub_status: str or + ~azure.mgmt.resource.managedapplications.models.JITSubStatus + """ + + _attribute_map = { + 'approver': {'key': 'Approver', 'type': 'str'}, + 'metadata': {'key': 'Metadata', 'type': 'object'}, + 'status': {'key': 'Status', 'type': 'str'}, + 'sub_status': {'key': 'SubStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(JitUpdateAccessDefinition, self).__init__(**kwargs) + self.approver = kwargs.get('approver', None) + self.metadata = kwargs.get('metadata', None) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition_py3.py new file mode 100644 index 000000000000..0e064ebf37d2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/jit_update_access_definition_py3.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 msrest.serialization import Model + + +class JitUpdateAccessDefinition(Model): + """The JIT update access definition. + + :param approver: The approver name. + :type approver: str + :param metadata: + :type metadata: object + :param status: The JIT status. Possible values include: 'NotSpecified', + 'Elevate', 'Remove' + :type status: str or + ~azure.mgmt.resource.managedapplications.models.JITStatusUpdate + :param sub_status: The JIT sub-status. Possible values include: + 'NotSpecified', 'Approved', 'Denied', 'Failed', 'Expired', 'Timeout' + :type sub_status: str or + ~azure.mgmt.resource.managedapplications.models.JITSubStatus + """ + + _attribute_map = { + 'approver': {'key': 'Approver', 'type': 'str'}, + 'metadata': {'key': 'Metadata', 'type': 'object'}, + 'status': {'key': 'Status', 'type': 'str'}, + 'sub_status': {'key': 'SubStatus', 'type': 'str'}, + } + + def __init__(self, *, approver: str=None, metadata=None, status=None, sub_status=None, **kwargs) -> None: + super(JitUpdateAccessDefinition, self).__init__(**kwargs) + self.approver = approver + self.metadata = metadata + self.status = status + self.sub_status = sub_status diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan.py new file mode 100644 index 000000000000..c204fe4f234f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the managed application. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The plan name. + :type name: str + :param publisher: Required. The publisher ID. + :type publisher: str + :param product: Required. The product code. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: Required. The plan's version. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + 'version': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable.py new file mode 100644 index 000000000000..1b1a3c6299fd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable.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 msrest.serialization import Model + + +class PlanPatchable(Model): + """Plan for the managed application. + + :param name: The plan name. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The product code. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PlanPatchable, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable_py3.py new file mode 100644 index 000000000000..cf52c56e8077 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_patchable_py3.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 msrest.serialization import Model + + +class PlanPatchable(Model): + """Plan for the managed application. + + :param name: The plan name. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The product code. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, version: str=None, **kwargs) -> None: + super(PlanPatchable, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_py3.py new file mode 100644 index 000000000000..9ba487214887 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/plan_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the managed application. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The plan name. + :type name: str + :param publisher: Required. The publisher ID. + :type publisher: str + :param product: Required. The product code. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: Required. The plan's version. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + 'version': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, name: str, publisher: str, product: str, version: str, promotion_code: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource.py new file mode 100644 index 000000000000..59731b2803cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource_py3.py new file mode 100644 index 000000000000..5de1d2d3bb94 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku.py new file mode 100644 index 000000000000..24866582a6c6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku.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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku_py3.py new file mode 100644 index 000000000000..ce9a39a37a8d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/models/sku_py3.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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/__init__.py new file mode 100644 index 000000000000..8dde81835052 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 .applications_operations import ApplicationsOperations +from .application_definitions_operations import ApplicationDefinitionsOperations + +__all__ = [ + 'ApplicationsOperations', + 'ApplicationDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/application_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/application_definitions_operations.py new file mode 100644 index 000000000000..1646b9cb2db0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/application_definitions_operations.py @@ -0,0 +1,593 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationDefinitionsOperations(object): + """ApplicationDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-09-01" + + self.config = config + + def get( + self, resource_group_name, application_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the managed application definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_definition_name: The name of the managed + application definition. + :type application_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.ApplicationDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationDefinitionName': self._serialize.url("application_definition_name", application_definition_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}'} + + + def _delete_initial( + self, resource_group_name, application_definition_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationDefinitionName': self._serialize.url("application_definition_name", application_definition_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_definition_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the managed application definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_definition_name: The name of the managed + application definition to delete. + :type application_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_definition_name=application_definition_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationDefinitionName': self._serialize.url("application_definition_name", application_definition_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ApplicationDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ApplicationDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_definition_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new managed application definition. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_definition_name: The name of the managed + application definition. + :type application_definition_name: str + :param parameters: Parameters supplied to the create or update an + managed application definition. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.ApplicationDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationDefinition + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.managedapplications.models.ApplicationDefinition] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.managedapplications.models.ApplicationDefinition]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_definition_name=application_definition_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists the managed application definitions in a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ApplicationDefinition + :rtype: + ~azure.mgmt.resource.managedapplications.models.ApplicationDefinitionPaged[~azure.mgmt.resource.managedapplications.models.ApplicationDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ApplicationDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions'} + + def get_by_id( + self, application_definition_id, custom_headers=None, raw=False, **operation_config): + """Gets the managed application definition. + + :param application_definition_id: The fully qualified ID of the + managed application definition, including the managed application name + and the managed application definition resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + :type application_definition_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ApplicationDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.ApplicationDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'applicationDefinitionId': self._serialize.url("application_definition_id", application_definition_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{applicationDefinitionId}'} + + + def _delete_by_id_initial( + self, application_definition_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'applicationDefinitionId': self._serialize.url("application_definition_id", application_definition_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, application_definition_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the managed application definition. + + :param application_definition_id: The fully qualified ID of the + managed application definition, including the managed application name + and the managed application definition resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + :type application_definition_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_by_id_initial( + application_definition_id=application_definition_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{applicationDefinitionId}'} + + + def _create_or_update_by_id_initial( + self, application_definition_id, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'applicationDefinitionId': self._serialize.url("application_definition_id", application_definition_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ApplicationDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ApplicationDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, application_definition_id, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new managed application definition. + + :param application_definition_id: The fully qualified ID of the + managed application definition, including the managed application name + and the managed application definition resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name} + :type application_definition_id: str + :param parameters: Parameters supplied to the create or update a + managed application definition. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.ApplicationDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationDefinition + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.managedapplications.models.ApplicationDefinition] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.managedapplications.models.ApplicationDefinition]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_by_id_initial( + application_definition_id=application_definition_id, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{applicationDefinitionId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/applications_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/applications_operations.py new file mode 100644 index 000000000000..9ec07ececf91 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/applications_operations.py @@ -0,0 +1,797 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationsOperations(object): + """ApplicationsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-09-01" + + self.config = config + + def get( + self, resource_group_name, application_name, custom_headers=None, raw=False, **operation_config): + """Gets the managed application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_name: The name of the managed application. + :type application_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Application or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.managedapplications.models.Application or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}'} + + + def _delete_initial( + self, resource_group_name, application_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the managed application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_name: The name of the managed application. + :type application_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_name=application_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Application') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + if response.status_code == 201: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new managed application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_name: The name of the managed application. + :type application_name: str + :param parameters: Parameters supplied to the create or update a + managed application. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.Application + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Application or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.managedapplications.models.Application] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.managedapplications.models.Application]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_name=application_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}'} + + def update( + self, resource_group_name, application_name, parameters=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing managed application. The only value that can be + updated via PATCH currently is the tags. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_name: The name of the managed application. + :type application_name: str + :param parameters: Parameters supplied to update an existing managed + application. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.Application + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Application or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.managedapplications.models.Application or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + if parameters is not None: + body_content = self._serialize.body(parameters, 'Application') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the applications within a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Application + :rtype: + ~azure.mgmt.resource.managedapplications.models.ApplicationPaged[~azure.mgmt.resource.managedapplications.models.Application] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ApplicationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the applications within a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Application + :rtype: + ~azure.mgmt.resource.managedapplications.models.ApplicationPaged[~azure.mgmt.resource.managedapplications.models.Application] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ApplicationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications'} + + def get_by_id( + self, application_id, custom_headers=None, raw=False, **operation_config): + """Gets the managed application. + + :param application_id: The fully qualified ID of the managed + application, including the managed application name and the managed + application resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + :type application_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Application or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.managedapplications.models.Application or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'applicationId': self._serialize.url("application_id", application_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{applicationId}'} + + + def _delete_by_id_initial( + self, application_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'applicationId': self._serialize.url("application_id", application_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, application_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the managed application. + + :param application_id: The fully qualified ID of the managed + application, including the managed application name and the managed + application resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + :type application_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_by_id_initial( + application_id=application_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{applicationId}'} + + + def _create_or_update_by_id_initial( + self, application_id, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'applicationId': self._serialize.url("application_id", application_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Application') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + if response.status_code == 201: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, application_id, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new managed application. + + :param application_id: The fully qualified ID of the managed + application, including the managed application name and the managed + application resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + :type application_id: str + :param parameters: Parameters supplied to the create or update a + managed application. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.Application + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Application or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.managedapplications.models.Application] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.managedapplications.models.Application]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_by_id_initial( + application_id=application_id, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{applicationId}'} + + def update_by_id( + self, application_id, parameters=None, custom_headers=None, raw=False, **operation_config): + """Updates an existing managed application. The only value that can be + updated via PATCH currently is the tags. + + :param application_id: The fully qualified ID of the managed + application, including the managed application name and the managed + application resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name} + :type application_id: str + :param parameters: Parameters supplied to update an existing managed + application. + :type parameters: + ~azure.mgmt.resource.managedapplications.models.Application + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Application or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.managedapplications.models.Application or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update_by_id.metadata['url'] + path_format_arguments = { + 'applicationId': self._serialize.url("application_id", application_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + if parameters is not None: + body_content = self._serialize.body(parameters, 'Application') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Application', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_by_id.metadata = {'url': '/{applicationId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/jit_requests_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/jit_requests_operations.py new file mode 100644 index 000000000000..4559b2bc6c76 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/jit_requests_operations.py @@ -0,0 +1,334 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class JitRequestsOperations(object): + """JitRequestsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-03-01" + + self.config = config + + def get_by_name( + self, resource_group_name, jit_request_name, custom_headers=None, raw=False, **operation_config): + """Gets the JIT request. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param jit_request_name: The name of the JIT request. + :type jit_request_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JitRequestDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.JitRequestDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_name.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'jitRequestName': self._serialize.url("jit_request_name", jit_request_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JitRequestDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}'} + + def create_or_update( + self, resource_group_name, jit_request_name, custom_headers=None, raw=False, **operation_config): + """Creates or updates the JIT request. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param jit_request_name: The name of the JIT request. + :type jit_request_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JitRequestDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.JitRequestDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'jitRequestName': self._serialize.url("jit_request_name", jit_request_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('JitRequestDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}'} + + def delete( + self, resource_group_name, jit_request_name, custom_headers=None, raw=False, **operation_config): + """Deletes the JIT request. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param jit_request_name: The name of the JIT request. + :type jit_request_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'jitRequestName': self._serialize.url("jit_request_name", jit_request_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all JIT requests within the subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JitRequestDefinitionListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.JitRequestDefinitionListResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JitRequestDefinitionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all JIT requests within the subscription. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JitRequestDefinitionListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.resource.managedapplications.models.JitRequestDefinitionListResult + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 404]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JitRequestDefinitionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/update_access_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/update_access_operations.py new file mode 100644 index 000000000000..8824449f5233 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/operations/update_access_operations.py @@ -0,0 +1,133 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class UpdateAccessOperations(object): + """UpdateAccessOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2019-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-03-01" + + self.config = config + + + def _post_initial( + self, resource_group_name, application_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.post.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('JitUpdateAccessDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def post( + self, resource_group_name, application_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Update Access on application. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param application_name: The name of the managed application. + :type application_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + JitUpdateAccessDefinition or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.managedapplications.models.JitUpdateAccessDefinition] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.managedapplications.models.JitUpdateAccessDefinition]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._post_initial( + resource_group_name=resource_group_name, + application_name=application_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('JitUpdateAccessDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/updateAccess'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/version.py new file mode 100644 index 000000000000..981cdfec35c6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/managedapplications/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2017-09-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/__init__.py new file mode 100644 index 000000000000..d911de39e82d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/__init__.py @@ -0,0 +1,30 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_definition_py3 import PolicyDefinition + from .policy_assignment_py3 import PolicyAssignment +except (SyntaxError, ImportError): + from .policy_definition import PolicyDefinition + from .policy_assignment import PolicyAssignment +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_client_enums import ( + PolicyType, +) + +__all__ = [ + 'PolicyDefinition', + 'PolicyAssignment', + 'PolicyAssignmentPaged', + 'PolicyDefinitionPaged', + 'PolicyType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment.py new file mode 100644 index 000000000000..24c27b17db71 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param id: The ID of the policy assignment. + :type id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_paged.py new file mode 100644 index 000000000000..95be909e9044 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_py3.py new file mode 100644 index 000000000000..cf34cb502d7c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_assignment_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param id: The ID of the policy assignment. + :type id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, id: str=None, type: str=None, name: str=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.id = id + self.type = type + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_client_enums.py new file mode 100644 index 000000000000..1f86f6a3029a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_client_enums.py @@ -0,0 +1,19 @@ +# 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 enum import Enum + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition.py new file mode 100644 index 000000000000..660b4691373d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition.py @@ -0,0 +1,60 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyType + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :ivar id: The ID of the policy definition. + :vartype id: str + :param name: The name of the policy definition. If you do not specify a + value for name, the value is inferred from the name value in the request + URI. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.id = None + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_paged.py new file mode 100644 index 000000000000..827fe7c91d4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_py3.py new file mode 100644 index 000000000000..1e9be8b0e919 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/models/policy_definition_py3.py @@ -0,0 +1,60 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyType + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :ivar id: The ID of the policy definition. + :vartype id: str + :param name: The name of the policy definition. If you do not specify a + value for name, the value is inferred from the name value in the request + URI. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, display_name: str=None, description: str=None, policy_rule=None, name: str=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.id = None + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/__init__.py new file mode 100644 index 000000000000..95d3a3d86bda --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_assignments_operations import PolicyAssignmentsOperations +from .policy_definitions_operations import PolicyDefinitionsOperations + +__all__ = [ + 'PolicyAssignmentsOperations', + 'PolicyDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..49f701a37353 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_assignments_operations.py @@ -0,0 +1,676 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2015-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-10-01-preview" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for the resource group. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for a resource. + + :param resource_group_name: The name of the resource group containing + the resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource with policy + assignments. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyassignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy assignments for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyassignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment by ID. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..17c661067f4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/operations/policy_definitions_operations.py @@ -0,0 +1,286 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2015-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-10-01-preview" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2015_10_01_preview.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/policy_client.py new file mode 100644 index 000000000000..3ba02a11d719 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/policy_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2015_10_01_preview.operations.PolicyAssignmentsOperations + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2015_10_01_preview.operations.PolicyDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2015-10-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/version.py new file mode 100644 index 000000000000..aa8170222621 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2015_10_01_preview/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2015-10-01-preview" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/__init__.py new file mode 100644 index 000000000000..d911de39e82d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/__init__.py @@ -0,0 +1,30 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_definition_py3 import PolicyDefinition + from .policy_assignment_py3 import PolicyAssignment +except (SyntaxError, ImportError): + from .policy_definition import PolicyDefinition + from .policy_assignment import PolicyAssignment +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_client_enums import ( + PolicyType, +) + +__all__ = [ + 'PolicyDefinition', + 'PolicyAssignment', + 'PolicyAssignmentPaged', + 'PolicyDefinitionPaged', + 'PolicyType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment.py new file mode 100644 index 000000000000..24c27b17db71 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param id: The ID of the policy assignment. + :type id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_paged.py new file mode 100644 index 000000000000..d12609681c13 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_py3.py new file mode 100644 index 000000000000..cf34cb502d7c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_assignment_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param id: The ID of the policy assignment. + :type id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, id: str=None, type: str=None, name: str=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.id = id + self.type = type + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_client_enums.py new file mode 100644 index 000000000000..1f86f6a3029a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_client_enums.py @@ -0,0 +1,19 @@ +# 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 enum import Enum + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition.py new file mode 100644 index 000000000000..5cb7ecff7590 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition.py @@ -0,0 +1,60 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyType + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :ivar id: The ID of the policy definition. + :vartype id: str + :param name: The name of the policy definition. If you do not specify a + value for name, the value is inferred from the name value in the request + URI. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.id = None + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_paged.py new file mode 100644 index 000000000000..5e80d3c4a177 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_py3.py new file mode 100644 index 000000000000..d5905119d3cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/models/policy_definition_py3.py @@ -0,0 +1,60 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyType + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :ivar id: The ID of the policy definition. + :vartype id: str + :param name: The name of the policy definition. If you do not specify a + value for name, the value is inferred from the name value in the request + URI. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, display_name: str=None, description: str=None, policy_rule=None, name: str=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.id = None + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/__init__.py new file mode 100644 index 000000000000..95d3a3d86bda --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_assignments_operations import PolicyAssignmentsOperations +from .policy_definitions_operations import PolicyDefinitionsOperations + +__all__ = [ + 'PolicyAssignmentsOperations', + 'PolicyDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..e8024dcb5f4c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_assignments_operations.py @@ -0,0 +1,676 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-04-01" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyassignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for the resource group. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for a resource. + + :param resource_group_name: The name of the resource group containing + the resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource with policy + assignments. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyassignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy assignments for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyassignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment by ID. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..fddc13c4d91f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/operations/policy_definitions_operations.py @@ -0,0 +1,286 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-04-01" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2016_04_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2016_04_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/policy_client.py new file mode 100644 index 000000000000..c136e74d1831 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/policy_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2016_04_01.operations.PolicyAssignmentsOperations + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2016_04_01.operations.PolicyDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-04-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/version.py new file mode 100644 index 000000000000..5ddeb1e4b90a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_04_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-04-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/__init__.py new file mode 100644 index 000000000000..3f3ff6bcef32 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/__init__.py @@ -0,0 +1,32 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_definition_py3 import PolicyDefinition + from .policy_assignment_py3 import PolicyAssignment +except (SyntaxError, ImportError): + from .policy_definition import PolicyDefinition + from .policy_assignment import PolicyAssignment +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_client_enums import ( + PolicyType, + PolicyMode, +) + +__all__ = [ + 'PolicyDefinition', + 'PolicyAssignment', + 'PolicyDefinitionPaged', + 'PolicyAssignmentPaged', + 'PolicyType', + 'PolicyMode', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment.py new file mode 100644 index 000000000000..225d2807e589 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment.py @@ -0,0 +1,64 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :ivar id: The ID of the policy assignment. + :vartype id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.parameters = kwargs.get('parameters', None) + self.description = kwargs.get('description', None) + self.id = None + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_paged.py new file mode 100644 index 000000000000..cd06ef26caf5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_py3.py new file mode 100644 index 000000000000..cef46871ca79 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_assignment_py3.py @@ -0,0 +1,64 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :ivar id: The ID of the policy assignment. + :vartype id: str + :param type: The type of the policy assignment. + :type type: str + :param name: The name of the policy assignment. + :type name: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, parameters=None, description: str=None, type: str=None, name: str=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.parameters = parameters + self.description = description + self.id = None + self.type = type + self.name = name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_client_enums.py new file mode 100644 index 000000000000..a9dcf44c1e7c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_client_enums.py @@ -0,0 +1,26 @@ +# 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 enum import Enum + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" + + +class PolicyMode(str, Enum): + + not_specified = "NotSpecified" + indexed = "Indexed" + all = "All" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition.py new file mode 100644 index 000000000000..76cbeab23aa6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition.py @@ -0,0 +1,74 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.mode = kwargs.get('mode', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.id = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_paged.py new file mode 100644 index 000000000000..aa6be03da0cd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_py3.py new file mode 100644 index 000000000000..0d02eaeb67be --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/models/policy_definition_py3.py @@ -0,0 +1,74 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, mode=None, display_name: str=None, description: str=None, policy_rule=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.mode = mode + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.metadata = metadata + self.parameters = parameters + self.id = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/__init__.py new file mode 100644 index 000000000000..3173ecfbfed4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_definitions_operations import PolicyDefinitionsOperations +from .policy_assignments_operations import PolicyAssignmentsOperations + +__all__ = [ + 'PolicyDefinitionsOperations', + 'PolicyAssignmentsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..ae8fa0fbcb96 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_assignments_operations.py @@ -0,0 +1,676 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-12-01" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for the resource group. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for a resource. + + :param resource_group_name: The name of the resource group containing + the resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource with policy + assignments. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy assignments for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment by ID. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..e3c708d2fa8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/operations/policy_definitions_operations.py @@ -0,0 +1,655 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-12-01" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_built_in( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the built in policy definition. + + :param policy_definition_name: The name of the built in policy + definition to get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def create_or_update_at_management_group( + self, policy_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the built in policy definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription at management group + level. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2016_12_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/policy_client.py new file mode 100644 index 000000000000..5b3ed9584044 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/policy_client.py @@ -0,0 +1,86 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2016_12_01.operations.PolicyDefinitionsOperations + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2016_12_01.operations.PolicyAssignmentsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-12-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/version.py new file mode 100644 index 000000000000..eb083cbe85ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2016_12_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-12-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/__init__.py new file mode 100644 index 000000000000..6da1b02582b9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/__init__.py @@ -0,0 +1,46 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_sku_py3 import PolicySku + from .policy_assignment_py3 import PolicyAssignment + from .error_response_py3 import ErrorResponse, ErrorResponseException + from .policy_definition_reference_py3 import PolicyDefinitionReference + from .policy_set_definition_py3 import PolicySetDefinition + from .policy_definition_py3 import PolicyDefinition +except (SyntaxError, ImportError): + from .policy_sku import PolicySku + from .policy_assignment import PolicyAssignment + from .error_response import ErrorResponse, ErrorResponseException + from .policy_definition_reference import PolicyDefinitionReference + from .policy_set_definition import PolicySetDefinition + from .policy_definition import PolicyDefinition +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_set_definition_paged import PolicySetDefinitionPaged +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_client_enums import ( + PolicyType, + PolicyMode, +) + +__all__ = [ + 'PolicySku', + 'PolicyAssignment', + 'ErrorResponse', 'ErrorResponseException', + 'PolicyDefinitionReference', + 'PolicySetDefinition', + 'PolicyDefinition', + 'PolicyAssignmentPaged', + 'PolicySetDefinitionPaged', + 'PolicyDefinitionPaged', + 'PolicyType', + 'PolicyMode', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response.py new file mode 100644 index 000000000000..77b737c9884f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates ARM is not able to process the incoming request. + The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = kwargs.get('http_status', None) + self.error_code = kwargs.get('error_code', None) + self.error_message = kwargs.get('error_message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response_py3.py new file mode 100644 index 000000000000..e76346b8c6ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/error_response_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates ARM is not able to process the incoming request. + The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, *, http_status: str=None, error_code: str=None, error_message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = http_status + self.error_code = error_code + self.error_message = error_message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment.py new file mode 100644 index 000000000000..2accdb75d3d3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. + :type sku: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySku + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.not_scopes = kwargs.get('not_scopes', None) + self.parameters = kwargs.get('parameters', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.id = None + self.type = None + self.name = None + self.sku = kwargs.get('sku', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_paged.py new file mode 100644 index 000000000000..28d3568ce6cb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_py3.py new file mode 100644 index 000000000000..5a0050ad04cd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_assignment_py3.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. + :type sku: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySku + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, not_scopes=None, parameters=None, description: str=None, metadata=None, sku=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.not_scopes = not_scopes + self.parameters = parameters + self.description = description + self.metadata = metadata + self.id = None + self.type = None + self.name = None + self.sku = sku diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_client_enums.py new file mode 100644 index 000000000000..a9dcf44c1e7c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_client_enums.py @@ -0,0 +1,26 @@ +# 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 enum import Enum + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" + + +class PolicyMode(str, Enum): + + not_specified = "NotSpecified" + indexed = "Indexed" + all = "All" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition.py new file mode 100644 index 000000000000..84ea23f76832 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition.py @@ -0,0 +1,74 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.mode = kwargs.get('mode', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.id = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_paged.py new file mode 100644 index 000000000000..572a552e8702 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_py3.py new file mode 100644 index 000000000000..34b21e1e1586 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_py3.py @@ -0,0 +1,74 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, mode=None, display_name: str=None, description: str=None, policy_rule=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.mode = mode + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.metadata = metadata + self.parameters = parameters + self.id = None + self.name = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference.py new file mode 100644 index 000000000000..cf0be3729831 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.parameters = kwargs.get('parameters', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference_py3.py new file mode 100644 index 000000000000..e9aac83dc16e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_definition_reference_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, *, policy_definition_id: str=None, parameters=None, **kwargs) -> None: + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = policy_definition_id + self.parameters = parameters diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition.py new file mode 100644 index 000000000000..bc5146745c70 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.policy_definitions = kwargs.get('policy_definitions', None) + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_paged.py new file mode 100644 index 000000000000..7d16d2506b15 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicySetDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicySetDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicySetDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicySetDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_py3.py new file mode 100644 index 000000000000..bcdf80529bda --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_set_definition_py3.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, policy_definitions, policy_type=None, display_name: str=None, description: str=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.display_name = display_name + self.description = description + self.metadata = metadata + self.parameters = parameters + self.policy_definitions = policy_definitions + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku.py new file mode 100644 index 000000000000..8e3dfbbd60e5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku_py3.py new file mode 100644 index 000000000000..8015144450cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/models/policy_sku_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name: str, tier: str=None, **kwargs) -> None: + super(PolicySku, self).__init__(**kwargs) + self.name = name + self.tier = tier diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/__init__.py new file mode 100644 index 000000000000..ff5c8196eeb4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/__init__.py @@ -0,0 +1,20 @@ +# 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 .policy_assignments_operations import PolicyAssignmentsOperations +from .policy_set_definitions_operations import PolicySetDefinitionsOperations +from .policy_definitions_operations import PolicyDefinitionsOperations + +__all__ = [ + 'PolicyAssignmentsOperations', + 'PolicySetDefinitionsOperations', + 'PolicyDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..010782a793c5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_assignments_operations.py @@ -0,0 +1,666 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2017-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-06-01-preview" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment. + + :param scope: The scope of the policy assignment. + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for the resource group. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets policy assignments for a resource. + + :param resource_group_name: The name of the resource group containing + the resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource with policy + assignments. + :type resource_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets all the policy assignments for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a policy assignment by ID. + + Policy assignments are inherited by child resources. For example, when + you apply a policy to a resource group that policy is assigned to all + resources in the group. When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Gets a policy assignment by ID. + + When providing a scope for the assignment, use + '/subscriptions/{subscription-id}/' for subscriptions, + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + for resource groups, and + '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}' + for resources. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policy-assignment-name}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyAssignment + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..9603a0061a3e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_definitions_operations.py @@ -0,0 +1,655 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-12-01" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_built_in( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the built in policy definition. + + :param policy_definition_name: The name of the built in policy + definition to get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def create_or_update_at_management_group( + self, policy_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets the policy definition at management group level. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the built in policy definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets all the policy definitions for a subscription at management group + level. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_set_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_set_definitions_operations.py new file mode 100644 index 000000000000..abb66dc2c97f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/operations/policy_set_definitions_operations.py @@ -0,0 +1,648 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicySetDefinitionsOperations(object): + """PolicySetDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2017-06-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-06-01-preview" + + self.config = config + + def create_or_update( + self, policy_set_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the policy set definition. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_built_in( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Gets the built in policy set definition. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the policy set definitions for a subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the built in policy set definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions'} + + def create_or_update_at_management_group( + self, policy_set_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition at management group level. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition at management group level. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets the policy set definition at management group level. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Gets all the policy set definitions for a subscription at management + group. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2017_06_01_preview.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/policy_client.py new file mode 100644 index 000000000000..d1c7ed935275 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/policy_client.py @@ -0,0 +1,90 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from .operations.policy_set_definitions_operations import PolicySetDefinitionsOperations +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2017_06_01_preview.operations.PolicyAssignmentsOperations + :ivar policy_set_definitions: PolicySetDefinitions operations + :vartype policy_set_definitions: azure.mgmt.resource.policy.v2017_06_01_preview.operations.PolicySetDefinitionsOperations + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2017_06_01_preview.operations.PolicyDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_set_definitions = PolicySetDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/version.py new file mode 100644 index 000000000000..53a203f32aaf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2017_06_01_preview/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/__init__.py new file mode 100644 index 000000000000..dd1cb568ad5d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/__init__.py @@ -0,0 +1,46 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_sku_py3 import PolicySku + from .policy_assignment_py3 import PolicyAssignment + from .error_response_py3 import ErrorResponse, ErrorResponseException + from .policy_definition_py3 import PolicyDefinition + from .policy_definition_reference_py3 import PolicyDefinitionReference + from .policy_set_definition_py3 import PolicySetDefinition +except (SyntaxError, ImportError): + from .policy_sku import PolicySku + from .policy_assignment import PolicyAssignment + from .error_response import ErrorResponse, ErrorResponseException + from .policy_definition import PolicyDefinition + from .policy_definition_reference import PolicyDefinitionReference + from .policy_set_definition import PolicySetDefinition +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_set_definition_paged import PolicySetDefinitionPaged +from .policy_client_enums import ( + PolicyType, + PolicyMode, +) + +__all__ = [ + 'PolicySku', + 'PolicyAssignment', + 'ErrorResponse', 'ErrorResponseException', + 'PolicyDefinition', + 'PolicyDefinitionReference', + 'PolicySetDefinition', + 'PolicyAssignmentPaged', + 'PolicyDefinitionPaged', + 'PolicySetDefinitionPaged', + 'PolicyType', + 'PolicyMode', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response.py new file mode 100644 index 000000000000..ad2f6934e216 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates Azure Resource Manager is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = kwargs.get('http_status', None) + self.error_code = kwargs.get('error_code', None) + self.error_message = kwargs.get('error_message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response_py3.py new file mode 100644 index 000000000000..c55e28548997 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/error_response_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates Azure Resource Manager is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, *, http_status: str=None, error_code: str=None, error_message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = http_status + self.error_code = error_code + self.error_message = error_message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment.py new file mode 100644 index 000000000000..2b9c140ac669 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition or policy set + definition being assigned. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. This property is optional, obsolete, and will + be ignored. + :type sku: ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySku + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.not_scopes = kwargs.get('not_scopes', None) + self.parameters = kwargs.get('parameters', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.id = None + self.type = None + self.name = None + self.sku = kwargs.get('sku', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_paged.py new file mode 100644 index 000000000000..771a0a781699 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_py3.py new file mode 100644 index 000000000000..0decc07c025c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_assignment_py3.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition or policy set + definition being assigned. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. This property is optional, obsolete, and will + be ignored. + :type sku: ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySku + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, not_scopes=None, parameters=None, description: str=None, metadata=None, sku=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.not_scopes = not_scopes + self.parameters = parameters + self.description = description + self.metadata = metadata + self.id = None + self.type = None + self.name = None + self.sku = sku diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_client_enums.py new file mode 100644 index 000000000000..a9dcf44c1e7c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_client_enums.py @@ -0,0 +1,26 @@ +# 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 enum import Enum + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" + + +class PolicyMode(str, Enum): + + not_specified = "NotSpecified" + indexed = "Indexed" + all = "All" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition.py new file mode 100644 index 000000000000..c6df3f54eda8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policyDefinitions). + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.mode = kwargs.get('mode', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_paged.py new file mode 100644 index 000000000000..621abf24fbf3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_py3.py new file mode 100644 index 000000000000..749f48425845 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_py3.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policyDefinitions). + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, mode=None, display_name: str=None, description: str=None, policy_rule=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.mode = mode + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.metadata = metadata + self.parameters = parameters + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference.py new file mode 100644 index 000000000000..cf0be3729831 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.parameters = kwargs.get('parameters', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference_py3.py new file mode 100644 index 000000000000..e9aac83dc16e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_definition_reference_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, *, policy_definition_id: str=None, parameters=None, **kwargs) -> None: + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = policy_definition_id + self.parameters = parameters diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition.py new file mode 100644 index 000000000000..25da3713065f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.policy_definitions = kwargs.get('policy_definitions', None) + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_paged.py new file mode 100644 index 000000000000..0abd4a93a801 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicySetDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicySetDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicySetDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicySetDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_py3.py new file mode 100644 index 000000000000..18ca8405d992 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_set_definition_py3.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, policy_definitions, policy_type=None, display_name: str=None, description: str=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.display_name = display_name + self.description = description + self.metadata = metadata + self.parameters = parameters + self.policy_definitions = policy_definitions + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku.py new file mode 100644 index 000000000000..458f7cf52f45 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. This property is optional, obsolete, and will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku_py3.py new file mode 100644 index 000000000000..824479c44f92 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/models/policy_sku_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. This property is optional, obsolete, and will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name: str, tier: str=None, **kwargs) -> None: + super(PolicySku, self).__init__(**kwargs) + self.name = name + self.tier = tier diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/__init__.py new file mode 100644 index 000000000000..44d309ea01cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/__init__.py @@ -0,0 +1,20 @@ +# 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 .policy_assignments_operations import PolicyAssignmentsOperations +from .policy_definitions_operations import PolicyDefinitionsOperations +from .policy_set_definitions_operations import PolicySetDefinitionsOperations + +__all__ = [ + 'PolicyAssignmentsOperations', + 'PolicyDefinitionsOperations', + 'PolicySetDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..90a73943331e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_assignments_operations.py @@ -0,0 +1,777 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + This operation deletes a policy assignment, given its name and the + scope it was created in. The scope of a policy assignment is the part + of its ID preceding + '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy assignment. + + This operation creates or updates a policy assignment with the given + scope and name. Policy assignments apply to all resources contained + within their scope. For example, when you assign a policy at resource + group scope, that policy applies to all resources in the group. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy assignment. + + This operation retrieves a single policy assignment, given its name and + the scope it was created at. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a resource group. + + This operation retrieves the list of all policy assignments associated + with the given resource group in the given subscription that match the + optional given $filter. Valid values for $filter are: 'atScope()' or + 'policyDefinitionId eq '{value}''. If $filter is not provided, the + unfiltered list includes all policy assignments associated with the + resource group, including those that apply directly or apply from + containing scopes, as well as any applied to resources contained within + the resource group. If $filter=atScope() is provided, the returned list + includes all policy assignments that apply to the resource group, which + is everything in the unfiltered list except those applied to resources + contained within the resource group. If $filter=policyDefinitionId eq + '{value}' is provided, the returned list includes only policy + assignments that apply to the resource group and assign the policy + definition whose id is {value}. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a resource. + + This operation retrieves the list of all policy assignments associated + with the specified resource in the given resource group and + subscription that match the optional given $filter. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, the unfiltered list includes all policy + assignments associated with the resource, including those that apply + directly or from all containing scopes, as well as any applied to + resources contained within the resource. If $filter=atScope() is + provided, the returned list includes all policy assignments that apply + to the resource, which is everything in the unfiltered list except + those applied to resources contained within the resource. If + $filter=policyDefinitionId eq '{value}' is provided, the returned list + includes only policy assignments that apply to the resource and assign + the policy definition whose id is {value}. Three parameters plus the + resource name are used to identify a specific resource. If the resource + is not part of a parent resource (the more common case), the parent + resource path should not be provided (or provided as ''). For example a + web app could be specified as ({resourceProviderNamespace} == + 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', + {resourceName} == 'MyWebApp'). If the resource is part of a parent + resource, then all parameters should be provided. For example a virtual + machine DNS name could be specified as ({resourceProviderNamespace} == + 'Microsoft.Compute', {parentResourcePath} == + 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', + {resourceName} == 'MyComputerName'). A convenient alternative to + providing the namespace and type name separately is to provide both in + the {resourceType} parameter, format: ({resourceProviderNamespace} == + '', {parentResourcePath} == '', {resourceType} == + 'Microsoft.Web/sites', {resourceName} == 'MyWebApp'). + + :param resource_group_name: The name of the resource group containing + the resource. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. For example, the namespace of a virtual machine is + Microsoft.Compute (from Microsoft.Compute/virtualMachines) + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. Use empty + string if there is none. + :type parent_resource_path: str + :param resource_type: The resource type name. For example the type + name of a web app is 'sites' (from Microsoft.Web/sites). + :type resource_type: str + :param resource_name: The name of the resource. + :type resource_name: str + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a subscription. + + This operation retrieves the list of all policy assignments associated + with the given subscription that match the optional given $filter. + Valid values for $filter are: 'atScope()' or 'policyDefinitionId eq + '{value}''. If $filter is not provided, the unfiltered list includes + all policy assignments associated with the subscription, including + those that apply directly or from management groups that contain the + given subscription, as well as any applied to objects contained within + the subscription. If $filter=atScope() is provided, the returned list + includes all policy assignments that apply to the subscription, which + is everything in the unfiltered list except those applied to objects + contained within the subscription. If $filter=policyDefinitionId eq + '{value}' is provided, the returned list includes only policy + assignments that apply to the subscription and assign the policy + definition whose id is {value}. + + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + This operation deletes the policy with the given ID. Policy assignment + IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid formats for {scope} are: + '/providers/Microsoft.Management/managementGroups/{managementGroup}' + (management group), '/subscriptions/{subscriptionId}' (subscription), + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + (resource group), or + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + (resource). + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy assignment. + + This operation creates or updates the policy assignment with the given + ID. Policy assignments made on a scope apply to all resources contained + in that scope. For example, when you assign a policy to a resource + group that policy applies to all resources in the group. Policy + assignment IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid scopes are: management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Retrieves the policy assignment with the given ID. + + The operation retrieves the policy assignment with the given ID. Policy + assignment IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid scopes are: management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..46606d5f4ecd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_definitions_operations.py @@ -0,0 +1,683 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition in a subscription. + + This operation creates or updates a policy definition in the given + subscription with the given name. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition in a subscription. + + This operation deletes the policy definition in the given subscription + with the given name. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy definition in a subscription. + + This operation retrieves the policy definition in the given + subscription with the given name. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_built_in( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a built-in policy definition. + + This operation retrieves the built-in policy definition with the given + name. + + :param policy_definition_name: The name of the built-in policy + definition to get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def create_or_update_at_management_group( + self, policy_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition in a management group. + + This operation creates or updates a policy definition in the given + management group with the given name. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition in a management group. + + This operation deletes the policy definition in the given management + group with the given name. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieve a policy definition in a management group. + + This operation retrieves the policy definition in the given management + group with the given name. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves policy definitions in a subscription. + + This operation retrieves a list of all the policy definitions in a + given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Retrieve built-in policy definitions. + + This operation retrieves a list of all the built-in policy definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieve policy definitions in a management group. + + This operation retrieves a list of all the policy definitions in a + given management group. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_set_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_set_definitions_operations.py new file mode 100644 index 000000000000..103b775ad09d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/operations/policy_set_definitions_operations.py @@ -0,0 +1,677 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicySetDefinitionsOperations(object): + """PolicySetDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-03-01" + + self.config = config + + def create_or_update( + self, policy_set_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition. + + This operation creates or updates a policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition. + + This operation deletes the policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy set definition. + + This operation retrieves the policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_built_in( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a built in policy set definition. + + This operation retrieves the built-in policy set definition with the + given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves the policy set definitions for a subscription. + + This operation retrieves a list of all the policy set definitions in + the given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves built-in policy set definitions. + + This operation retrieves a list of all the built-in policy set + definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions'} + + def create_or_update_at_management_group( + self, policy_set_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition. + + This operation creates or updates a policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition. + + This operation deletes the policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy set definition. + + This operation retrieves the policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy set definitions in management group. + + This operation retrieves a list of all the a policy set definition in + the given management group. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_03_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/policy_client.py new file mode 100644 index 000000000000..74fc43b124ba --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/policy_client.py @@ -0,0 +1,91 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from .operations.policy_set_definitions_operations import PolicySetDefinitionsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2018_03_01.operations.PolicyAssignmentsOperations + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2018_03_01.operations.PolicyDefinitionsOperations + :ivar policy_set_definitions: PolicySetDefinitions operations + :vartype policy_set_definitions: azure.mgmt.resource.policy.v2018_03_01.operations.PolicySetDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-03-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_set_definitions = PolicySetDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/version.py new file mode 100644 index 000000000000..89036952dd3c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_03_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2018-03-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/__init__.py new file mode 100644 index 000000000000..2564f85cc82c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .policy_client import PolicyClient +from .version import VERSION + +__all__ = ['PolicyClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/__init__.py new file mode 100644 index 000000000000..46fa67515888 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/__init__.py @@ -0,0 +1,51 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .policy_sku_py3 import PolicySku + from .identity_py3 import Identity + from .policy_assignment_py3 import PolicyAssignment + from .error_response_py3 import ErrorResponse, ErrorResponseException + from .policy_definition_py3 import PolicyDefinition + from .policy_definition_reference_py3 import PolicyDefinitionReference + from .policy_set_definition_py3 import PolicySetDefinition +except (SyntaxError, ImportError): + from .policy_sku import PolicySku + from .identity import Identity + from .policy_assignment import PolicyAssignment + from .error_response import ErrorResponse, ErrorResponseException + from .policy_definition import PolicyDefinition + from .policy_definition_reference import PolicyDefinitionReference + from .policy_set_definition import PolicySetDefinition +from .policy_assignment_paged import PolicyAssignmentPaged +from .policy_definition_paged import PolicyDefinitionPaged +from .policy_set_definition_paged import PolicySetDefinitionPaged +from .policy_client_enums import ( + ResourceIdentityType, + PolicyType, + PolicyMode, +) + +__all__ = [ + 'PolicySku', + 'Identity', + 'PolicyAssignment', + 'ErrorResponse', 'ErrorResponseException', + 'PolicyDefinition', + 'PolicyDefinitionReference', + 'PolicySetDefinition', + 'PolicyAssignmentPaged', + 'PolicyDefinitionPaged', + 'PolicySetDefinitionPaged', + 'ResourceIdentityType', + 'PolicyType', + 'PolicyMode', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response.py new file mode 100644 index 000000000000..ad2f6934e216 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates Azure Resource Manager is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = kwargs.get('http_status', None) + self.error_code = kwargs.get('error_code', None) + self.error_message = kwargs.get('error_message', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response_py3.py new file mode 100644 index 000000000000..c55e28548997 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/error_response_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response indicates Azure Resource Manager is not able to process the + incoming request. The reason is provided in the error message. + + :param http_status: Http status code. + :type http_status: str + :param error_code: Error code. + :type error_code: str + :param error_message: Error message indicating why the operation failed. + :type error_message: str + """ + + _attribute_map = { + 'http_status': {'key': 'httpStatus', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__(self, *, http_status: str=None, error_code: str=None, error_message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.http_status = http_status + self.error_code = error_code + self.error_message = error_message + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity.py new file mode 100644 index 000000000000..3bcb0da30312 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of the resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the resource identity. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'None' + :type type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity_py3.py new file mode 100644 index 000000000000..f51293b28c40 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/identity_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of the resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the resource identity. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'None' + :type type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment.py new file mode 100644 index 000000000000..c512b232c358 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment.py @@ -0,0 +1,90 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition or policy set + definition being assigned. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. This property is optional, obsolete, and will + be ignored. + :type sku: ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySku + :param location: The location of the policy assignment. Only required when + utilizing managed identity. + :type location: str + :param identity: The managed identity associated with the policy + assignment. + :type identity: ~azure.mgmt.resource.policy.v2018_05_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = kwargs.get('display_name', None) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.scope = kwargs.get('scope', None) + self.not_scopes = kwargs.get('not_scopes', None) + self.parameters = kwargs.get('parameters', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.id = None + self.type = None + self.name = None + self.sku = kwargs.get('sku', None) + self.location = kwargs.get('location', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_paged.py new file mode 100644 index 000000000000..25e371fe81ab --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyAssignmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyAssignment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyAssignment]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyAssignmentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_py3.py new file mode 100644 index 000000000000..1cbbdc3e9f85 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_assignment_py3.py @@ -0,0 +1,90 @@ +# 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 msrest.serialization import Model + + +class PolicyAssignment(Model): + """The policy assignment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param display_name: The display name of the policy assignment. + :type display_name: str + :param policy_definition_id: The ID of the policy definition or policy set + definition being assigned. + :type policy_definition_id: str + :param scope: The scope for the policy assignment. + :type scope: str + :param not_scopes: The policy's excluded scopes. + :type not_scopes: list[str] + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :param description: This message will be part of response in case of + policy violation. + :type description: str + :param metadata: The policy assignment metadata. + :type metadata: object + :ivar id: The ID of the policy assignment. + :vartype id: str + :ivar type: The type of the policy assignment. + :vartype type: str + :ivar name: The name of the policy assignment. + :vartype name: str + :param sku: The policy sku. This property is optional, obsolete, and will + be ignored. + :type sku: ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySku + :param location: The location of the policy assignment. Only required when + utilizing managed identity. + :type location: str + :param identity: The managed identity associated with the policy + assignment. + :type identity: ~azure.mgmt.resource.policy.v2018_05_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'policy_definition_id': {'key': 'properties.policyDefinitionId', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'not_scopes': {'key': 'properties.notScopes', 'type': '[str]'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'PolicySku'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, display_name: str=None, policy_definition_id: str=None, scope: str=None, not_scopes=None, parameters=None, description: str=None, metadata=None, sku=None, location: str=None, identity=None, **kwargs) -> None: + super(PolicyAssignment, self).__init__(**kwargs) + self.display_name = display_name + self.policy_definition_id = policy_definition_id + self.scope = scope + self.not_scopes = not_scopes + self.parameters = parameters + self.description = description + self.metadata = metadata + self.id = None + self.type = None + self.name = None + self.sku = sku + self.location = location + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_client_enums.py new file mode 100644 index 000000000000..f42fa2ecfcf9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_client_enums.py @@ -0,0 +1,32 @@ +# 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 enum import Enum + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + none = "None" + + +class PolicyType(str, Enum): + + not_specified = "NotSpecified" + built_in = "BuiltIn" + custom = "Custom" + + +class PolicyMode(str, Enum): + + not_specified = "NotSpecified" + indexed = "Indexed" + all = "All" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition.py new file mode 100644 index 000000000000..39bb09700679 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policyDefinitions). + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.mode = kwargs.get('mode', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.policy_rule = kwargs.get('policy_rule', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_paged.py new file mode 100644 index 000000000000..b3454af40ac5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicyDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicyDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicyDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicyDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_py3.py new file mode 100644 index 000000000000..be3c0aa43280 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_py3.py @@ -0,0 +1,80 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinition(Model): + """The policy definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyType + :param mode: The policy definition mode. Possible values are NotSpecified, + Indexed, and All. Possible values include: 'NotSpecified', 'Indexed', + 'All' + :type mode: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyMode + :param display_name: The display name of the policy definition. + :type display_name: str + :param description: The policy definition description. + :type description: str + :param policy_rule: The policy rule. + :type policy_rule: object + :param metadata: The policy definition metadata. + :type metadata: object + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + :ivar id: The ID of the policy definition. + :vartype id: str + :ivar name: The name of the policy definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policyDefinitions). + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'policy_rule': {'key': 'properties.policyRule', 'type': 'object'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, policy_type=None, mode=None, display_name: str=None, description: str=None, policy_rule=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicyDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.mode = mode + self.display_name = display_name + self.description = description + self.policy_rule = policy_rule + self.metadata = metadata + self.parameters = parameters + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference.py new file mode 100644 index 000000000000..cf0be3729831 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = kwargs.get('policy_definition_id', None) + self.parameters = kwargs.get('parameters', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference_py3.py new file mode 100644 index 000000000000..e9aac83dc16e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_definition_reference_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class PolicyDefinitionReference(Model): + """The policy definition reference. + + :param policy_definition_id: The ID of the policy definition or policy set + definition. + :type policy_definition_id: str + :param parameters: Required if a parameter is used in policy rule. + :type parameters: object + """ + + _attribute_map = { + 'policy_definition_id': {'key': 'policyDefinitionId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + } + + def __init__(self, *, policy_definition_id: str=None, parameters=None, **kwargs) -> None: + super(PolicyDefinitionReference, self).__init__(**kwargs) + self.policy_definition_id = policy_definition_id + self.parameters = parameters diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition.py new file mode 100644 index 000000000000..67180b816ff1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = kwargs.get('policy_type', None) + self.display_name = kwargs.get('display_name', None) + self.description = kwargs.get('description', None) + self.metadata = kwargs.get('metadata', None) + self.parameters = kwargs.get('parameters', None) + self.policy_definitions = kwargs.get('policy_definitions', None) + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_paged.py new file mode 100644 index 000000000000..7f0e590b5821 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class PolicySetDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PolicySetDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PolicySetDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(PolicySetDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_py3.py new file mode 100644 index 000000000000..7d3389a881d0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_set_definition_py3.py @@ -0,0 +1,79 @@ +# 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 msrest.serialization import Model + + +class PolicySetDefinition(Model): + """The policy set definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param policy_type: The type of policy definition. Possible values are + NotSpecified, BuiltIn, and Custom. Possible values include: + 'NotSpecified', 'BuiltIn', 'Custom' + :type policy_type: str or + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyType + :param display_name: The display name of the policy set definition. + :type display_name: str + :param description: The policy set definition description. + :type description: str + :param metadata: The policy set definition metadata. + :type metadata: object + :param parameters: The policy set definition parameters that can be used + in policy definition references. + :type parameters: object + :param policy_definitions: Required. An array of policy definition + references. + :type policy_definitions: + list[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinitionReference] + :ivar id: The ID of the policy set definition. + :vartype id: str + :ivar name: The name of the policy set definition. + :vartype name: str + :ivar type: The type of the resource + (Microsoft.Authorization/policySetDefinitions). + :vartype type: str + """ + + _validation = { + 'policy_definitions': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'policy_type': {'key': 'properties.policyType', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'object'}, + 'parameters': {'key': 'properties.parameters', 'type': 'object'}, + 'policy_definitions': {'key': 'properties.policyDefinitions', 'type': '[PolicyDefinitionReference]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, policy_definitions, policy_type=None, display_name: str=None, description: str=None, metadata=None, parameters=None, **kwargs) -> None: + super(PolicySetDefinition, self).__init__(**kwargs) + self.policy_type = policy_type + self.display_name = display_name + self.description = description + self.metadata = metadata + self.parameters = parameters + self.policy_definitions = policy_definitions + self.id = None + self.name = None + self.type = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku.py new file mode 100644 index 000000000000..458f7cf52f45 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. This property is optional, obsolete, and will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PolicySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku_py3.py new file mode 100644 index 000000000000..824479c44f92 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/models/policy_sku_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class PolicySku(Model): + """The policy sku. This property is optional, obsolete, and will be ignored. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the policy sku. Possible values are A0 + and A1. + :type name: str + :param tier: The policy sku tier. Possible values are Free and Standard. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name: str, tier: str=None, **kwargs) -> None: + super(PolicySku, self).__init__(**kwargs) + self.name = name + self.tier = tier diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/__init__.py new file mode 100644 index 000000000000..44d309ea01cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/__init__.py @@ -0,0 +1,20 @@ +# 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 .policy_assignments_operations import PolicyAssignmentsOperations +from .policy_definitions_operations import PolicyDefinitionsOperations +from .policy_set_definitions_operations import PolicySetDefinitionsOperations + +__all__ = [ + 'PolicyAssignmentsOperations', + 'PolicyDefinitionsOperations', + 'PolicySetDefinitionsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_assignments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_assignments_operations.py new file mode 100644 index 000000000000..eeae95bdd5bc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_assignments_operations.py @@ -0,0 +1,777 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicyAssignmentsOperations(object): + """PolicyAssignmentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def delete( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + This operation deletes a policy assignment, given its name and the + scope it was created in. The scope of a policy assignment is the part + of its ID preceding + '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + delete. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def create( + self, scope, policy_assignment_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy assignment. + + This operation creates or updates a policy assignment with the given + scope and name. Policy assignments apply to all resources contained + within their scope. For example, when you assign a policy at resource + group scope, that policy applies to all resources in the group. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment. + :type policy_assignment_name: str + :param parameters: Parameters for the policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def get( + self, scope, policy_assignment_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy assignment. + + This operation retrieves a single policy assignment, given its name and + the scope it was created at. + + :param scope: The scope of the policy assignment. Valid scopes are: + management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + :type scope: str + :param policy_assignment_name: The name of the policy assignment to + get. + :type policy_assignment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + 'policyAssignmentName': self._serialize.url("policy_assignment_name", policy_assignment_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'} + + def list_for_resource_group( + self, resource_group_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a resource group. + + This operation retrieves the list of all policy assignments associated + with the given resource group in the given subscription that match the + optional given $filter. Valid values for $filter are: 'atScope()' or + 'policyDefinitionId eq '{value}''. If $filter is not provided, the + unfiltered list includes all policy assignments associated with the + resource group, including those that apply directly or apply from + containing scopes, as well as any applied to resources contained within + the resource group. If $filter=atScope() is provided, the returned list + includes all policy assignments that apply to the resource group, which + is everything in the unfiltered list except those applied to resources + contained within the resource group. If $filter=policyDefinitionId eq + '{value}' is provided, the returned list includes only policy + assignments that apply to the resource group and assign the policy + definition whose id is {value}. + + :param resource_group_name: The name of the resource group that + contains policy assignments. + :type resource_group_name: str + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments'} + + def list_for_resource( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a resource. + + This operation retrieves the list of all policy assignments associated + with the specified resource in the given resource group and + subscription that match the optional given $filter. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, the unfiltered list includes all policy + assignments associated with the resource, including those that apply + directly or from all containing scopes, as well as any applied to + resources contained within the resource. If $filter=atScope() is + provided, the returned list includes all policy assignments that apply + to the resource, which is everything in the unfiltered list except + those applied to resources contained within the resource. If + $filter=policyDefinitionId eq '{value}' is provided, the returned list + includes only policy assignments that apply to the resource and assign + the policy definition whose id is {value}. Three parameters plus the + resource name are used to identify a specific resource. If the resource + is not part of a parent resource (the more common case), the parent + resource path should not be provided (or provided as ''). For example a + web app could be specified as ({resourceProviderNamespace} == + 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', + {resourceName} == 'MyWebApp'). If the resource is part of a parent + resource, then all parameters should be provided. For example a virtual + machine DNS name could be specified as ({resourceProviderNamespace} == + 'Microsoft.Compute', {parentResourcePath} == + 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', + {resourceName} == 'MyComputerName'). A convenient alternative to + providing the namespace and type name separately is to provide both in + the {resourceType} parameter, format: ({resourceProviderNamespace} == + '', {parentResourcePath} == '', {resourceType} == + 'Microsoft.Web/sites', {resourceName} == 'MyWebApp'). + + :param resource_group_name: The name of the resource group containing + the resource. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. For example, the namespace of a virtual machine is + Microsoft.Compute (from Microsoft.Compute/virtualMachines) + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource path. Use empty + string if there is none. + :type parent_resource_path: str + :param resource_type: The resource type name. For example the type + name of a web app is 'sites' (from Microsoft.Web/sites). + :type resource_type: str + :param resource_name: The name of the resource. + :type resource_name: str + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_for_resource.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_for_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments'} + + def list( + self, filter=None, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy assignments that apply to a subscription. + + This operation retrieves the list of all policy assignments associated + with the given subscription that match the optional given $filter. + Valid values for $filter are: 'atScope()' or 'policyDefinitionId eq + '{value}''. If $filter is not provided, the unfiltered list includes + all policy assignments associated with the subscription, including + those that apply directly or from management groups that contain the + given subscription, as well as any applied to objects contained within + the subscription. If $filter=atScope() is provided, the returned list + includes all policy assignments that apply to the subscription, which + is everything in the unfiltered list except those applied to objects + contained within the subscription. If $filter=policyDefinitionId eq + '{value}' is provided, the returned list includes only policy + assignments that apply to the subscription and assign the policy + definition whose id is {value}. + + :param filter: The filter to apply on the operation. Valid values for + $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If + $filter is not provided, no filtering is performed. + :type filter: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyAssignment + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignmentPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyAssignmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments'} + + def delete_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy assignment. + + This operation deletes the policy with the given ID. Policy assignment + IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid formats for {scope} are: + '/providers/Microsoft.Management/managementGroups/{managementGroup}' + (management group), '/subscriptions/{subscriptionId}' (subscription), + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' + (resource group), or + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' + (resource). + + :param policy_assignment_id: The ID of the policy assignment to + delete. Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + delete_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def create_by_id( + self, policy_assignment_id, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy assignment. + + This operation creates or updates the policy assignment with the given + ID. Policy assignments made on a scope apply to all resources contained + in that scope. For example, when you assign a policy to a resource + group that policy applies to all resources in the group. Policy + assignment IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid scopes are: management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + + :param policy_assignment_id: The ID of the policy assignment to + create. Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param parameters: Parameters for policy assignment. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyAssignment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_by_id.metadata = {'url': '/{policyAssignmentId}'} + + def get_by_id( + self, policy_assignment_id, custom_headers=None, raw=False, **operation_config): + """Retrieves the policy assignment with the given ID. + + The operation retrieves the policy assignment with the given ID. Policy + assignment IDs have this format: + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + Valid scopes are: management group (format: + '/providers/Microsoft.Management/managementGroups/{managementGroup}'), + subscription (format: '/subscriptions/{subscriptionId}'), resource + group (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', + or resource (format: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + + :param policy_assignment_id: The ID of the policy assignment to get. + Use the format + '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. + :type policy_assignment_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyAssignment or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyAssignment or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'policyAssignmentId': self._serialize.url("policy_assignment_id", policy_assignment_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyAssignment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{policyAssignmentId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_definitions_operations.py new file mode 100644 index 000000000000..3d52c2cb9b72 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_definitions_operations.py @@ -0,0 +1,683 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PolicyDefinitionsOperations(object): + """PolicyDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def create_or_update( + self, policy_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition in a subscription. + + This operation creates or updates a policy definition in the given + subscription with the given name. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition in a subscription. + + This operation deletes the policy definition in the given subscription + with the given name. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy definition in a subscription. + + This operation retrieves the policy definition in the given + subscription with the given name. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_built_in( + self, policy_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a built-in policy definition. + + This operation retrieves the built-in policy definition with the given + name. + + :param policy_definition_name: The name of the built-in policy + definition to get. + :type policy_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def create_or_update_at_management_group( + self, policy_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy definition in a management group. + + This operation creates or updates a policy definition in the given + management group with the given name. + + :param policy_definition_name: The name of the policy definition to + create. + :type policy_definition_name: str + :param parameters: The policy definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicyDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def delete_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy definition in a management group. + + This operation deletes the policy definition in the given management + group with the given name. + + :param policy_definition_name: The name of the policy definition to + delete. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def get_at_management_group( + self, policy_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieve a policy definition in a management group. + + This operation retrieves the policy definition in the given management + group with the given name. + + :param policy_definition_name: The name of the policy definition to + get. + :type policy_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicyDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policyDefinitionName': self._serialize.url("policy_definition_name", policy_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicyDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves policy definitions in a subscription. + + This operation retrieves a list of all the policy definitions in a + given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Retrieve built-in policy definitions. + + This operation retrieves a list of all the built-in policy definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policyDefinitions'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieve policy definitions in a management group. + + This operation retrieves a list of all the policy definitions in a + given management group. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicyDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicyDefinition] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicyDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_set_definitions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_set_definitions_operations.py new file mode 100644 index 000000000000..24b7b8271c2b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/operations/policy_set_definitions_operations.py @@ -0,0 +1,677 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class PolicySetDefinitionsOperations(object): + """PolicySetDefinitionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def create_or_update( + self, policy_set_definition_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition. + + This operation creates or updates a policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition. + + This operation deletes the policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy set definition. + + This operation retrieves the policy set definition in the given + subscription with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_built_in( + self, policy_set_definition_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a built in policy set definition. + + This operation retrieves the built-in policy set definition with the + given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_built_in.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves the policy set definitions for a subscription. + + This operation retrieves a list of all the policy set definitions in + the given subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions'} + + def list_built_in( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves built-in policy set definitions. + + This operation retrieves a list of all the built-in policy set + definitions. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_built_in.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_built_in.metadata = {'url': '/providers/Microsoft.Authorization/policySetDefinitions'} + + def create_or_update_at_management_group( + self, policy_set_definition_name, parameters, management_group_id, custom_headers=None, raw=False, **operation_config): + """Creates or updates a policy set definition. + + This operation creates or updates a policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to create. + :type policy_set_definition_name: str + :param parameters: The policy set definition properties. + :type parameters: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create_or_update_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'PolicySetDefinition') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + if response.status_code == 201: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def delete_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Deletes a policy set definition. + + This operation deletes the policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to delete. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.delete_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def get_at_management_group( + self, policy_set_definition_name, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieves a policy set definition. + + This operation retrieves the policy set definition in the given + management group with the given name. + + :param policy_set_definition_name: The name of the policy set + definition to get. + :type policy_set_definition_name: str + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PolicySetDefinition or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get_at_management_group.metadata['url'] + path_format_arguments = { + 'policySetDefinitionName': self._serialize.url("policy_set_definition_name", policy_set_definition_name, 'str'), + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PolicySetDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}'} + + def list_by_management_group( + self, management_group_id, custom_headers=None, raw=False, **operation_config): + """Retrieves all policy set definitions in management group. + + This operation retrieves a list of all the a policy set definition in + the given management group. + + :param management_group_id: The ID of the management group. + :type management_group_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of PolicySetDefinition + :rtype: + ~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinitionPaged[~azure.mgmt.resource.policy.v2018_05_01.models.PolicySetDefinition] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_management_group.metadata['url'] + path_format_arguments = { + 'managementGroupId': self._serialize.url("management_group_id", management_group_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PolicySetDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_management_group.metadata = {'url': '/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/policy_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/policy_client.py new file mode 100644 index 000000000000..0010638cf15c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/policy_client.py @@ -0,0 +1,91 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.policy_assignments_operations import PolicyAssignmentsOperations +from .operations.policy_definitions_operations import PolicyDefinitionsOperations +from .operations.policy_set_definitions_operations import PolicySetDefinitionsOperations +from . import models + + +class PolicyClientConfiguration(AzureConfiguration): + """Configuration for PolicyClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(PolicyClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class PolicyClient(SDKClient): + """To manage and control access to your resources, you can define customized policies and assign them at a scope. + + :ivar config: Configuration for client. + :vartype config: PolicyClientConfiguration + + :ivar policy_assignments: PolicyAssignments operations + :vartype policy_assignments: azure.mgmt.resource.policy.v2018_05_01.operations.PolicyAssignmentsOperations + :ivar policy_definitions: PolicyDefinitions operations + :vartype policy_definitions: azure.mgmt.resource.policy.v2018_05_01.operations.PolicyDefinitionsOperations + :ivar policy_set_definitions: PolicySetDefinitions operations + :vartype policy_set_definitions: azure.mgmt.resource.policy.v2018_05_01.operations.PolicySetDefinitionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = PolicyClientConfiguration(credentials, subscription_id, base_url) + super(PolicyClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-05-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.policy_assignments = PolicyAssignmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_definitions = PolicyDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.policy_set_definitions = PolicySetDefinitionsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/version.py new file mode 100644 index 000000000000..5bfc801ce220 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/policy/v2018_05_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2018-05-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/__init__.py new file mode 100644 index 000000000000..d2e3198e88e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .resource_management_client import ResourceManagementClient +from .version import VERSION + +__all__ = ['ResourceManagementClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/__init__.py new file mode 100644 index 000000000000..c5534984cdc7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/__init__.py @@ -0,0 +1,148 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .deployment_extended_filter_py3 import DeploymentExtendedFilter + from .generic_resource_filter_py3 import GenericResourceFilter + from .resource_group_filter_py3 import ResourceGroupFilter + from .template_link_py3 import TemplateLink + from .parameters_link_py3 import ParametersLink + from .debug_setting_py3 import DebugSetting + from .deployment_properties_py3 import DeploymentProperties + from .deployment_py3 import Deployment + from .deployment_export_result_py3 import DeploymentExportResult + from .resource_management_error_with_details_py3 import ResourceManagementErrorWithDetails + from .alias_path_type_py3 import AliasPathType + from .alias_type_py3 import AliasType + from .provider_resource_type_py3 import ProviderResourceType + from .provider_py3 import Provider + from .basic_dependency_py3 import BasicDependency + from .dependency_py3 import Dependency + from .deployment_properties_extended_py3 import DeploymentPropertiesExtended + from .deployment_validate_result_py3 import DeploymentValidateResult + from .deployment_extended_py3 import DeploymentExtended + from .plan_py3 import Plan + from .sku_py3 import Sku + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_group_properties_py3 import ResourceGroupProperties + from .resource_group_py3 import ResourceGroup + from .resources_move_info_py3 import ResourcesMoveInfo + from .export_template_request_py3 import ExportTemplateRequest + from .tag_count_py3 import TagCount + from .tag_value_py3 import TagValue + from .tag_details_py3 import TagDetails + from .target_resource_py3 import TargetResource + from .http_message_py3 import HttpMessage + from .deployment_operation_properties_py3 import DeploymentOperationProperties + from .deployment_operation_py3 import DeploymentOperation + from .resource_provider_operation_display_properties_py3 import ResourceProviderOperationDisplayProperties + from .resource_py3 import Resource + from .sub_resource_py3 import SubResource + from .resource_group_export_result_py3 import ResourceGroupExportResult +except (SyntaxError, ImportError): + from .deployment_extended_filter import DeploymentExtendedFilter + from .generic_resource_filter import GenericResourceFilter + from .resource_group_filter import ResourceGroupFilter + from .template_link import TemplateLink + from .parameters_link import ParametersLink + from .debug_setting import DebugSetting + from .deployment_properties import DeploymentProperties + from .deployment import Deployment + from .deployment_export_result import DeploymentExportResult + from .resource_management_error_with_details import ResourceManagementErrorWithDetails + from .alias_path_type import AliasPathType + from .alias_type import AliasType + from .provider_resource_type import ProviderResourceType + from .provider import Provider + from .basic_dependency import BasicDependency + from .dependency import Dependency + from .deployment_properties_extended import DeploymentPropertiesExtended + from .deployment_validate_result import DeploymentValidateResult + from .deployment_extended import DeploymentExtended + from .plan import Plan + from .sku import Sku + from .identity import Identity + from .generic_resource import GenericResource + from .resource_group_properties import ResourceGroupProperties + from .resource_group import ResourceGroup + from .resources_move_info import ResourcesMoveInfo + from .export_template_request import ExportTemplateRequest + from .tag_count import TagCount + from .tag_value import TagValue + from .tag_details import TagDetails + from .target_resource import TargetResource + from .http_message import HttpMessage + from .deployment_operation_properties import DeploymentOperationProperties + from .deployment_operation import DeploymentOperation + from .resource_provider_operation_display_properties import ResourceProviderOperationDisplayProperties + from .resource import Resource + from .sub_resource import SubResource + from .resource_group_export_result import ResourceGroupExportResult +from .deployment_extended_paged import DeploymentExtendedPaged +from .provider_paged import ProviderPaged +from .generic_resource_paged import GenericResourcePaged +from .resource_group_paged import ResourceGroupPaged +from .tag_details_paged import TagDetailsPaged +from .deployment_operation_paged import DeploymentOperationPaged +from .resource_management_client_enums import ( + DeploymentMode, + ResourceIdentityType, +) + +__all__ = [ + 'DeploymentExtendedFilter', + 'GenericResourceFilter', + 'ResourceGroupFilter', + 'TemplateLink', + 'ParametersLink', + 'DebugSetting', + 'DeploymentProperties', + 'Deployment', + 'DeploymentExportResult', + 'ResourceManagementErrorWithDetails', + 'AliasPathType', + 'AliasType', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'DeploymentPropertiesExtended', + 'DeploymentValidateResult', + 'DeploymentExtended', + 'Plan', + 'Sku', + 'Identity', + 'GenericResource', + 'ResourceGroupProperties', + 'ResourceGroup', + 'ResourcesMoveInfo', + 'ExportTemplateRequest', + 'TagCount', + 'TagValue', + 'TagDetails', + 'TargetResource', + 'HttpMessage', + 'DeploymentOperationProperties', + 'DeploymentOperation', + 'ResourceProviderOperationDisplayProperties', + 'Resource', + 'SubResource', + 'ResourceGroupExportResult', + 'DeploymentExtendedPaged', + 'ProviderPaged', + 'GenericResourcePaged', + 'ResourceGroupPaged', + 'TagDetailsPaged', + 'DeploymentOperationPaged', + 'DeploymentMode', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type.py new file mode 100644 index 000000000000..3a828a3d33fd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """AliasPathType. + + :param path: The path of an alias. + :type path: str + :param api_versions: The api versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AliasPathType, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.api_versions = kwargs.get('api_versions', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type_py3.py new file mode 100644 index 000000000000..90013a7568fa --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_path_type_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """AliasPathType. + + :param path: The path of an alias. + :type path: str + :param api_versions: The api versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, *, path: str=None, api_versions=None, **kwargs) -> None: + super(AliasPathType, self).__init__(**kwargs) + self.path = path + self.api_versions = api_versions diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type.py new file mode 100644 index 000000000000..8cddb17f0247 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """AliasType. + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2016_02_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, **kwargs): + super(AliasType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.paths = kwargs.get('paths', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type_py3.py new file mode 100644 index 000000000000..e89e255f18ec --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/alias_type_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """AliasType. + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2016_02_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, *, name: str=None, paths=None, **kwargs) -> None: + super(AliasType, self).__init__(**kwargs) + self.name = name + self.paths = paths diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency.py new file mode 100644 index 000000000000..3a5ccd4aa464 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BasicDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency_py3.py new file mode 100644 index 000000000000..49d821737930 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/basic_dependency_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(BasicDependency, self).__init__(**kwargs) + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting.py new file mode 100644 index 000000000000..3dc20a32dba0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: The debug detail level. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = kwargs.get('detail_level', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting_py3.py new file mode 100644 index 000000000000..cb479a2500f0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/debug_setting_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: The debug detail level. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, *, detail_level: str=None, **kwargs) -> None: + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = detail_level diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency.py new file mode 100644 index 000000000000..81bd7ad52dbf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2016_02_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dependency, self).__init__(**kwargs) + self.depends_on = kwargs.get('depends_on', None) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency_py3.py new file mode 100644 index 000000000000..c7b72f765c9c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/dependency_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2016_02_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, depends_on=None, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(Dependency, self).__init__(**kwargs) + self.depends_on = depends_on + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment.py new file mode 100644 index 000000000000..b064f0e3d9dc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment.py @@ -0,0 +1,29 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result.py new file mode 100644 index 000000000000..3748db4c9a21 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """DeploymentExportResult. + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result_py3.py new file mode 100644 index 000000000000..af87de7862c7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_export_result_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """DeploymentExportResult. + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, template=None, **kwargs) -> None: + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = template diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended.py new file mode 100644 index 000000000000..727d55ee9448 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter.py new file mode 100644 index 000000000000..0839bcc12e4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter_py3.py new file mode 100644 index 000000000000..f06d0d1a4dfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_filter_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state: str=None, **kwargs) -> None: + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = provisioning_state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_paged.py new file mode 100644 index 000000000000..2e525dfc3d06 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentExtendedPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentExtended ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentExtended]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentExtendedPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_py3.py new file mode 100644 index 000000000000..095e187951cb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, name: str, properties=None, **kwargs) -> None: + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation.py new file mode 100644 index 000000000000..b8ffe8a31357 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + :param id: Full deployment operation id. + :type id: str + :param operation_id: Deployment operation id. + :type operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentOperationProperties + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperation, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.operation_id = kwargs.get('operation_id', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_paged.py new file mode 100644 index 000000000000..7f20f615a1fe --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentOperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties.py new file mode 100644 index 000000000000..3d48812932ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties.py @@ -0,0 +1,59 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + :param provisioning_state: The state of the provisioning. + :type provisioning_state: str + :param timestamp: The date and time of the operation. + :type timestamp: datetime + :param service_request_id: Deployment operation service request id. + :type service_request_id: str + :param status_code: Operation status code. + :type status_code: str + :param status_message: Operation status message. + :type status_message: object + :param target_resource: The target resource. + :type target_resource: + ~azure.mgmt.resource.resources.v2016_02_01.models.TargetResource + :param request: The HTTP request message. + :type request: + ~azure.mgmt.resource.resources.v2016_02_01.models.HttpMessage + :param response: The HTTP response message. + :type response: + ~azure.mgmt.resource.resources.v2016_02_01.models.HttpMessage + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.timestamp = kwargs.get('timestamp', None) + self.service_request_id = kwargs.get('service_request_id', None) + self.status_code = kwargs.get('status_code', None) + self.status_message = kwargs.get('status_message', None) + self.target_resource = kwargs.get('target_resource', None) + self.request = kwargs.get('request', None) + self.response = kwargs.get('response', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties_py3.py new file mode 100644 index 000000000000..9dc098227639 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_properties_py3.py @@ -0,0 +1,59 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + :param provisioning_state: The state of the provisioning. + :type provisioning_state: str + :param timestamp: The date and time of the operation. + :type timestamp: datetime + :param service_request_id: Deployment operation service request id. + :type service_request_id: str + :param status_code: Operation status code. + :type status_code: str + :param status_message: Operation status message. + :type status_message: object + :param target_resource: The target resource. + :type target_resource: + ~azure.mgmt.resource.resources.v2016_02_01.models.TargetResource + :param request: The HTTP request message. + :type request: + ~azure.mgmt.resource.resources.v2016_02_01.models.HttpMessage + :param response: The HTTP response message. + :type response: + ~azure.mgmt.resource.resources.v2016_02_01.models.HttpMessage + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, *, provisioning_state: str=None, timestamp=None, service_request_id: str=None, status_code: str=None, status_message=None, target_resource=None, request=None, response=None, **kwargs) -> None: + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.timestamp = timestamp + self.service_request_id = service_request_id + self.status_code = status_code + self.status_message = status_message + self.target_resource = target_resource + self.request = request + self.response = response diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_py3.py new file mode 100644 index 000000000000..9a289c3b202b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_operation_py3.py @@ -0,0 +1,37 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + :param id: Full deployment operation id. + :type id: str + :param operation_id: Deployment operation id. + :type operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentOperationProperties + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, *, id: str=None, operation_id: str=None, properties=None, **kwargs) -> None: + super(DeploymentOperation, self).__init__(**kwargs) + self.id = id + self.operation_id = operation_id + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties.py new file mode 100644 index 000000000000..7bae59be93d7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties.py @@ -0,0 +1,63 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. It can be a JObject or a well + formed JSON string. Use only one of Template or TemplateLink. + :type template: object + :param template_link: The template URI. Use only one of Template or + TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.TemplateLink + :param parameters: Deployment parameters. It can be a JObject or a well + formed JSON string. Use only one of Parameters or ParametersLink. + :type parameters: object + :param parameters_link: The parameters URI. Use only one of Parameters or + ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.ParametersLink + :param mode: Required. The deployment mode. Possible values include: + 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_02_01.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentProperties, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended.py new file mode 100644 index 000000000000..e2065555e3a9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended.py @@ -0,0 +1,84 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + :param provisioning_state: The state of the provisioning. + :type provisioning_state: str + :param correlation_id: The correlation ID of the deployment. + :type correlation_id: str + :param timestamp: The timestamp of the template deployment. + :type timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2016_02_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2016_02_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.ParametersLink + :param mode: The deployment mode. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_02_01.models.DebugSetting + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.correlation_id = kwargs.get('correlation_id', None) + self.timestamp = kwargs.get('timestamp', None) + self.outputs = kwargs.get('outputs', None) + self.providers = kwargs.get('providers', None) + self.dependencies = kwargs.get('dependencies', None) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended_py3.py new file mode 100644 index 000000000000..3819807e38e0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_extended_py3.py @@ -0,0 +1,84 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + :param provisioning_state: The state of the provisioning. + :type provisioning_state: str + :param correlation_id: The correlation ID of the deployment. + :type correlation_id: str + :param timestamp: The timestamp of the template deployment. + :type timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2016_02_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2016_02_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.ParametersLink + :param mode: The deployment mode. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_02_01.models.DebugSetting + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, provisioning_state: str=None, correlation_id: str=None, timestamp=None, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None, debug_setting=None, **kwargs) -> None: + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.correlation_id = correlation_id + self.timestamp = timestamp + self.outputs = outputs + self.providers = providers + self.dependencies = dependencies + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_py3.py new file mode 100644 index 000000000000..9ca20cabc8a1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_properties_py3.py @@ -0,0 +1,63 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. It can be a JObject or a well + formed JSON string. Use only one of Template or TemplateLink. + :type template: object + :param template_link: The template URI. Use only one of Template or + TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.TemplateLink + :param parameters: Deployment parameters. It can be a JObject or a well + formed JSON string. Use only one of Parameters or ParametersLink. + :type parameters: object + :param parameters_link: The parameters URI. Use only one of Parameters or + ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_02_01.models.ParametersLink + :param mode: Required. The deployment mode. Possible values include: + 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_02_01.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, mode, template=None, template_link=None, parameters=None, parameters_link=None, debug_setting=None, **kwargs) -> None: + super(DeploymentProperties, self).__init__(**kwargs) + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_py3.py new file mode 100644 index 000000000000..976868b4ff97 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_py3.py @@ -0,0 +1,29 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(Deployment, self).__init__(**kwargs) + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result.py new file mode 100644 index 000000000000..9ef8f684f310 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result_py3.py new file mode 100644 index 000000000000..571f3ac3b587 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/deployment_validate_result_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, error=None, properties=None, **kwargs) -> None: + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = error + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request.py new file mode 100644 index 000000000000..2438332b3fd1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The ids of the resources. The only supported string + currently is '*' (all resources). Future api updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.options = kwargs.get('options', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request_py3.py new file mode 100644 index 000000000000..4c9b3b32d3de --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/export_template_request_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The ids of the resources. The only supported string + currently is '*' (all resources). Future api updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, *, resources=None, options: str=None, **kwargs) -> None: + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = resources + self.options = options diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource.py new file mode 100644 index 000000000000..555d0701dcd2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource.py @@ -0,0 +1,72 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2016_02_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: Id of the resource that manages this resource. + :type managed_by: str + :param sku: The sku of the resource. + :type sku: ~azure.mgmt.resource.resources.v2016_02_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2016_02_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter.py new file mode 100644 index 000000000000..c4488f4cf095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.tagname = kwargs.get('tagname', None) + self.tagvalue = kwargs.get('tagvalue', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter_py3.py new file mode 100644 index 000000000000..17ad0e58c55c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_filter_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, *, resource_type: str=None, tagname: str=None, tagvalue: str=None, **kwargs) -> None: + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = resource_type + self.tagname = tagname + self.tagvalue = tagvalue diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_paged.py new file mode 100644 index 000000000000..20d56b440809 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class GenericResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GenericResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GenericResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GenericResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_py3.py new file mode 100644 index 000000000000..e5fd59038c34 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/generic_resource_py3.py @@ -0,0 +1,72 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2016_02_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: Id of the resource that manages this resource. + :type managed_by: str + :param sku: The sku of the resource. + :type sku: ~azure.mgmt.resource.resources.v2016_02_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2016_02_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, kind: str=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.plan = plan + self.properties = properties + self.kind = kind + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message.py new file mode 100644 index 000000000000..f6e080babaf1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HttpMessage. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(HttpMessage, self).__init__(**kwargs) + self.content = kwargs.get('content', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message_py3.py new file mode 100644 index 000000000000..0fe8e057876a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/http_message_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HttpMessage. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, *, content=None, **kwargs) -> None: + super(HttpMessage, self).__init__(**kwargs) + self.content = content diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity.py new file mode 100644 index 000000000000..2413d4599f36 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity_py3.py new file mode 100644 index 000000000000..7dae7201db6d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/identity_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant id of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link.py new file mode 100644 index 000000000000..a657e59ff1b8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. URI referencing the template. + :type uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ParametersLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link_py3.py new file mode 100644 index 000000000000..5fcf9c18d5f5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/parameters_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. URI referencing the template. + :type uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(ParametersLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan.py new file mode 100644 index 000000000000..b0052f4344ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan_py3.py new file mode 100644 index 000000000000..59da139a551e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/plan_py3.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider.py new file mode 100644 index 000000000000..2a8777107446 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + :param id: The provider id. + :type id: str + :param namespace: The namespace of the provider. + :type namespace: str + :param registration_state: The registration state of the provider. + :type registration_state: str + :param resource_types: The collection of provider resource types. + :type resource_types: + list[~azure.mgmt.resource.resources.v2016_02_01.models.ProviderResourceType] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.namespace = kwargs.get('namespace', None) + self.registration_state = kwargs.get('registration_state', None) + self.resource_types = kwargs.get('resource_types', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_paged.py new file mode 100644 index 000000000000..d58095b745ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`Provider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Provider]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_py3.py new file mode 100644 index 000000000000..28fe4396230b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + :param id: The provider id. + :type id: str + :param namespace: The namespace of the provider. + :type namespace: str + :param registration_state: The registration state of the provider. + :type registration_state: str + :param resource_types: The collection of provider resource types. + :type resource_types: + list[~azure.mgmt.resource.resources.v2016_02_01.models.ProviderResourceType] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, *, id: str=None, namespace: str=None, registration_state: str=None, resource_types=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.id = id + self.namespace = namespace + self.registration_state = registration_state + self.resource_types = resource_types diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type.py new file mode 100644 index 000000000000..4ca6e1bb813b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created in. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2016_02_01.models.AliasType] + :param api_versions: The api version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.locations = kwargs.get('locations', None) + self.aliases = kwargs.get('aliases', None) + self.api_versions = kwargs.get('api_versions', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type_py3.py new file mode 100644 index 000000000000..60457dab9a53 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/provider_resource_type_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created in. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2016_02_01.models.AliasType] + :param api_versions: The api version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, resource_type: str=None, locations=None, aliases=None, api_versions=None, properties=None, **kwargs) -> None: + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = resource_type + self.locations = locations + self.aliases = aliases + self.api_versions = api_versions + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource.py new file mode 100644 index 000000000000..a24cfa5648f3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group.py new file mode 100644 index 000000000000..bc47fd96f85b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group.py @@ -0,0 +1,58 @@ +# 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 msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The Name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. Has to be one of the + supported Azure Locations, such as West US, East US, West Europe, East + Asia, etc. + :type location: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result.py new file mode 100644 index 000000000000..cdb3f515ea77 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """ResourceGroupExportResult. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.error = kwargs.get('error', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result_py3.py new file mode 100644 index 000000000000..baa6d472a58c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_export_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """ResourceGroupExportResult. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, *, template=None, error=None, **kwargs) -> None: + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = template + self.error = error diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter.py new file mode 100644 index 000000000000..c94284bf3644 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = kwargs.get('tag_name', None) + self.tag_value = kwargs.get('tag_value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter_py3.py new file mode 100644 index 000000000000..d709b6afd34f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_filter_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, *, tag_name: str=None, tag_value: str=None, **kwargs) -> None: + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = tag_name + self.tag_value = tag_value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_paged.py new file mode 100644 index 000000000000..36ad1c7bf4a6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceGroupPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties.py new file mode 100644 index 000000000000..39411e3d79fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties_py3.py new file mode 100644 index 000000000000..67d6d06dedbd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_properties_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_py3.py new file mode 100644 index 000000000000..63105fba8f95 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_group_py3.py @@ -0,0 +1,58 @@ +# 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 msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The Name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. Has to be one of the + supported Azure Locations, such as West US, East US, West Europe, East + Asia, etc. + :type location: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, name: str=None, properties=None, tags=None, **kwargs) -> None: + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_client_enums.py new file mode 100644 index 000000000000..3b6a0e19d760 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_client_enums.py @@ -0,0 +1,23 @@ +# 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 enum import Enum + + +class DeploymentMode(str, Enum): + + incremental = "Incremental" + complete = "Complete" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details.py new file mode 100644 index 000000000000..dee88677696e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """ResourceManagementErrorWithDetails. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code returned from the server. + :type code: str + :param message: Required. The error message returned from the server. + :type message: str + :param target: The target of the error. + :type target: str + :param details: Validation error. + :type details: + list[~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details_py3.py new file mode 100644 index 000000000000..97c992e8e916 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_management_error_with_details_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """ResourceManagementErrorWithDetails. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. The error code returned from the server. + :type code: str + :param message: Required. The error message returned from the server. + :type message: str + :param target: The target of the error. + :type target: str + :param details: Validation error. + :type details: + list[~azure.mgmt.resource.resources.v2016_02_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, *, code: str, message: str, target: str=None, details=None, **kwargs) -> None: + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties.py new file mode 100644 index 000000000000..ac328b64bb1a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = kwargs.get('publisher', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties_py3.py new file mode 100644 index 000000000000..aecc5a412673 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_provider_operation_display_properties_py3.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, publisher: str=None, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = publisher + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_py3.py new file mode 100644 index 000000000000..ded219535f4c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info.py new file mode 100644 index 000000000000..00f415954731 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The ids of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.target_resource_group = kwargs.get('target_resource_group', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info_py3.py new file mode 100644 index 000000000000..f69e3e42a3d2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/resources_move_info_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The ids of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, *, resources=None, target_resource_group: str=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = resources + self.target_resource_group = target_resource_group diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku.py new file mode 100644 index 000000000000..e2ced66cc962 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """Sku for the resource. + + :param name: The sku name. + :type name: str + :param tier: The sku tier. + :type tier: str + :param size: The sku size. + :type size: str + :param family: The sku family. + :type family: str + :param model: The sku model. + :type model: str + :param capacity: The sku capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku_py3.py new file mode 100644 index 000000000000..6b441d3d85af --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sku_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """Sku for the resource. + + :param name: The sku name. + :type name: str + :param tier: The sku tier. + :type tier: str + :param size: The sku size. + :type size: str + :param family: The sku family. + :type family: str + :param model: The sku model. + :type model: str + :param capacity: The sku capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource.py new file mode 100644 index 000000000000..11e092cc6ff5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """SubResource. + + :param id: Resource Id + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..29e5afee38f9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """SubResource. + + :param id: Resource Id + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count.py new file mode 100644 index 000000000000..1f0ad6d4ffe8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TagCount, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count_py3.py new file mode 100644 index 000000000000..82c8d1ee26a5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_count_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, type: str=None, value: str=None, **kwargs) -> None: + super(TagCount, self).__init__(**kwargs) + self.type = type + self.value = value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details.py new file mode 100644 index 000000000000..6f13c5842129 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The tag count. + :type count: ~azure.mgmt.resource.resources.v2016_02_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2016_02_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, **kwargs): + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = kwargs.get('tag_name', None) + self.count = kwargs.get('count', None) + self.values = kwargs.get('values', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_paged.py new file mode 100644 index 000000000000..9925071cceb7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TagDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`TagDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TagDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(TagDetailsPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_py3.py new file mode 100644 index 000000000000..1044b1cf9b05 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_details_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The tag count. + :type count: ~azure.mgmt.resource.resources.v2016_02_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2016_02_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, *, tag_name: str=None, count=None, values=None, **kwargs) -> None: + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = tag_name + self.count = count + self.values = values diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value.py new file mode 100644 index 000000000000..2de4f58ee20d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2016_02_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, **kwargs): + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = kwargs.get('tag_value', None) + self.count = kwargs.get('count', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value_py3.py new file mode 100644 index 000000000000..a9c47d2ebfbe --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/tag_value_py3.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2016_02_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, *, tag_value: str=None, count=None, **kwargs) -> None: + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = tag_value + self.count = count diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource.py new file mode 100644 index 000000000000..27d557645e8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_name = kwargs.get('resource_name', None) + self.resource_type = kwargs.get('resource_type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource_py3.py new file mode 100644 index 000000000000..933347cec8f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/target_resource_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_name: str=None, resource_type: str=None, **kwargs) -> None: + super(TargetResource, self).__init__(**kwargs) + self.id = id + self.resource_name = resource_name + self.resource_type = resource_type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link.py new file mode 100644 index 000000000000..5e6e03eb7bfe --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. URI referencing the template. + :type uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemplateLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link_py3.py new file mode 100644 index 000000000000..0e4e9016e093 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/models/template_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. URI referencing the template. + :type uri: str + :param content_version: If included it must match the ContentVersion in + the template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(TemplateLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/__init__.py new file mode 100644 index 000000000000..da4f997ebff4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/__init__.py @@ -0,0 +1,26 @@ +# 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 .deployments_operations import DeploymentsOperations +from .providers_operations import ProvidersOperations +from .resource_groups_operations import ResourceGroupsOperations +from .resources_operations import ResourcesOperations +from .tags_operations import TagsOperations +from .deployment_operations import DeploymentOperations + +__all__ = [ + 'DeploymentsOperations', + 'ProvidersOperations', + 'ResourceGroupsOperations', + 'ResourcesOperations', + 'TagsOperations', + 'DeploymentOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployment_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployment_operations.py new file mode 100644 index 000000000000..3dea64a5257c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployment_operations.py @@ -0,0 +1,180 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DeploymentOperations(object): + """DeploymentOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + def get( + self, resource_group_name, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Get a list of deployments operations. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: Operation Id. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}'} + + def list( + self, resource_group_name, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of deployments operations. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param top: Query parameters. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployments_operations.py new file mode 100644 index 000000000000..00f417d91aaa --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/deployments_operations.py @@ -0,0 +1,616 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to be deleted. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether deployment exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, deployment_name, properties=None, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, deployment_name, properties=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a named template deployment using a template. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Get a deployment. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancel a currently running template deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate( + self, resource_group_name, deployment_name, properties=None, custom_headers=None, raw=False, **operation_config): + """Validate a deployment template. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports a deployment template. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list( + self, resource_group_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get a list of deployments. + + :param resource_group_name: The name of the resource group to filter + by. The name is case insensitive. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param top: Query parameters. If null is passed returns all + deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2016_02_01.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/providers_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/providers_operations.py new file mode 100644 index 000000000000..bfb7442a6d7d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/providers_operations.py @@ -0,0 +1,297 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + def unregister( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Unregisters provider from a subscription. + + :param resource_provider_namespace: Namespace of the resource + provider. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.unregister.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + unregister.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister'} + + def register( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Registers provider to be used with a subscription. + + :param resource_provider_namespace: Namespace of the resource + provider. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register'} + + def list( + self, top=None, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of resource providers. + + :param top: Query parameters. If null is passed returns all + deployments. + :type top: int + :param expand: The $expand query parameter. e.g. To include property + aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Provider + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ProviderPaged[~azure.mgmt.resource.resources.v2016_02_01.models.Provider] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers'} + + def get( + self, resource_provider_namespace, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets a resource provider. + + :param resource_provider_namespace: Namespace of the resource + provider. + :type resource_provider_namespace: str + :param expand: The $expand query parameter. e.g. To include property + aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resource_groups_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resource_groups_operations.py new file mode 100644 index 000000000000..08cc3d0bb19e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resource_groups_operations.py @@ -0,0 +1,602 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourceGroupsOperations(object): + """ResourceGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + def list_resources( + self, resource_group_name, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all of the resources under a subscription. + + :param resource_group_name: Query parameters. If null is passed + returns all resource groups. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter + :type expand: str + :param top: Query parameters. If null is passed returns all resource + groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_resources.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources'} + + def check_existence( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Checks whether resource group exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def create_or_update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Create a resource group. + + :param resource_group_name: The name of the resource group to be + created or updated. + :type resource_group_name: str + :param parameters: Parameters supplied to the create or update + resource group service operation. + :type parameters: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + + def _delete_initial( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete resource group. + + :param resource_group_name: The name of the resource group to be + deleted. The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def get( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get a resource group. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def patch( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Resource groups can be updated through a simple PATCH operation to a + group address. The format of the request is the same as that for + creating a resource groups, though if a field is unspecified current + value will be carried over. . + + :param resource_group_name: The name of the resource group to be + created or updated. The name is case insensitive. + :type resource_group_name: str + :param parameters: Parameters supplied to the update state resource + group service operation. + :type parameters: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.patch.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def export_template( + self, resource_group_name, resources=None, options=None, custom_headers=None, raw=False, **operation_config): + """Captures the specified resource group as a template. + + :param resource_group_name: The name of the resource group to be + created or updated. + :type resource_group_name: str + :param resources: The ids of the resources. The only supported string + currently is '*' (all resources). Future api updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroupExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroupExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ExportTemplateRequest(resources=resources, options=options) + + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExportTemplateRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroupExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'} + + def list( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Gets a collection of resource groups. + + :param filter: The filter to apply on the operation. + :type filter: str + :param top: Query parameters. If null is passed returns all resource + groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceGroup + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroupPaged[~azure.mgmt.resource.resources.v2016_02_01.models.ResourceGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resources_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resources_operations.py new file mode 100644 index 000000000000..16723808af93 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/resources_operations.py @@ -0,0 +1,614 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcesOperations(object): + """ResourcesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + + def _move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Move resources from one resource group to another. The resources being + moved should all be in the same resource group. + + :param source_resource_group_name: Source resource group name. + :type source_resource_group_name: str + :param resources: The ids of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'} + + def list( + self, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all of the resources under a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter. + :type expand: str + :param top: Query parameters. If null is passed returns all resource + groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resources'} + + def check_existence( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Checks whether resource exists. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param api_version: + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def delete( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Delete resource and all of its resources. . + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param api_version: + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def create_or_update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + """Create a resource. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param api_version: + :type api_version: str + :param parameters: Create or update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to update. + :type resource_type: str + :param resource_name: The name of the resource to update. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def get( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Returns a resource belonging to a resource group. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: Resource identity. + :type resource_provider_namespace: str + :param parent_resource_path: Resource identity. + :type parent_resource_path: str + :param resource_type: Resource identity. + :type resource_type: str + :param resource_name: Resource identity. + :type resource_name: str + :param api_version: + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/tags_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/tags_operations.py new file mode 100644 index 000000000000..824244812a13 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/operations/tags_operations.py @@ -0,0 +1,330 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TagsOperations(object): + """TagsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2016-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-02-01" + + self.config = config + + def delete_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Delete a subscription resource tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Create a subscription resource tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagValue or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_02_01.models.TagValue or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagValue', response) + if response.status_code == 201: + deserialized = self._deserialize('TagValue', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Create a subscription resource tag. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_02_01.models.TagDetails + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('TagDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def delete( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Delete a subscription resource tag. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get a list of subscription resource tags. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TagDetails + :rtype: + ~azure.mgmt.resource.resources.v2016_02_01.models.TagDetailsPaged[~azure.mgmt.resource.resources.v2016_02_01.models.TagDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/resource_management_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/resource_management_client.py new file mode 100644 index 000000000000..db77a80465a1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/resource_management_client.py @@ -0,0 +1,106 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.deployments_operations import DeploymentsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.resource_groups_operations import ResourceGroupsOperations +from .operations.resources_operations import ResourcesOperations +from .operations.tags_operations import TagsOperations +from .operations.deployment_operations import DeploymentOperations +from . import models + + +class ResourceManagementClientConfiguration(AzureConfiguration): + """Configuration for ResourceManagementClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ResourceManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ResourceManagementClient(SDKClient): + """ResourceManagementClient + + :ivar config: Configuration for client. + :vartype config: ResourceManagementClientConfiguration + + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.resource.resources.v2016_02_01.operations.DeploymentsOperations + :ivar providers: Providers operations + :vartype providers: azure.mgmt.resource.resources.v2016_02_01.operations.ProvidersOperations + :ivar resource_groups: ResourceGroups operations + :vartype resource_groups: azure.mgmt.resource.resources.v2016_02_01.operations.ResourceGroupsOperations + :ivar resources: Resources operations + :vartype resources: azure.mgmt.resource.resources.v2016_02_01.operations.ResourcesOperations + :ivar tags: Tags operations + :vartype tags: azure.mgmt.resource.resources.v2016_02_01.operations.TagsOperations + :ivar deployment_operations: DeploymentOperations operations + :vartype deployment_operations: azure.mgmt.resource.resources.v2016_02_01.operations.DeploymentOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ResourceManagementClientConfiguration(credentials, subscription_id, base_url) + super(ResourceManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-02-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.deployments = DeploymentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_groups = ResourceGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resources = ResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tags = TagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deployment_operations = DeploymentOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/version.py new file mode 100644 index 000000000000..c5a0f253483c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_02_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-02-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/__init__.py new file mode 100644 index 000000000000..d2e3198e88e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .resource_management_client import ResourceManagementClient +from .version import VERSION + +__all__ = ['ResourceManagementClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/__init__.py new file mode 100644 index 000000000000..c5534984cdc7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/__init__.py @@ -0,0 +1,148 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .deployment_extended_filter_py3 import DeploymentExtendedFilter + from .generic_resource_filter_py3 import GenericResourceFilter + from .resource_group_filter_py3 import ResourceGroupFilter + from .template_link_py3 import TemplateLink + from .parameters_link_py3 import ParametersLink + from .debug_setting_py3 import DebugSetting + from .deployment_properties_py3 import DeploymentProperties + from .deployment_py3 import Deployment + from .deployment_export_result_py3 import DeploymentExportResult + from .resource_management_error_with_details_py3 import ResourceManagementErrorWithDetails + from .alias_path_type_py3 import AliasPathType + from .alias_type_py3 import AliasType + from .provider_resource_type_py3 import ProviderResourceType + from .provider_py3 import Provider + from .basic_dependency_py3 import BasicDependency + from .dependency_py3 import Dependency + from .deployment_properties_extended_py3 import DeploymentPropertiesExtended + from .deployment_validate_result_py3 import DeploymentValidateResult + from .deployment_extended_py3 import DeploymentExtended + from .plan_py3 import Plan + from .sku_py3 import Sku + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_group_properties_py3 import ResourceGroupProperties + from .resource_group_py3 import ResourceGroup + from .resources_move_info_py3 import ResourcesMoveInfo + from .export_template_request_py3 import ExportTemplateRequest + from .tag_count_py3 import TagCount + from .tag_value_py3 import TagValue + from .tag_details_py3 import TagDetails + from .target_resource_py3 import TargetResource + from .http_message_py3 import HttpMessage + from .deployment_operation_properties_py3 import DeploymentOperationProperties + from .deployment_operation_py3 import DeploymentOperation + from .resource_provider_operation_display_properties_py3 import ResourceProviderOperationDisplayProperties + from .resource_py3 import Resource + from .sub_resource_py3 import SubResource + from .resource_group_export_result_py3 import ResourceGroupExportResult +except (SyntaxError, ImportError): + from .deployment_extended_filter import DeploymentExtendedFilter + from .generic_resource_filter import GenericResourceFilter + from .resource_group_filter import ResourceGroupFilter + from .template_link import TemplateLink + from .parameters_link import ParametersLink + from .debug_setting import DebugSetting + from .deployment_properties import DeploymentProperties + from .deployment import Deployment + from .deployment_export_result import DeploymentExportResult + from .resource_management_error_with_details import ResourceManagementErrorWithDetails + from .alias_path_type import AliasPathType + from .alias_type import AliasType + from .provider_resource_type import ProviderResourceType + from .provider import Provider + from .basic_dependency import BasicDependency + from .dependency import Dependency + from .deployment_properties_extended import DeploymentPropertiesExtended + from .deployment_validate_result import DeploymentValidateResult + from .deployment_extended import DeploymentExtended + from .plan import Plan + from .sku import Sku + from .identity import Identity + from .generic_resource import GenericResource + from .resource_group_properties import ResourceGroupProperties + from .resource_group import ResourceGroup + from .resources_move_info import ResourcesMoveInfo + from .export_template_request import ExportTemplateRequest + from .tag_count import TagCount + from .tag_value import TagValue + from .tag_details import TagDetails + from .target_resource import TargetResource + from .http_message import HttpMessage + from .deployment_operation_properties import DeploymentOperationProperties + from .deployment_operation import DeploymentOperation + from .resource_provider_operation_display_properties import ResourceProviderOperationDisplayProperties + from .resource import Resource + from .sub_resource import SubResource + from .resource_group_export_result import ResourceGroupExportResult +from .deployment_extended_paged import DeploymentExtendedPaged +from .provider_paged import ProviderPaged +from .generic_resource_paged import GenericResourcePaged +from .resource_group_paged import ResourceGroupPaged +from .tag_details_paged import TagDetailsPaged +from .deployment_operation_paged import DeploymentOperationPaged +from .resource_management_client_enums import ( + DeploymentMode, + ResourceIdentityType, +) + +__all__ = [ + 'DeploymentExtendedFilter', + 'GenericResourceFilter', + 'ResourceGroupFilter', + 'TemplateLink', + 'ParametersLink', + 'DebugSetting', + 'DeploymentProperties', + 'Deployment', + 'DeploymentExportResult', + 'ResourceManagementErrorWithDetails', + 'AliasPathType', + 'AliasType', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'DeploymentPropertiesExtended', + 'DeploymentValidateResult', + 'DeploymentExtended', + 'Plan', + 'Sku', + 'Identity', + 'GenericResource', + 'ResourceGroupProperties', + 'ResourceGroup', + 'ResourcesMoveInfo', + 'ExportTemplateRequest', + 'TagCount', + 'TagValue', + 'TagDetails', + 'TargetResource', + 'HttpMessage', + 'DeploymentOperationProperties', + 'DeploymentOperation', + 'ResourceProviderOperationDisplayProperties', + 'Resource', + 'SubResource', + 'ResourceGroupExportResult', + 'DeploymentExtendedPaged', + 'ProviderPaged', + 'GenericResourcePaged', + 'ResourceGroupPaged', + 'TagDetailsPaged', + 'DeploymentOperationPaged', + 'DeploymentMode', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type.py new file mode 100644 index 000000000000..ee5959ef5463 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AliasPathType, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.api_versions = kwargs.get('api_versions', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type_py3.py new file mode 100644 index 000000000000..ccd48141f917 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_path_type_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, *, path: str=None, api_versions=None, **kwargs) -> None: + super(AliasPathType, self).__init__(**kwargs) + self.path = path + self.api_versions = api_versions diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type.py new file mode 100644 index 000000000000..50529e5cf312 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2016_09_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, **kwargs): + super(AliasType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.paths = kwargs.get('paths', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type_py3.py new file mode 100644 index 000000000000..c4df9f929765 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/alias_type_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2016_09_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, *, name: str=None, paths=None, **kwargs) -> None: + super(AliasType, self).__init__(**kwargs) + self.name = name + self.paths = paths diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency.py new file mode 100644 index 000000000000..3a5ccd4aa464 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BasicDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency_py3.py new file mode 100644 index 000000000000..49d821737930 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/basic_dependency_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(BasicDependency, self).__init__(**kwargs) + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting.py new file mode 100644 index 000000000000..d6f778c5c86d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = kwargs.get('detail_level', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting_py3.py new file mode 100644 index 000000000000..af571a729762 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/debug_setting_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, *, detail_level: str=None, **kwargs) -> None: + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = detail_level diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency.py new file mode 100644 index 000000000000..eaea8dbcb8ab --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2016_09_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dependency, self).__init__(**kwargs) + self.depends_on = kwargs.get('depends_on', None) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency_py3.py new file mode 100644 index 000000000000..adecd1f20f4b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/dependency_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2016_09_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, depends_on=None, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(Dependency, self).__init__(**kwargs) + self.depends_on = depends_on + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment.py new file mode 100644 index 000000000000..8e0456aeb00d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result.py new file mode 100644 index 000000000000..807e79c8b678 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result_py3.py new file mode 100644 index 000000000000..63f10bf2735a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_export_result_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, template=None, **kwargs) -> None: + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = template diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended.py new file mode 100644 index 000000000000..60c1bbe9c93e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter.py new file mode 100644 index 000000000000..0839bcc12e4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter_py3.py new file mode 100644 index 000000000000..f06d0d1a4dfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_filter_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state: str=None, **kwargs) -> None: + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = provisioning_state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_paged.py new file mode 100644 index 000000000000..e6dad900e509 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentExtendedPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentExtended ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentExtended]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentExtendedPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_py3.py new file mode 100644 index 000000000000..63c91e2a377f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, name: str, properties=None, **kwargs) -> None: + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation.py new file mode 100644 index 000000000000..03f068a75209 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_paged.py new file mode 100644 index 000000000000..58d6e38c4a05 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentOperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties.py new file mode 100644 index 000000000000..b419f384d996 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2016_09_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2016_09_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2016_09_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties_py3.py new file mode 100644 index 000000000000..5f38d5397dac --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_properties_py3.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2016_09_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2016_09_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2016_09_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs) -> None: + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_py3.py new file mode 100644 index 000000000000..04e8dd066bb5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_operation_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties.py new file mode 100644 index 000000000000..fc2c23d46783 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties.py @@ -0,0 +1,76 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_09_01.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentProperties, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended.py new file mode 100644 index 000000000000..b337d1cf4d3c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended.py @@ -0,0 +1,93 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2016_09_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2016_09_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_09_01.models.DebugSetting + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = kwargs.get('outputs', None) + self.providers = kwargs.get('providers', None) + self.dependencies = kwargs.get('dependencies', None) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended_py3.py new file mode 100644 index 000000000000..1bb1c132b19b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_extended_py3.py @@ -0,0 +1,93 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2016_09_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2016_09_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_09_01.models.DebugSetting + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None, debug_setting=None, **kwargs) -> None: + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = outputs + self.providers = providers + self.dependencies = dependencies + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_py3.py new file mode 100644 index 000000000000..962216f1a0a5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_properties_py3.py @@ -0,0 +1,76 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2016_09_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2016_09_01.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, mode, template=None, template_link=None, parameters=None, parameters_link=None, debug_setting=None, **kwargs) -> None: + super(DeploymentProperties, self).__init__(**kwargs) + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_py3.py new file mode 100644 index 000000000000..415f35e07862 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, *, properties, **kwargs) -> None: + super(Deployment, self).__init__(**kwargs) + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result.py new file mode 100644 index 000000000000..3e454cc4b390 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result_py3.py new file mode 100644 index 000000000000..5f2c3db1fd22 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/deployment_validate_result_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, error=None, properties=None, **kwargs) -> None: + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = error + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request.py new file mode 100644 index 000000000000..069bfbb70632 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.options = kwargs.get('options', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request_py3.py new file mode 100644 index 000000000000..2374c103d566 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/export_template_request_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, *, resources=None, options: str=None, **kwargs) -> None: + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = resources + self.options = options diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource.py new file mode 100644 index 000000000000..44b6cf1eb592 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2016_09_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2016_09_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2016_09_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter.py new file mode 100644 index 000000000000..c4488f4cf095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.tagname = kwargs.get('tagname', None) + self.tagvalue = kwargs.get('tagvalue', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter_py3.py new file mode 100644 index 000000000000..17ad0e58c55c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_filter_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, *, resource_type: str=None, tagname: str=None, tagvalue: str=None, **kwargs) -> None: + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = resource_type + self.tagname = tagname + self.tagvalue = tagvalue diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_paged.py new file mode 100644 index 000000000000..e1448128161c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class GenericResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GenericResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GenericResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GenericResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_py3.py new file mode 100644 index 000000000000..9c770395c708 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/generic_resource_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2016_09_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2016_09_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2016_09_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, kind: str=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.plan = plan + self.properties = properties + self.kind = kind + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message.py new file mode 100644 index 000000000000..f6e080babaf1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HttpMessage. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(HttpMessage, self).__init__(**kwargs) + self.content = kwargs.get('content', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message_py3.py new file mode 100644 index 000000000000..0fe8e057876a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/http_message_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HttpMessage. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, *, content=None, **kwargs) -> None: + super(HttpMessage, self).__init__(**kwargs) + self.content = content diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity.py new file mode 100644 index 000000000000..8f1adb1fd10a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity_py3.py new file mode 100644 index 000000000000..8b22c328ada6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/identity_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link.py new file mode 100644 index 000000000000..0696248fc17c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ParametersLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link_py3.py new file mode 100644 index 000000000000..734546c362c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/parameters_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(ParametersLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan.py new file mode 100644 index 000000000000..b0052f4344ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan_py3.py new file mode 100644 index 000000000000..59da139a551e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/plan_py3.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider.py new file mode 100644 index 000000000000..04dc2c801611 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2016_09_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = kwargs.get('namespace', None) + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_paged.py new file mode 100644 index 000000000000..b8e2674976b1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`Provider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Provider]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_py3.py new file mode 100644 index 000000000000..b830cf9023cc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2016_09_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, *, namespace: str=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = namespace + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type.py new file mode 100644 index 000000000000..b87867ad0a86 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2016_09_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.locations = kwargs.get('locations', None) + self.aliases = kwargs.get('aliases', None) + self.api_versions = kwargs.get('api_versions', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type_py3.py new file mode 100644 index 000000000000..9f07228051e7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/provider_resource_type_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2016_09_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, resource_type: str=None, locations=None, aliases=None, api_versions=None, properties=None, **kwargs) -> None: + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = resource_type + self.locations = locations + self.aliases = aliases + self.api_versions = api_versions + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource.py new file mode 100644 index 000000000000..ee7662aeee52 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group.py new file mode 100644 index 000000000000..6a66925978ed --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result.py new file mode 100644 index 000000000000..a2fab58e5e1f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """ResourceGroupExportResult. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.error = kwargs.get('error', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result_py3.py new file mode 100644 index 000000000000..35130719e255 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_export_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """ResourceGroupExportResult. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, *, template=None, error=None, **kwargs) -> None: + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = template + self.error = error diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter.py new file mode 100644 index 000000000000..c94284bf3644 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = kwargs.get('tag_name', None) + self.tag_value = kwargs.get('tag_value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter_py3.py new file mode 100644 index 000000000000..d709b6afd34f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_filter_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, *, tag_name: str=None, tag_value: str=None, **kwargs) -> None: + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = tag_name + self.tag_value = tag_value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_paged.py new file mode 100644 index 000000000000..8ee7c5ec2095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceGroupPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties.py new file mode 100644 index 000000000000..39411e3d79fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties_py3.py new file mode 100644 index 000000000000..67d6d06dedbd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_properties_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_py3.py new file mode 100644 index 000000000000..1243c3e93af1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_group_py3.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties + self.location = location + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_client_enums.py new file mode 100644 index 000000000000..3b6a0e19d760 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_client_enums.py @@ -0,0 +1,23 @@ +# 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 enum import Enum + + +class DeploymentMode(str, Enum): + + incremental = "Incremental" + complete = "Complete" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details.py new file mode 100644 index 000000000000..8e48f01e3db7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """ResourceManagementErrorWithDetails. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details_py3.py new file mode 100644 index 000000000000..8ca9c8e28cdd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_management_error_with_details_py3.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """ResourceManagementErrorWithDetails. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2016_09_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties.py new file mode 100644 index 000000000000..ac328b64bb1a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = kwargs.get('publisher', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties_py3.py new file mode 100644 index 000000000000..aecc5a412673 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_provider_operation_display_properties_py3.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, publisher: str=None, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = publisher + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_py3.py new file mode 100644 index 000000000000..3c8102ab5262 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info.py new file mode 100644 index 000000000000..edf946d7076b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.target_resource_group = kwargs.get('target_resource_group', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info_py3.py new file mode 100644 index 000000000000..d10e2558d499 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/resources_move_info_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, *, resources=None, target_resource_group: str=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = resources + self.target_resource_group = target_resource_group diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku.py new file mode 100644 index 000000000000..bfcda32477df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku_py3.py new file mode 100644 index 000000000000..676f1d770b79 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sku_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource.py new file mode 100644 index 000000000000..2c8b30771873 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """SubResource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..d801e54680b2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """SubResource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count.py new file mode 100644 index 000000000000..a5eeb6b38cf8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TagCount, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count_py3.py new file mode 100644 index 000000000000..53c80f63fdb3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_count_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, *, type: str=None, value: int=None, **kwargs) -> None: + super(TagCount, self).__init__(**kwargs) + self.type = type + self.value = value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details.py new file mode 100644 index 000000000000..53c21e1fea02 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2016_09_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2016_09_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, **kwargs): + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = kwargs.get('tag_name', None) + self.count = kwargs.get('count', None) + self.values = kwargs.get('values', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_paged.py new file mode 100644 index 000000000000..bc1aeceea33c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TagDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`TagDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TagDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(TagDetailsPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_py3.py new file mode 100644 index 000000000000..9b946fea1a86 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_details_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2016_09_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2016_09_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, *, tag_name: str=None, count=None, values=None, **kwargs) -> None: + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = tag_name + self.count = count + self.values = values diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value.py new file mode 100644 index 000000000000..5b4a2e8e28d7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2016_09_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, **kwargs): + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = kwargs.get('tag_value', None) + self.count = kwargs.get('count', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value_py3.py new file mode 100644 index 000000000000..3228cd63f3f4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/tag_value_py3.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2016_09_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, *, tag_value: str=None, count=None, **kwargs) -> None: + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = tag_value + self.count = count diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource.py new file mode 100644 index 000000000000..27d557645e8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_name = kwargs.get('resource_name', None) + self.resource_type = kwargs.get('resource_type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource_py3.py new file mode 100644 index 000000000000..933347cec8f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/target_resource_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_name: str=None, resource_type: str=None, **kwargs) -> None: + super(TargetResource, self).__init__(**kwargs) + self.id = id + self.resource_name = resource_name + self.resource_type = resource_type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link.py new file mode 100644 index 000000000000..634095bb9754 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemplateLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link_py3.py new file mode 100644 index 000000000000..00f2597ccd98 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/models/template_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(TemplateLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/__init__.py new file mode 100644 index 000000000000..da4f997ebff4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/__init__.py @@ -0,0 +1,26 @@ +# 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 .deployments_operations import DeploymentsOperations +from .providers_operations import ProvidersOperations +from .resource_groups_operations import ResourceGroupsOperations +from .resources_operations import ResourcesOperations +from .tags_operations import TagsOperations +from .deployment_operations import DeploymentOperations + +__all__ = [ + 'DeploymentsOperations', + 'ProvidersOperations', + 'ResourceGroupsOperations', + 'ResourcesOperations', + 'TagsOperations', + 'DeploymentOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployment_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployment_operations.py new file mode 100644 index 000000000000..1b387dffc88f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployment_operations.py @@ -0,0 +1,181 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DeploymentOperations(object): + """DeploymentOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def get( + self, resource_group_name, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Gets a deployments operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: The ID of the operation to get. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}'} + + def list( + self, resource_group_name, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all deployments operations for a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment with the operation + to get. + :type deployment_name: str + :param top: The number of results to return. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployments_operations.py new file mode 100644 index 000000000000..961eb3666ef5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/deployments_operations.py @@ -0,0 +1,641 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a deployment from the deployment history. + + A template deployment that is currently running cannot be deleted. + Deleting a template deployment removes the associated deployment + operations. Deleting a template deployment does not affect the state of + the resource group. This is an asynchronous operation that returns a + status of 202 until the template deployment is successfully deleted. + The Location response header contains the URI that is used to obtain + the status of the process. While the process is running, a call to the + URI in the Location header returns a status of 202. When the process + finishes, the URI in the Location header returns a status of 204 on + success. If the asynchronous request failed, the URI in the Location + header returns an error-level status code. + + :param resource_group_name: The name of the resource group with the + deployment to delete. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to delete. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether the deployment exists. + + :param resource_group_name: The name of the resource group with the + deployment to check. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to check. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, polling=True, **operation_config): + """Deploys resources to a resource group. + + You can provide the template and parameters directly in the request or + link to JSON files. + + :param resource_group_name: The name of the resource group to deploy + the resources to. The name is case insensitive. The resource group + must already exist. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Gets a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to get. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancels a currently running template deployment. + + You can cancel a deployment only if the provisioningState is Accepted + or Running. After the deployment is canceled, the provisioningState is + set to Canceled. Canceling a template deployment stops the currently + running template deployment and leaves the resource group partially + deployed. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to cancel. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + """Validates whether the specified template is syntactically correct and + will be accepted by Azure Resource Manager.. + + :param resource_group_name: The name of the resource group the + template will be deployed to. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports the template used for specified deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment from which to get + the template. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list( + self, resource_group_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the deployments for a resource group. + + :param resource_group_name: The name of the resource group with the + deployments to get. The name is case insensitive. + :type resource_group_name: str + :param filter: The filter to apply on the operation. For example, you + can use $filter=provisioningState eq '{state}'. + :type filter: str + :param top: The number of results to get. If null is passed, returns + all deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2016_09_01.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/providers_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/providers_operations.py new file mode 100644 index 000000000000..af86920a2e5e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/providers_operations.py @@ -0,0 +1,299 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def unregister( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Unregisters a subscription from a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to unregister. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_09_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.unregister.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + unregister.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister'} + + def register( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Registers a subscription with a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to register. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_09_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register'} + + def list( + self, top=None, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets all resource providers for a subscription. + + :param top: The number of results to return. If null is passed returns + all deployments. + :type top: int + :param expand: The properties to include in the results. For example, + use &$expand=metadata in the query string to retrieve resource + provider metadata. To include property aliases in response, use + $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Provider + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ProviderPaged[~azure.mgmt.resource.resources.v2016_09_01.models.Provider] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers'} + + def get( + self, resource_provider_namespace, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param expand: The $expand query parameter. For example, to include + property aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_09_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resource_groups_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resource_groups_operations.py new file mode 100644 index 000000000000..77577612368f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resource_groups_operations.py @@ -0,0 +1,607 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourceGroupsOperations(object): + """ResourceGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def list_resources( + self, resource_group_name, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources for a resource group. + + :param resource_group_name: The resource group with the resources to + get. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resources. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_resources.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources'} + + def check_existence( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource group exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def create_or_update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates a resource group. + + :param resource_group_name: The name of the resource group to create + or update. + :type resource_group_name: str + :param parameters: Parameters supplied to the create or update a + resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + + def _delete_initial( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource group. + + When you delete a resource group, all of its resources are also + deleted. Deleting a resource group deletes all of its template + deployments and currently stored operations. + + :param resource_group_name: The name of the resource group to delete. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def get( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a resource group. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def patch( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates a resource group. + + Resource groups can be updated through a simple PATCH operation to a + group address. The format of the request is the same as that for + creating a resource group. If a field is unspecified, the current value + is retained. + + :param resource_group_name: The name of the resource group to update. + The name is case insensitive. + :type resource_group_name: str + :param parameters: Parameters supplied to update a resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.patch.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def export_template( + self, resource_group_name, resources=None, options=None, custom_headers=None, raw=False, **operation_config): + """Captures the specified resource group as a template. + + :param resource_group_name: The name of the resource group to export + as a template. + :type resource_group_name: str + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroupExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroupExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ExportTemplateRequest(resources=resources, options=options) + + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExportTemplateRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroupExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'} + + def list( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all the resource groups for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceGroup + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroupPaged[~azure.mgmt.resource.resources.v2016_09_01.models.ResourceGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resources_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resources_operations.py new file mode 100644 index 000000000000..1f65ea4738b3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/resources_operations.py @@ -0,0 +1,1091 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcesOperations(object): + """ResourcesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + + def _move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Moves resources from one resource group to another resource group. + + The resources to move must be in the same source resource group. The + target resource group may be in a different subscription. When moving + resources, both the source group and the target group are locked for + the duration of the operation. Write and delete operations are blocked + on the groups until the move completes. . + + :param source_resource_group_name: The name of the resource group + containing the resources to move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'} + + def list( + self, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources in a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter. + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resources'} + + def check_existence( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource exists. + + :param resource_group_name: The name of the resource group containing + the resource to check. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider of the + resource to check. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to check whether it + exists. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource. + + :param resource_group_name: The name of the resource group that + contains the resource to delete. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to delete. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to create. + :type resource_type: str + :param resource_name: The name of the resource to create. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for creating or updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to update. + :type resource_type: str + :param resource_name: The name of the resource to update. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def get( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource. + + :param resource_group_name: The name of the resource group containing + the resource to get. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource. + :type resource_type: str + :param resource_name: The name of the resource to get. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def check_existence_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Checks by ID whether a resource exists. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence_by_id.metadata = {'url': '/{resourceId}'} + + + def _delete_by_id_initial( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_by_id_initial( + resource_id=resource_id, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{resourceId}'} + + + def _create_or_update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Create or update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{resourceId}'} + + + def _update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_by_id.metadata = {'url': '/{resourceId}'} + + def get_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{resourceId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/tags_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/tags_operations.py new file mode 100644 index 000000000000..abfa138d5306 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/operations/tags_operations.py @@ -0,0 +1,338 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TagsOperations(object): + """TagsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2016-09-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-09-01" + + self.config = config + + def delete_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Deletes a tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to delete. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Creates a tag value. The name of the tag must already exist. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to create. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagValue or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_09_01.models.TagValue or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagValue', response) + if response.status_code == 201: + deserialized = self._deserialize('TagValue', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Creates a tag in the subscription. + + The tag name can have a maximum of 512 characters and is case + insensitive. Tag names created by Azure have prefixes of microsoft, + azure, or windows. You cannot create tags with one of these prefixes. + + :param tag_name: The name of the tag to create. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2016_09_01.models.TagDetails + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('TagDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def delete( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Deletes a tag from the subscription. + + You must remove all values from a resource tag before you can delete + it. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the names and values of all resource tags that are defined in a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TagDetails + :rtype: + ~azure.mgmt.resource.resources.v2016_09_01.models.TagDetailsPaged[~azure.mgmt.resource.resources.v2016_09_01.models.TagDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/resource_management_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/resource_management_client.py new file mode 100644 index 000000000000..4fa4270256bb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/resource_management_client.py @@ -0,0 +1,106 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.deployments_operations import DeploymentsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.resource_groups_operations import ResourceGroupsOperations +from .operations.resources_operations import ResourcesOperations +from .operations.tags_operations import TagsOperations +from .operations.deployment_operations import DeploymentOperations +from . import models + + +class ResourceManagementClientConfiguration(AzureConfiguration): + """Configuration for ResourceManagementClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ResourceManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ResourceManagementClient(SDKClient): + """Provides operations for working with resources and resource groups. + + :ivar config: Configuration for client. + :vartype config: ResourceManagementClientConfiguration + + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.resource.resources.v2016_09_01.operations.DeploymentsOperations + :ivar providers: Providers operations + :vartype providers: azure.mgmt.resource.resources.v2016_09_01.operations.ProvidersOperations + :ivar resource_groups: ResourceGroups operations + :vartype resource_groups: azure.mgmt.resource.resources.v2016_09_01.operations.ResourceGroupsOperations + :ivar resources: Resources operations + :vartype resources: azure.mgmt.resource.resources.v2016_09_01.operations.ResourcesOperations + :ivar tags: Tags operations + :vartype tags: azure.mgmt.resource.resources.v2016_09_01.operations.TagsOperations + :ivar deployment_operations: DeploymentOperations operations + :vartype deployment_operations: azure.mgmt.resource.resources.v2016_09_01.operations.DeploymentOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ResourceManagementClientConfiguration(credentials, subscription_id, base_url) + super(ResourceManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-09-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.deployments = DeploymentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_groups = ResourceGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resources = ResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tags = TagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deployment_operations = DeploymentOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/version.py new file mode 100644 index 000000000000..e63d4addb017 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2016_09_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-09-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/__init__.py new file mode 100644 index 000000000000..d2e3198e88e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/__init__.py @@ -0,0 +1,18 @@ +# 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 .resource_management_client import ResourceManagementClient +from .version import VERSION + +__all__ = ['ResourceManagementClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/__init__.py new file mode 100644 index 000000000000..5d0dbe082824 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/__init__.py @@ -0,0 +1,151 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .deployment_extended_filter_py3 import DeploymentExtendedFilter + from .generic_resource_filter_py3 import GenericResourceFilter + from .resource_group_filter_py3 import ResourceGroupFilter + from .template_link_py3 import TemplateLink + from .parameters_link_py3 import ParametersLink + from .debug_setting_py3 import DebugSetting + from .deployment_properties_py3 import DeploymentProperties + from .deployment_py3 import Deployment + from .deployment_export_result_py3 import DeploymentExportResult + from .resource_management_error_with_details_py3 import ResourceManagementErrorWithDetails + from .alias_path_type_py3 import AliasPathType + from .alias_type_py3 import AliasType + from .provider_resource_type_py3 import ProviderResourceType + from .provider_py3 import Provider + from .basic_dependency_py3 import BasicDependency + from .dependency_py3 import Dependency + from .deployment_properties_extended_py3 import DeploymentPropertiesExtended + from .deployment_validate_result_py3 import DeploymentValidateResult + from .deployment_extended_py3 import DeploymentExtended + from .plan_py3 import Plan + from .sku_py3 import Sku + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_group_properties_py3 import ResourceGroupProperties + from .resource_group_py3 import ResourceGroup + from .resource_group_patchable_py3 import ResourceGroupPatchable + from .resources_move_info_py3 import ResourcesMoveInfo + from .export_template_request_py3 import ExportTemplateRequest + from .tag_count_py3 import TagCount + from .tag_value_py3 import TagValue + from .tag_details_py3 import TagDetails + from .target_resource_py3 import TargetResource + from .http_message_py3 import HttpMessage + from .deployment_operation_properties_py3 import DeploymentOperationProperties + from .deployment_operation_py3 import DeploymentOperation + from .resource_provider_operation_display_properties_py3 import ResourceProviderOperationDisplayProperties + from .resource_py3 import Resource + from .sub_resource_py3 import SubResource + from .resource_group_export_result_py3 import ResourceGroupExportResult +except (SyntaxError, ImportError): + from .deployment_extended_filter import DeploymentExtendedFilter + from .generic_resource_filter import GenericResourceFilter + from .resource_group_filter import ResourceGroupFilter + from .template_link import TemplateLink + from .parameters_link import ParametersLink + from .debug_setting import DebugSetting + from .deployment_properties import DeploymentProperties + from .deployment import Deployment + from .deployment_export_result import DeploymentExportResult + from .resource_management_error_with_details import ResourceManagementErrorWithDetails + from .alias_path_type import AliasPathType + from .alias_type import AliasType + from .provider_resource_type import ProviderResourceType + from .provider import Provider + from .basic_dependency import BasicDependency + from .dependency import Dependency + from .deployment_properties_extended import DeploymentPropertiesExtended + from .deployment_validate_result import DeploymentValidateResult + from .deployment_extended import DeploymentExtended + from .plan import Plan + from .sku import Sku + from .identity import Identity + from .generic_resource import GenericResource + from .resource_group_properties import ResourceGroupProperties + from .resource_group import ResourceGroup + from .resource_group_patchable import ResourceGroupPatchable + from .resources_move_info import ResourcesMoveInfo + from .export_template_request import ExportTemplateRequest + from .tag_count import TagCount + from .tag_value import TagValue + from .tag_details import TagDetails + from .target_resource import TargetResource + from .http_message import HttpMessage + from .deployment_operation_properties import DeploymentOperationProperties + from .deployment_operation import DeploymentOperation + from .resource_provider_operation_display_properties import ResourceProviderOperationDisplayProperties + from .resource import Resource + from .sub_resource import SubResource + from .resource_group_export_result import ResourceGroupExportResult +from .deployment_extended_paged import DeploymentExtendedPaged +from .provider_paged import ProviderPaged +from .generic_resource_paged import GenericResourcePaged +from .resource_group_paged import ResourceGroupPaged +from .tag_details_paged import TagDetailsPaged +from .deployment_operation_paged import DeploymentOperationPaged +from .resource_management_client_enums import ( + DeploymentMode, + ResourceIdentityType, +) + +__all__ = [ + 'DeploymentExtendedFilter', + 'GenericResourceFilter', + 'ResourceGroupFilter', + 'TemplateLink', + 'ParametersLink', + 'DebugSetting', + 'DeploymentProperties', + 'Deployment', + 'DeploymentExportResult', + 'ResourceManagementErrorWithDetails', + 'AliasPathType', + 'AliasType', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'DeploymentPropertiesExtended', + 'DeploymentValidateResult', + 'DeploymentExtended', + 'Plan', + 'Sku', + 'Identity', + 'GenericResource', + 'ResourceGroupProperties', + 'ResourceGroup', + 'ResourceGroupPatchable', + 'ResourcesMoveInfo', + 'ExportTemplateRequest', + 'TagCount', + 'TagValue', + 'TagDetails', + 'TargetResource', + 'HttpMessage', + 'DeploymentOperationProperties', + 'DeploymentOperation', + 'ResourceProviderOperationDisplayProperties', + 'Resource', + 'SubResource', + 'ResourceGroupExportResult', + 'DeploymentExtendedPaged', + 'ProviderPaged', + 'GenericResourcePaged', + 'ResourceGroupPaged', + 'TagDetailsPaged', + 'DeploymentOperationPaged', + 'DeploymentMode', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type.py new file mode 100644 index 000000000000..ee5959ef5463 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AliasPathType, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.api_versions = kwargs.get('api_versions', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type_py3.py new file mode 100644 index 000000000000..ccd48141f917 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_path_type_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, *, path: str=None, api_versions=None, **kwargs) -> None: + super(AliasPathType, self).__init__(**kwargs) + self.path = path + self.api_versions = api_versions diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type.py new file mode 100644 index 000000000000..8c64bece4665 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2017_05_10.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, **kwargs): + super(AliasType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.paths = kwargs.get('paths', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type_py3.py new file mode 100644 index 000000000000..dc3dd9aa4e66 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/alias_type_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2017_05_10.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, *, name: str=None, paths=None, **kwargs) -> None: + super(AliasType, self).__init__(**kwargs) + self.name = name + self.paths = paths diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency.py new file mode 100644 index 000000000000..3a5ccd4aa464 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BasicDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency_py3.py new file mode 100644 index 000000000000..49d821737930 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/basic_dependency_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(BasicDependency, self).__init__(**kwargs) + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting.py new file mode 100644 index 000000000000..d6f778c5c86d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = kwargs.get('detail_level', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting_py3.py new file mode 100644 index 000000000000..af571a729762 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/debug_setting_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, *, detail_level: str=None, **kwargs) -> None: + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = detail_level diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency.py new file mode 100644 index 000000000000..460ffee98db4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2017_05_10.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dependency, self).__init__(**kwargs) + self.depends_on = kwargs.get('depends_on', None) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency_py3.py new file mode 100644 index 000000000000..500123327225 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/dependency_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2017_05_10.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, depends_on=None, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(Dependency, self).__init__(**kwargs) + self.depends_on = depends_on + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment.py new file mode 100644 index 000000000000..d780f5763e5c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result.py new file mode 100644 index 000000000000..807e79c8b678 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result_py3.py new file mode 100644 index 000000000000..63f10bf2735a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_export_result_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, template=None, **kwargs) -> None: + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = template diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended.py new file mode 100644 index 000000000000..df5ec2ed6e82 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter.py new file mode 100644 index 000000000000..0839bcc12e4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter_py3.py new file mode 100644 index 000000000000..f06d0d1a4dfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_filter_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state: str=None, **kwargs) -> None: + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = provisioning_state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_paged.py new file mode 100644 index 000000000000..747bfaa7b046 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentExtendedPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentExtended ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentExtended]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentExtendedPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_py3.py new file mode 100644 index 000000000000..b54fd6fe83a3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, name: str, properties=None, **kwargs) -> None: + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation.py new file mode 100644 index 000000000000..009c44250eb6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_paged.py new file mode 100644 index 000000000000..65530511cce3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentOperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties.py new file mode 100644 index 000000000000..fe6aa9c383d3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2017_05_10.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2017_05_10.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2017_05_10.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties_py3.py new file mode 100644 index 000000000000..ea0971a14ca5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_properties_py3.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2017_05_10.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2017_05_10.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2017_05_10.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs) -> None: + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_py3.py new file mode 100644 index 000000000000..2892a39fd8bb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_operation_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties.py new file mode 100644 index 000000000000..5a98a89eb802 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties.py @@ -0,0 +1,76 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2017_05_10.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentProperties, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended.py new file mode 100644 index 000000000000..da33803f8f92 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended.py @@ -0,0 +1,93 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2017_05_10.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2017_05_10.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2017_05_10.models.DebugSetting + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, **kwargs): + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = kwargs.get('outputs', None) + self.providers = kwargs.get('providers', None) + self.dependencies = kwargs.get('dependencies', None) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended_py3.py new file mode 100644 index 000000000000..1209ad4f26fa --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_extended_py3.py @@ -0,0 +1,93 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2017_05_10.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2017_05_10.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2017_05_10.models.DebugSetting + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None, debug_setting=None, **kwargs) -> None: + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = outputs + self.providers = providers + self.dependencies = dependencies + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_py3.py new file mode 100644 index 000000000000..3a2cd11041fe --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_properties_py3.py @@ -0,0 +1,76 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2017_05_10.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2017_05_10.models.DebugSetting + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + } + + def __init__(self, *, mode, template=None, template_link=None, parameters=None, parameters_link=None, debug_setting=None, **kwargs) -> None: + super(DeploymentProperties, self).__init__(**kwargs) + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_py3.py new file mode 100644 index 000000000000..ecbaa65ed4db --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, *, properties, **kwargs) -> None: + super(Deployment, self).__init__(**kwargs) + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result.py new file mode 100644 index 000000000000..bf511a46ba03 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result_py3.py new file mode 100644 index 000000000000..18d06626d914 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/deployment_validate_result_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, error=None, properties=None, **kwargs) -> None: + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = error + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request.py new file mode 100644 index 000000000000..069bfbb70632 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.options = kwargs.get('options', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request_py3.py new file mode 100644 index 000000000000..2374c103d566 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/export_template_request_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, *, resources=None, options: str=None, **kwargs) -> None: + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = resources + self.options = options diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource.py new file mode 100644 index 000000000000..260dfe07ad3d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2017_05_10.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2017_05_10.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2017_05_10.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter.py new file mode 100644 index 000000000000..c4488f4cf095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.tagname = kwargs.get('tagname', None) + self.tagvalue = kwargs.get('tagvalue', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter_py3.py new file mode 100644 index 000000000000..17ad0e58c55c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_filter_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, *, resource_type: str=None, tagname: str=None, tagvalue: str=None, **kwargs) -> None: + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = resource_type + self.tagname = tagname + self.tagvalue = tagvalue diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_paged.py new file mode 100644 index 000000000000..61aaec69eb77 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class GenericResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GenericResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GenericResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GenericResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_py3.py new file mode 100644 index 000000000000..e6805e1fa3ed --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/generic_resource_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2017_05_10.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2017_05_10.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2017_05_10.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, kind: str=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.plan = plan + self.properties = properties + self.kind = kind + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message.py new file mode 100644 index 000000000000..c4a11d3ebc30 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(HttpMessage, self).__init__(**kwargs) + self.content = kwargs.get('content', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message_py3.py new file mode 100644 index 000000000000..efe1b5abd2fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/http_message_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, *, content=None, **kwargs) -> None: + super(HttpMessage, self).__init__(**kwargs) + self.content = content diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity.py new file mode 100644 index 000000000000..f92e44520b53 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity_py3.py new file mode 100644 index 000000000000..72e1d6185122 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/identity_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned' + :type type: str or + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link.py new file mode 100644 index 000000000000..0696248fc17c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ParametersLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link_py3.py new file mode 100644 index 000000000000..734546c362c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/parameters_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(ParametersLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan.py new file mode 100644 index 000000000000..594d670d723c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan_py3.py new file mode 100644 index 000000000000..972976e1ba0f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/plan_py3.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, version: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider.py new file mode 100644 index 000000000000..2336a5e5e686 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2017_05_10.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = kwargs.get('namespace', None) + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_paged.py new file mode 100644 index 000000000000..1a553a74b4d1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`Provider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Provider]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_py3.py new file mode 100644 index 000000000000..c7df7c28de14 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2017_05_10.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, *, namespace: str=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = namespace + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type.py new file mode 100644 index 000000000000..b2d2cc4f1c31 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2017_05_10.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.locations = kwargs.get('locations', None) + self.aliases = kwargs.get('aliases', None) + self.api_versions = kwargs.get('api_versions', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type_py3.py new file mode 100644 index 000000000000..246655b4007d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/provider_resource_type_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2017_05_10.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, resource_type: str=None, locations=None, aliases=None, api_versions=None, properties=None, **kwargs) -> None: + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = resource_type + self.locations = locations + self.aliases = aliases + self.api_versions = api_versions + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource.py new file mode 100644 index 000000000000..ecfd0cbb1b5c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Basic set of the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group.py new file mode 100644 index 000000000000..13bfa98e1630 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result.py new file mode 100644 index 000000000000..527d7884511d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.error = kwargs.get('error', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result_py3.py new file mode 100644 index 000000000000..3470fcf529b4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_export_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, *, template=None, error=None, **kwargs) -> None: + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = template + self.error = error diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter.py new file mode 100644 index 000000000000..c94284bf3644 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = kwargs.get('tag_name', None) + self.tag_value = kwargs.get('tag_value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter_py3.py new file mode 100644 index 000000000000..d709b6afd34f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_filter_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, *, tag_name: str=None, tag_value: str=None, **kwargs) -> None: + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = tag_name + self.tag_value = tag_value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_paged.py new file mode 100644 index 000000000000..66e1f4270e06 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceGroupPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable.py new file mode 100644 index 000000000000..0f51ef0a5602 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable_py3.py new file mode 100644 index 000000000000..f78ae3ff01ac --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_patchable_py3.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = name + self.properties = properties + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties.py new file mode 100644 index 000000000000..39411e3d79fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties_py3.py new file mode 100644 index 000000000000..67d6d06dedbd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_properties_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_py3.py new file mode 100644 index 000000000000..1f034dec564d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_group_py3.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties + self.location = location + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_client_enums.py new file mode 100644 index 000000000000..3b6a0e19d760 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_client_enums.py @@ -0,0 +1,23 @@ +# 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 enum import Enum + + +class DeploymentMode(str, Enum): + + incremental = "Incremental" + complete = "Complete" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details.py new file mode 100644 index 000000000000..9b8e7bd74839 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details_py3.py new file mode 100644 index 000000000000..f6e0b337c987 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_management_error_with_details_py3.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2017_05_10.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties.py new file mode 100644 index 000000000000..2a0106c3507e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: The operation name. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = kwargs.get('publisher', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties_py3.py new file mode 100644 index 000000000000..b4e722881910 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_provider_operation_display_properties_py3.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: The operation name. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, publisher: str=None, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = publisher + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_py3.py new file mode 100644 index 000000000000..b7da9118d4f5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Basic set of the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info.py new file mode 100644 index 000000000000..edf946d7076b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.target_resource_group = kwargs.get('target_resource_group', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info_py3.py new file mode 100644 index 000000000000..d10e2558d499 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/resources_move_info_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, *, resources=None, target_resource_group: str=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = resources + self.target_resource_group = target_resource_group diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku.py new file mode 100644 index 000000000000..bfcda32477df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku_py3.py new file mode 100644 index 000000000000..676f1d770b79 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sku_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource.py new file mode 100644 index 000000000000..ca48705cc825 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource_py3.py new file mode 100644 index 000000000000..b2d0251b79df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count.py new file mode 100644 index 000000000000..a5eeb6b38cf8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TagCount, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count_py3.py new file mode 100644 index 000000000000..53c80f63fdb3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_count_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, *, type: str=None, value: int=None, **kwargs) -> None: + super(TagCount, self).__init__(**kwargs) + self.type = type + self.value = value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details.py new file mode 100644 index 000000000000..ebefcbf25918 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2017_05_10.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2017_05_10.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, **kwargs): + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = kwargs.get('tag_name', None) + self.count = kwargs.get('count', None) + self.values = kwargs.get('values', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_paged.py new file mode 100644 index 000000000000..dc4761f38bc8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TagDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`TagDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TagDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(TagDetailsPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_py3.py new file mode 100644 index 000000000000..1ea814e91394 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_details_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2017_05_10.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2017_05_10.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, *, tag_name: str=None, count=None, values=None, **kwargs) -> None: + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = tag_name + self.count = count + self.values = values diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value.py new file mode 100644 index 000000000000..f44c7d51af67 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2017_05_10.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, **kwargs): + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = kwargs.get('tag_value', None) + self.count = kwargs.get('count', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value_py3.py new file mode 100644 index 000000000000..54591bc152e4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/tag_value_py3.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2017_05_10.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, *, tag_value: str=None, count=None, **kwargs) -> None: + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = tag_value + self.count = count diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource.py new file mode 100644 index 000000000000..27d557645e8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_name = kwargs.get('resource_name', None) + self.resource_type = kwargs.get('resource_type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource_py3.py new file mode 100644 index 000000000000..933347cec8f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/target_resource_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_name: str=None, resource_type: str=None, **kwargs) -> None: + super(TargetResource, self).__init__(**kwargs) + self.id = id + self.resource_name = resource_name + self.resource_type = resource_type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link.py new file mode 100644 index 000000000000..634095bb9754 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemplateLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link_py3.py new file mode 100644 index 000000000000..00f2597ccd98 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/models/template_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(TemplateLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/__init__.py new file mode 100644 index 000000000000..5aae03a99594 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/__init__.py @@ -0,0 +1,26 @@ +# 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 .deployments_operations import DeploymentsOperations +from .providers_operations import ProvidersOperations +from .resources_operations import ResourcesOperations +from .resource_groups_operations import ResourceGroupsOperations +from .tags_operations import TagsOperations +from .deployment_operations import DeploymentOperations + +__all__ = [ + 'DeploymentsOperations', + 'ProvidersOperations', + 'ResourcesOperations', + 'ResourceGroupsOperations', + 'TagsOperations', + 'DeploymentOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployment_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployment_operations.py new file mode 100644 index 000000000000..f4617ee9b741 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployment_operations.py @@ -0,0 +1,181 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DeploymentOperations(object): + """DeploymentOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + def get( + self, resource_group_name, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Gets a deployments operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: The ID of the operation to get. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}'} + + def list( + self, resource_group_name, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all deployments operations for a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment with the operation + to get. + :type deployment_name: str + :param top: The number of results to return. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployments_operations.py new file mode 100644 index 000000000000..a206c06726ac --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/deployments_operations.py @@ -0,0 +1,641 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + + def _delete_initial( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a deployment from the deployment history. + + A template deployment that is currently running cannot be deleted. + Deleting a template deployment removes the associated deployment + operations. Deleting a template deployment does not affect the state of + the resource group. This is an asynchronous operation that returns a + status of 202 until the template deployment is successfully deleted. + The Location response header contains the URI that is used to obtain + the status of the process. While the process is running, a call to the + URI in the Location header returns a status of 202. When the process + finishes, the URI in the Location header returns a status of 204 on + success. If the asynchronous request failed, the URI in the Location + header returns an error-level status code. + + :param resource_group_name: The name of the resource group with the + deployment to delete. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to delete. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether the deployment exists. + + :param resource_group_name: The name of the resource group with the + deployment to check. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to check. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, polling=True, **operation_config): + """Deploys resources to a resource group. + + You can provide the template and parameters directly in the request or + link to JSON files. + + :param resource_group_name: The name of the resource group to deploy + the resources to. The name is case insensitive. The resource group + must already exist. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Gets a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to get. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancels a currently running template deployment. + + You can cancel a deployment only if the provisioningState is Accepted + or Running. After the deployment is canceled, the provisioningState is + set to Canceled. Canceling a template deployment stops the currently + running template deployment and leaves the resource group partially + deployed. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to cancel. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + """Validates whether the specified template is syntactically correct and + will be accepted by Azure Resource Manager.. + + :param resource_group_name: The name of the resource group the + template will be deployed to. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports the template used for specified deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment from which to get + the template. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list_by_resource_group( + self, resource_group_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the deployments for a resource group. + + :param resource_group_name: The name of the resource group with the + deployments to get. The name is case insensitive. + :type resource_group_name: str + :param filter: The filter to apply on the operation. For example, you + can use $filter=provisioningState eq '{state}'. + :type filter: str + :param top: The number of results to get. If null is passed, returns + all deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2017_05_10.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/providers_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/providers_operations.py new file mode 100644 index 000000000000..8786dcdfdfc2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/providers_operations.py @@ -0,0 +1,299 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + def unregister( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Unregisters a subscription from a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to unregister. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2017_05_10.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.unregister.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + unregister.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister'} + + def register( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Registers a subscription with a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to register. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2017_05_10.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register'} + + def list( + self, top=None, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets all resource providers for a subscription. + + :param top: The number of results to return. If null is passed returns + all deployments. + :type top: int + :param expand: The properties to include in the results. For example, + use &$expand=metadata in the query string to retrieve resource + provider metadata. To include property aliases in response, use + $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Provider + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ProviderPaged[~azure.mgmt.resource.resources.v2017_05_10.models.Provider] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers'} + + def get( + self, resource_provider_namespace, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param expand: The $expand query parameter. For example, to include + property aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2017_05_10.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resource_groups_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resource_groups_operations.py new file mode 100644 index 000000000000..3cfc16bf3fdf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resource_groups_operations.py @@ -0,0 +1,526 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourceGroupsOperations(object): + """ResourceGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + def check_existence( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource group exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def create_or_update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a resource group. + + :param resource_group_name: The name of the resource group to create + or update. + :type resource_group_name: str + :param parameters: Parameters supplied to the create or update a + resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + + def _delete_initial( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource group. + + When you delete a resource group, all of its resources are also + deleted. Deleting a resource group deletes all of its template + deployments and currently stored operations. + + :param resource_group_name: The name of the resource group to delete. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def get( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a resource group. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates a resource group. + + Resource groups can be updated through a simple PATCH operation to a + group address. The format of the request is the same as that for + creating a resource group. If a field is unspecified, the current value + is retained. + + :param resource_group_name: The name of the resource group to update. + The name is case insensitive. + :type resource_group_name: str + :param parameters: Parameters supplied to update a resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupPatchable + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroupPatchable') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def export_template( + self, resource_group_name, resources=None, options=None, custom_headers=None, raw=False, **operation_config): + """Captures the specified resource group as a template. + + :param resource_group_name: The name of the resource group to export + as a template. + :type resource_group_name: str + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroupExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ExportTemplateRequest(resources=resources, options=options) + + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExportTemplateRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroupExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'} + + def list( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all the resource groups for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceGroup + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroupPaged[~azure.mgmt.resource.resources.v2017_05_10.models.ResourceGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resources_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resources_operations.py new file mode 100644 index 000000000000..53b75df9f3fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/resources_operations.py @@ -0,0 +1,1269 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcesOperations(object): + """ResourcesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources for a resource group. + + :param resource_group_name: The resource group with the resources to + get. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resources. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources'} + + + def _move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Moves resources from one resource group to another resource group. + + The resources to move must be in the same source resource group. The + target resource group may be in a different subscription. When moving + resources, both the source group and the target group are locked for + the duration of the operation. Write and delete operations are blocked + on the groups until the move completes. . + + :param source_resource_group_name: The name of the resource group + containing the resources to move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'} + + + def _validate_move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.validate_move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204, 409]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def validate_move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Validates whether resources can be moved from one resource group to + another resource group. + + This operation checks whether the specified resources can be moved to + the target. The resources to move must be in the same source resource + group. The target resource group may be in a different subscription. If + validation succeeds, it returns HTTP response code 204 (no content). If + validation fails, it returns HTTP response code 409 (Conflict) with an + error message. Retrieve the URL in the Location header value to check + the result of the long-running operation. + + :param source_resource_group_name: The name of the resource group + containing the resources to validate for move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._validate_move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + validate_move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'} + + def list( + self, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources in a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter. + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resources'} + + def check_existence( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource exists. + + :param resource_group_name: The name of the resource group containing + the resource to check. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider of the + resource to check. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to check whether it + exists. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource. + + :param resource_group_name: The name of the resource group that + contains the resource to delete. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to delete. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to create. + :type resource_type: str + :param resource_name: The name of the resource to create. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for creating or updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to update. + :type resource_type: str + :param resource_name: The name of the resource to update. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def get( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource. + + :param resource_group_name: The name of the resource group containing + the resource to get. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource. + :type resource_type: str + :param resource_name: The name of the resource to get. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def check_existence_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Checks by ID whether a resource exists. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence_by_id.metadata = {'url': '/{resourceId}'} + + + def _delete_by_id_initial( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_by_id_initial( + resource_id=resource_id, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{resourceId}'} + + + def _create_or_update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Create or update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{resourceId}'} + + + def _update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_by_id.metadata = {'url': '/{resourceId}'} + + def get_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{resourceId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/tags_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/tags_operations.py new file mode 100644 index 000000000000..cd5d1c669360 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/operations/tags_operations.py @@ -0,0 +1,338 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TagsOperations(object): + """TagsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2017-05-10". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-05-10" + + self.config = config + + def delete_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Deletes a tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to delete. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Creates a tag value. The name of the tag must already exist. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to create. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagValue or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2017_05_10.models.TagValue or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagValue', response) + if response.status_code == 201: + deserialized = self._deserialize('TagValue', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Creates a tag in the subscription. + + The tag name can have a maximum of 512 characters and is case + insensitive. Tag names created by Azure have prefixes of microsoft, + azure, or windows. You cannot create tags with one of these prefixes. + + :param tag_name: The name of the tag to create. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2017_05_10.models.TagDetails + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('TagDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def delete( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Deletes a tag from the subscription. + + You must remove all values from a resource tag before you can delete + it. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the names and values of all resource tags that are defined in a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TagDetails + :rtype: + ~azure.mgmt.resource.resources.v2017_05_10.models.TagDetailsPaged[~azure.mgmt.resource.resources.v2017_05_10.models.TagDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/resource_management_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/resource_management_client.py new file mode 100644 index 000000000000..1e8e488a20da --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/resource_management_client.py @@ -0,0 +1,106 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.deployments_operations import DeploymentsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.resources_operations import ResourcesOperations +from .operations.resource_groups_operations import ResourceGroupsOperations +from .operations.tags_operations import TagsOperations +from .operations.deployment_operations import DeploymentOperations +from . import models + + +class ResourceManagementClientConfiguration(AzureConfiguration): + """Configuration for ResourceManagementClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ResourceManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ResourceManagementClient(SDKClient): + """Provides operations for working with resources and resource groups. + + :ivar config: Configuration for client. + :vartype config: ResourceManagementClientConfiguration + + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.resource.resources.v2017_05_10.operations.DeploymentsOperations + :ivar providers: Providers operations + :vartype providers: azure.mgmt.resource.resources.v2017_05_10.operations.ProvidersOperations + :ivar resources: Resources operations + :vartype resources: azure.mgmt.resource.resources.v2017_05_10.operations.ResourcesOperations + :ivar resource_groups: ResourceGroups operations + :vartype resource_groups: azure.mgmt.resource.resources.v2017_05_10.operations.ResourceGroupsOperations + :ivar tags: Tags operations + :vartype tags: azure.mgmt.resource.resources.v2017_05_10.operations.TagsOperations + :ivar deployment_operations: DeploymentOperations operations + :vartype deployment_operations: azure.mgmt.resource.resources.v2017_05_10.operations.DeploymentOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ResourceManagementClientConfiguration(credentials, subscription_id, base_url) + super(ResourceManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2017-05-10' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.deployments = DeploymentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resources = ResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_groups = ResourceGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tags = TagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deployment_operations = DeploymentOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/version.py new file mode 100644 index 000000000000..e6d73d4a6828 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2017_05_10/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2017-05-10" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/__init__.py new file mode 100644 index 000000000000..d2e3198e88e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .resource_management_client import ResourceManagementClient +from .version import VERSION + +__all__ = ['ResourceManagementClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/__init__.py new file mode 100644 index 000000000000..ae4447cedf0d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/__init__.py @@ -0,0 +1,159 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .deployment_extended_filter_py3 import DeploymentExtendedFilter + from .generic_resource_filter_py3 import GenericResourceFilter + from .resource_group_filter_py3 import ResourceGroupFilter + from .template_link_py3 import TemplateLink + from .parameters_link_py3 import ParametersLink + from .debug_setting_py3 import DebugSetting + from .on_error_deployment_py3 import OnErrorDeployment + from .deployment_properties_py3 import DeploymentProperties + from .deployment_py3 import Deployment + from .deployment_export_result_py3 import DeploymentExportResult + from .resource_management_error_with_details_py3 import ResourceManagementErrorWithDetails + from .alias_path_type_py3 import AliasPathType + from .alias_type_py3 import AliasType + from .provider_resource_type_py3 import ProviderResourceType + from .provider_py3 import Provider + from .basic_dependency_py3 import BasicDependency + from .dependency_py3 import Dependency + from .on_error_deployment_extended_py3 import OnErrorDeploymentExtended + from .deployment_properties_extended_py3 import DeploymentPropertiesExtended + from .deployment_validate_result_py3 import DeploymentValidateResult + from .deployment_extended_py3 import DeploymentExtended + from .plan_py3 import Plan + from .sku_py3 import Sku + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_group_properties_py3 import ResourceGroupProperties + from .resource_group_py3 import ResourceGroup + from .resource_group_patchable_py3 import ResourceGroupPatchable + from .resources_move_info_py3 import ResourcesMoveInfo + from .export_template_request_py3 import ExportTemplateRequest + from .tag_count_py3 import TagCount + from .tag_value_py3 import TagValue + from .tag_details_py3 import TagDetails + from .target_resource_py3 import TargetResource + from .http_message_py3 import HttpMessage + from .deployment_operation_properties_py3 import DeploymentOperationProperties + from .deployment_operation_py3 import DeploymentOperation + from .resource_provider_operation_display_properties_py3 import ResourceProviderOperationDisplayProperties + from .resource_py3 import Resource + from .sub_resource_py3 import SubResource + from .resource_group_export_result_py3 import ResourceGroupExportResult +except (SyntaxError, ImportError): + from .deployment_extended_filter import DeploymentExtendedFilter + from .generic_resource_filter import GenericResourceFilter + from .resource_group_filter import ResourceGroupFilter + from .template_link import TemplateLink + from .parameters_link import ParametersLink + from .debug_setting import DebugSetting + from .on_error_deployment import OnErrorDeployment + from .deployment_properties import DeploymentProperties + from .deployment import Deployment + from .deployment_export_result import DeploymentExportResult + from .resource_management_error_with_details import ResourceManagementErrorWithDetails + from .alias_path_type import AliasPathType + from .alias_type import AliasType + from .provider_resource_type import ProviderResourceType + from .provider import Provider + from .basic_dependency import BasicDependency + from .dependency import Dependency + from .on_error_deployment_extended import OnErrorDeploymentExtended + from .deployment_properties_extended import DeploymentPropertiesExtended + from .deployment_validate_result import DeploymentValidateResult + from .deployment_extended import DeploymentExtended + from .plan import Plan + from .sku import Sku + from .identity import Identity + from .generic_resource import GenericResource + from .resource_group_properties import ResourceGroupProperties + from .resource_group import ResourceGroup + from .resource_group_patchable import ResourceGroupPatchable + from .resources_move_info import ResourcesMoveInfo + from .export_template_request import ExportTemplateRequest + from .tag_count import TagCount + from .tag_value import TagValue + from .tag_details import TagDetails + from .target_resource import TargetResource + from .http_message import HttpMessage + from .deployment_operation_properties import DeploymentOperationProperties + from .deployment_operation import DeploymentOperation + from .resource_provider_operation_display_properties import ResourceProviderOperationDisplayProperties + from .resource import Resource + from .sub_resource import SubResource + from .resource_group_export_result import ResourceGroupExportResult +from .deployment_extended_paged import DeploymentExtendedPaged +from .provider_paged import ProviderPaged +from .generic_resource_paged import GenericResourcePaged +from .resource_group_paged import ResourceGroupPaged +from .tag_details_paged import TagDetailsPaged +from .deployment_operation_paged import DeploymentOperationPaged +from .resource_management_client_enums import ( + DeploymentMode, + OnErrorDeploymentType, + ResourceIdentityType, +) + +__all__ = [ + 'DeploymentExtendedFilter', + 'GenericResourceFilter', + 'ResourceGroupFilter', + 'TemplateLink', + 'ParametersLink', + 'DebugSetting', + 'OnErrorDeployment', + 'DeploymentProperties', + 'Deployment', + 'DeploymentExportResult', + 'ResourceManagementErrorWithDetails', + 'AliasPathType', + 'AliasType', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'OnErrorDeploymentExtended', + 'DeploymentPropertiesExtended', + 'DeploymentValidateResult', + 'DeploymentExtended', + 'Plan', + 'Sku', + 'Identity', + 'GenericResource', + 'ResourceGroupProperties', + 'ResourceGroup', + 'ResourceGroupPatchable', + 'ResourcesMoveInfo', + 'ExportTemplateRequest', + 'TagCount', + 'TagValue', + 'TagDetails', + 'TargetResource', + 'HttpMessage', + 'DeploymentOperationProperties', + 'DeploymentOperation', + 'ResourceProviderOperationDisplayProperties', + 'Resource', + 'SubResource', + 'ResourceGroupExportResult', + 'DeploymentExtendedPaged', + 'ProviderPaged', + 'GenericResourcePaged', + 'ResourceGroupPaged', + 'TagDetailsPaged', + 'DeploymentOperationPaged', + 'DeploymentMode', + 'OnErrorDeploymentType', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type.py new file mode 100644 index 000000000000..ee5959ef5463 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AliasPathType, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.api_versions = kwargs.get('api_versions', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type_py3.py new file mode 100644 index 000000000000..ccd48141f917 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_path_type_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, *, path: str=None, api_versions=None, **kwargs) -> None: + super(AliasPathType, self).__init__(**kwargs) + self.path = path + self.api_versions = api_versions diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type.py new file mode 100644 index 000000000000..431b2a903825 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2018_02_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, **kwargs): + super(AliasType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.paths = kwargs.get('paths', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type_py3.py new file mode 100644 index 000000000000..bfc87d90df3b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/alias_type_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2018_02_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, *, name: str=None, paths=None, **kwargs) -> None: + super(AliasType, self).__init__(**kwargs) + self.name = name + self.paths = paths diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency.py new file mode 100644 index 000000000000..3a5ccd4aa464 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BasicDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency_py3.py new file mode 100644 index 000000000000..49d821737930 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/basic_dependency_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(BasicDependency, self).__init__(**kwargs) + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting.py new file mode 100644 index 000000000000..d6f778c5c86d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = kwargs.get('detail_level', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting_py3.py new file mode 100644 index 000000000000..af571a729762 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/debug_setting_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, *, detail_level: str=None, **kwargs) -> None: + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = detail_level diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency.py new file mode 100644 index 000000000000..759549b0df7f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2018_02_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dependency, self).__init__(**kwargs) + self.depends_on = kwargs.get('depends_on', None) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency_py3.py new file mode 100644 index 000000000000..c45f51e11c5d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/dependency_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2018_02_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, depends_on=None, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(Dependency, self).__init__(**kwargs) + self.depends_on = depends_on + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment.py new file mode 100644 index 000000000000..8d7e061526ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result.py new file mode 100644 index 000000000000..807e79c8b678 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result_py3.py new file mode 100644 index 000000000000..63f10bf2735a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_export_result_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, template=None, **kwargs) -> None: + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = template diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended.py new file mode 100644 index 000000000000..95ec87a87549 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter.py new file mode 100644 index 000000000000..0839bcc12e4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter_py3.py new file mode 100644 index 000000000000..f06d0d1a4dfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_filter_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state: str=None, **kwargs) -> None: + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = provisioning_state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_paged.py new file mode 100644 index 000000000000..61a16fb15dff --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentExtendedPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentExtended ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentExtended]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentExtendedPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_py3.py new file mode 100644 index 000000000000..0f0afa51c488 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the deployment. + :vartype id: str + :param name: Required. The name of the deployment. + :type name: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, name: str, properties=None, **kwargs) -> None: + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation.py new file mode 100644 index 000000000000..dd24347ab3fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_paged.py new file mode 100644 index 000000000000..443462fdfe33 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentOperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties.py new file mode 100644 index 000000000000..7f6b05659885 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2018_02_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2018_02_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2018_02_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties_py3.py new file mode 100644 index 000000000000..4b53e8b814e4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_properties_py3.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2018_02_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2018_02_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2018_02_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs) -> None: + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_py3.py new file mode 100644 index 000000000000..0e8e9069c2a1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_operation_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties.py new file mode 100644 index 000000000000..1f6039eabf17 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties.py @@ -0,0 +1,81 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_02_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeployment + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeployment'}, + } + + def __init__(self, **kwargs): + super(DeploymentProperties, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) + self.on_error_deployment = kwargs.get('on_error_deployment', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended.py new file mode 100644 index 000000000000..0e5ffa0ec439 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended.py @@ -0,0 +1,98 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2018_02_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2018_02_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_02_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentExtended + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeploymentExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = kwargs.get('outputs', None) + self.providers = kwargs.get('providers', None) + self.dependencies = kwargs.get('dependencies', None) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) + self.on_error_deployment = kwargs.get('on_error_deployment', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended_py3.py new file mode 100644 index 000000000000..aede2450595c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_extended_py3.py @@ -0,0 +1,98 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2018_02_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2018_02_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_02_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentExtended + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeploymentExtended'}, + } + + def __init__(self, *, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None, debug_setting=None, on_error_deployment=None, **kwargs) -> None: + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = outputs + self.providers = providers + self.dependencies = dependencies + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting + self.on_error_deployment = on_error_deployment diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_py3.py new file mode 100644 index 000000000000..2c8dbd42510e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_properties_py3.py @@ -0,0 +1,81 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_02_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_02_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeployment + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeployment'}, + } + + def __init__(self, *, mode, template=None, template_link=None, parameters=None, parameters_link=None, debug_setting=None, on_error_deployment=None, **kwargs) -> None: + super(DeploymentProperties, self).__init__(**kwargs) + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting + self.on_error_deployment = on_error_deployment diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_py3.py new file mode 100644 index 000000000000..cd6c93634a2a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, *, properties, **kwargs) -> None: + super(Deployment, self).__init__(**kwargs) + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result.py new file mode 100644 index 000000000000..147e64dc574d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result_py3.py new file mode 100644 index 000000000000..1234097c2b1b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/deployment_validate_result_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, error=None, properties=None, **kwargs) -> None: + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = error + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request.py new file mode 100644 index 000000000000..069bfbb70632 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.options = kwargs.get('options', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request_py3.py new file mode 100644 index 000000000000..2374c103d566 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/export_template_request_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, *, resources=None, options: str=None, **kwargs) -> None: + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = resources + self.options = options diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource.py new file mode 100644 index 000000000000..2a9b41e80569 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2018_02_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2018_02_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2018_02_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter.py new file mode 100644 index 000000000000..c4488f4cf095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.tagname = kwargs.get('tagname', None) + self.tagvalue = kwargs.get('tagvalue', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter_py3.py new file mode 100644 index 000000000000..17ad0e58c55c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_filter_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, *, resource_type: str=None, tagname: str=None, tagvalue: str=None, **kwargs) -> None: + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = resource_type + self.tagname = tagname + self.tagvalue = tagvalue diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_paged.py new file mode 100644 index 000000000000..9a79d84888f6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class GenericResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GenericResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GenericResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GenericResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_py3.py new file mode 100644 index 000000000000..384c9b4187e4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/generic_resource_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2018_02_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2018_02_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2018_02_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, kind: str=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.plan = plan + self.properties = properties + self.kind = kind + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message.py new file mode 100644 index 000000000000..c4a11d3ebc30 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(HttpMessage, self).__init__(**kwargs) + self.content = kwargs.get('content', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message_py3.py new file mode 100644 index 000000000000..efe1b5abd2fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/http_message_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, *, content=None, **kwargs) -> None: + super(HttpMessage, self).__init__(**kwargs) + self.content = content diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity.py new file mode 100644 index 000000000000..461cc8574f08 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity_py3.py new file mode 100644 index 000000000000..8222ca6ed4d5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/identity_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment.py new file mode 100644 index 000000000000..21c57d788eb8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeployment(Model): + """Deployment on error behavior. + + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OnErrorDeployment, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.deployment_name = kwargs.get('deployment_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended.py new file mode 100644 index 000000000000..e1a320448b65 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeploymentExtended(Model): + """Deployment on error behavior with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning for the on error + deployment. + :vartype provisioning_state: str + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OnErrorDeploymentExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.type = kwargs.get('type', None) + self.deployment_name = kwargs.get('deployment_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended_py3.py new file mode 100644 index 000000000000..886cf00786bf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeploymentExtended(Model): + """Deployment on error behavior with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning for the on error + deployment. + :vartype provisioning_state: str + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, *, type=None, deployment_name: str=None, **kwargs) -> None: + super(OnErrorDeploymentExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.type = type + self.deployment_name = deployment_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_py3.py new file mode 100644 index 000000000000..05245bb8f480 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/on_error_deployment_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeployment(Model): + """Deployment on error behavior. + + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_02_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, *, type=None, deployment_name: str=None, **kwargs) -> None: + super(OnErrorDeployment, self).__init__(**kwargs) + self.type = type + self.deployment_name = deployment_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link.py new file mode 100644 index 000000000000..0696248fc17c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ParametersLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link_py3.py new file mode 100644 index 000000000000..734546c362c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/parameters_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(ParametersLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan.py new file mode 100644 index 000000000000..594d670d723c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan_py3.py new file mode 100644 index 000000000000..972976e1ba0f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/plan_py3.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, version: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider.py new file mode 100644 index 000000000000..0490a5aa870a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2018_02_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = kwargs.get('namespace', None) + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_paged.py new file mode 100644 index 000000000000..7a6abf6f944b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`Provider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Provider]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_py3.py new file mode 100644 index 000000000000..2dc5e8957b90 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2018_02_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, *, namespace: str=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = namespace + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type.py new file mode 100644 index 000000000000..dc26d8e7dce0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2018_02_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.locations = kwargs.get('locations', None) + self.aliases = kwargs.get('aliases', None) + self.api_versions = kwargs.get('api_versions', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type_py3.py new file mode 100644 index 000000000000..57a413154af0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/provider_resource_type_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2018_02_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, resource_type: str=None, locations=None, aliases=None, api_versions=None, properties=None, **kwargs) -> None: + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = resource_type + self.locations = locations + self.aliases = aliases + self.api_versions = api_versions + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource.py new file mode 100644 index 000000000000..ee7662aeee52 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group.py new file mode 100644 index 000000000000..fedbd4989401 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result.py new file mode 100644 index 000000000000..af7d5c621b82 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.error = kwargs.get('error', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result_py3.py new file mode 100644 index 000000000000..41d26fb1c38b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_export_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, *, template=None, error=None, **kwargs) -> None: + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = template + self.error = error diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter.py new file mode 100644 index 000000000000..c94284bf3644 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = kwargs.get('tag_name', None) + self.tag_value = kwargs.get('tag_value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter_py3.py new file mode 100644 index 000000000000..d709b6afd34f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_filter_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, *, tag_name: str=None, tag_value: str=None, **kwargs) -> None: + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = tag_name + self.tag_value = tag_value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_paged.py new file mode 100644 index 000000000000..e3f4bf44e308 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceGroupPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable.py new file mode 100644 index 000000000000..809c091f2b3a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable_py3.py new file mode 100644 index 000000000000..a50917b91f63 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_patchable_py3.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = name + self.properties = properties + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties.py new file mode 100644 index 000000000000..39411e3d79fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties_py3.py new file mode 100644 index 000000000000..67d6d06dedbd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_properties_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_py3.py new file mode 100644 index 000000000000..00c729ab3ec2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_group_py3.py @@ -0,0 +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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = name + self.properties = properties + self.location = location + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_client_enums.py new file mode 100644 index 000000000000..9fd73ca1de47 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_client_enums.py @@ -0,0 +1,32 @@ +# 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 enum import Enum + + +class DeploymentMode(str, Enum): + + incremental = "Incremental" + complete = "Complete" + + +class OnErrorDeploymentType(str, Enum): + + last_successful = "LastSuccessful" + specific_deployment = "SpecificDeployment" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned, UserAssigned" + none = "None" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details.py new file mode 100644 index 000000000000..20f1f1bd2133 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details_py3.py new file mode 100644 index 000000000000..e6d720973c47 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_management_error_with_details_py3.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2018_02_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties.py new file mode 100644 index 000000000000..ac328b64bb1a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = kwargs.get('publisher', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties_py3.py new file mode 100644 index 000000000000..aecc5a412673 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_provider_operation_display_properties_py3.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, publisher: str=None, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = publisher + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_py3.py new file mode 100644 index 000000000000..3c8102ab5262 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info.py new file mode 100644 index 000000000000..edf946d7076b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.target_resource_group = kwargs.get('target_resource_group', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info_py3.py new file mode 100644 index 000000000000..d10e2558d499 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/resources_move_info_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, *, resources=None, target_resource_group: str=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = resources + self.target_resource_group = target_resource_group diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku.py new file mode 100644 index 000000000000..bfcda32477df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku_py3.py new file mode 100644 index 000000000000..676f1d770b79 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sku_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource.py new file mode 100644 index 000000000000..ca48705cc825 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..b2d0251b79df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count.py new file mode 100644 index 000000000000..a5eeb6b38cf8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TagCount, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count_py3.py new file mode 100644 index 000000000000..53c80f63fdb3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_count_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, *, type: str=None, value: int=None, **kwargs) -> None: + super(TagCount, self).__init__(**kwargs) + self.type = type + self.value = value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details.py new file mode 100644 index 000000000000..12a3a0462283 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2018_02_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2018_02_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, **kwargs): + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = kwargs.get('tag_name', None) + self.count = kwargs.get('count', None) + self.values = kwargs.get('values', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_paged.py new file mode 100644 index 000000000000..c8e6889a8ce9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TagDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`TagDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TagDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(TagDetailsPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_py3.py new file mode 100644 index 000000000000..4aa07d3c160f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_details_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2018_02_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2018_02_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, *, tag_name: str=None, count=None, values=None, **kwargs) -> None: + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = tag_name + self.count = count + self.values = values diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value.py new file mode 100644 index 000000000000..07f9f42a29fe --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2018_02_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, **kwargs): + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = kwargs.get('tag_value', None) + self.count = kwargs.get('count', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value_py3.py new file mode 100644 index 000000000000..acd5ab7e04ad --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/tag_value_py3.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2018_02_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, *, tag_value: str=None, count=None, **kwargs) -> None: + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = tag_value + self.count = count diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource.py new file mode 100644 index 000000000000..27d557645e8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_name = kwargs.get('resource_name', None) + self.resource_type = kwargs.get('resource_type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource_py3.py new file mode 100644 index 000000000000..933347cec8f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/target_resource_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_name: str=None, resource_type: str=None, **kwargs) -> None: + super(TargetResource, self).__init__(**kwargs) + self.id = id + self.resource_name = resource_name + self.resource_type = resource_type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link.py new file mode 100644 index 000000000000..634095bb9754 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemplateLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link_py3.py new file mode 100644 index 000000000000..00f2597ccd98 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/models/template_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(TemplateLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/__init__.py new file mode 100644 index 000000000000..5aae03a99594 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/__init__.py @@ -0,0 +1,26 @@ +# 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 .deployments_operations import DeploymentsOperations +from .providers_operations import ProvidersOperations +from .resources_operations import ResourcesOperations +from .resource_groups_operations import ResourceGroupsOperations +from .tags_operations import TagsOperations +from .deployment_operations import DeploymentOperations + +__all__ = [ + 'DeploymentsOperations', + 'ProvidersOperations', + 'ResourcesOperations', + 'ResourceGroupsOperations', + 'TagsOperations', + 'DeploymentOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployment_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployment_operations.py new file mode 100644 index 000000000000..6a821b729e02 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployment_operations.py @@ -0,0 +1,181 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DeploymentOperations(object): + """DeploymentOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + def get( + self, resource_group_name, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Gets a deployments operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: The ID of the operation to get. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}'} + + def list( + self, resource_group_name, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all deployments operations for a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment with the operation + to get. + :type deployment_name: str + :param top: The number of results to return. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployments_operations.py new file mode 100644 index 000000000000..6f437b5aa9d1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/deployments_operations.py @@ -0,0 +1,641 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a deployment from the deployment history. + + A template deployment that is currently running cannot be deleted. + Deleting a template deployment removes the associated deployment + operations. Deleting a template deployment does not affect the state of + the resource group. This is an asynchronous operation that returns a + status of 202 until the template deployment is successfully deleted. + The Location response header contains the URI that is used to obtain + the status of the process. While the process is running, a call to the + URI in the Location header returns a status of 202. When the process + finishes, the URI in the Location header returns a status of 204 on + success. If the asynchronous request failed, the URI in the Location + header returns an error-level status code. + + :param resource_group_name: The name of the resource group with the + deployment to delete. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to delete. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether the deployment exists. + + :param resource_group_name: The name of the resource group with the + deployment to check. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to check. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, polling=True, **operation_config): + """Deploys resources to a resource group. + + You can provide the template and parameters directly in the request or + link to JSON files. + + :param resource_group_name: The name of the resource group to deploy + the resources to. The name is case insensitive. The resource group + must already exist. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + properties=properties, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Gets a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to get. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancels a currently running template deployment. + + You can cancel a deployment only if the provisioningState is Accepted + or Running. After the deployment is canceled, the provisioningState is + set to Canceled. Canceling a template deployment stops the currently + running template deployment and leaves the resource group partially + deployed. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to cancel. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate( + self, resource_group_name, deployment_name, properties, custom_headers=None, raw=False, **operation_config): + """Validates whether the specified template is syntactically correct and + will be accepted by Azure Resource Manager.. + + :param resource_group_name: The name of the resource group the + template will be deployed to. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentProperties + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(properties=properties) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports the template used for specified deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment from which to get + the template. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list_by_resource_group( + self, resource_group_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the deployments for a resource group. + + :param resource_group_name: The name of the resource group with the + deployments to get. The name is case insensitive. + :type resource_group_name: str + :param filter: The filter to apply on the operation. For example, you + can use $filter=provisioningState eq '{state}'. + :type filter: str + :param top: The number of results to get. If null is passed, returns + all deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2018_02_01.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/providers_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/providers_operations.py new file mode 100644 index 000000000000..2d76692c9ef2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/providers_operations.py @@ -0,0 +1,299 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + def unregister( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Unregisters a subscription from a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to unregister. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.unregister.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + unregister.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister'} + + def register( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Registers a subscription with a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to register. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register'} + + def list( + self, top=None, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets all resource providers for a subscription. + + :param top: The number of results to return. If null is passed returns + all deployments. + :type top: int + :param expand: The properties to include in the results. For example, + use &$expand=metadata in the query string to retrieve resource + provider metadata. To include property aliases in response, use + $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Provider + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ProviderPaged[~azure.mgmt.resource.resources.v2018_02_01.models.Provider] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers'} + + def get( + self, resource_provider_namespace, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param expand: The $expand query parameter. For example, to include + property aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_02_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resource_groups_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resource_groups_operations.py new file mode 100644 index 000000000000..bf5191bfa85b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resource_groups_operations.py @@ -0,0 +1,526 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourceGroupsOperations(object): + """ResourceGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + def check_existence( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource group exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def create_or_update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a resource group. + + :param resource_group_name: The name of the resource group to create + or update. + :type resource_group_name: str + :param parameters: Parameters supplied to the create or update a + resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + + def _delete_initial( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource group. + + When you delete a resource group, all of its resources are also + deleted. Deleting a resource group deletes all of its template + deployments and currently stored operations. + + :param resource_group_name: The name of the resource group to delete. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def get( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a resource group. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates a resource group. + + Resource groups can be updated through a simple PATCH operation to a + group address. The format of the request is the same as that for + creating a resource group. If a field is unspecified, the current value + is retained. + + :param resource_group_name: The name of the resource group to update. + The name is case insensitive. + :type resource_group_name: str + :param parameters: Parameters supplied to update a resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupPatchable + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroupPatchable') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def export_template( + self, resource_group_name, resources=None, options=None, custom_headers=None, raw=False, **operation_config): + """Captures the specified resource group as a template. + + :param resource_group_name: The name of the resource group to export + as a template. + :type resource_group_name: str + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroupExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ExportTemplateRequest(resources=resources, options=options) + + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExportTemplateRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroupExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'} + + def list( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all the resource groups for a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceGroup + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroupPaged[~azure.mgmt.resource.resources.v2018_02_01.models.ResourceGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resources_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resources_operations.py new file mode 100644 index 000000000000..14867614a548 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/resources_operations.py @@ -0,0 +1,1269 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcesOperations(object): + """ResourcesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources for a resource group. + + :param resource_group_name: The resource group with the resources to + get. + :type resource_group_name: str + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resources. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources'} + + + def _move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Moves resources from one resource group to another resource group. + + The resources to move must be in the same source resource group. The + target resource group may be in a different subscription. When moving + resources, both the source group and the target group are locked for + the duration of the operation. Write and delete operations are blocked + on the groups until the move completes. . + + :param source_resource_group_name: The name of the resource group + containing the resources to move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'} + + + def _validate_move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.validate_move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204, 409]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def validate_move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Validates whether resources can be moved from one resource group to + another resource group. + + This operation checks whether the specified resources can be moved to + the target. The resources to move must be in the same source resource + group. The target resource group may be in a different subscription. If + validation succeeds, it returns HTTP response code 204 (no content). If + validation fails, it returns HTTP response code 409 (Conflict) with an + error message. Retrieve the URL in the Location header value to check + the result of the long-running operation. + + :param source_resource_group_name: The name of the resource group + containing the resources to validate for move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._validate_move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + validate_move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'} + + def list( + self, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources in a subscription. + + :param filter: The filter to apply on the operation. + :type filter: str + :param expand: The $expand query parameter. + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resources'} + + def check_existence( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource exists. + + :param resource_group_name: The name of the resource group containing + the resource to check. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider of the + resource to check. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to check whether it + exists. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource. + + :param resource_group_name: The name of the resource group that + contains the resource to delete. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to delete. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to create. + :type resource_type: str + :param resource_name: The name of the resource to create. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for creating or updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to update. + :type resource_type: str + :param resource_name: The name of the resource to update. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def get( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource. + + :param resource_group_name: The name of the resource group containing + the resource to get. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource. + :type resource_type: str + :param resource_name: The name of the resource to get. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def check_existence_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Checks by ID whether a resource exists. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence_by_id.metadata = {'url': '/{resourceId}'} + + + def _delete_by_id_initial( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_by_id_initial( + resource_id=resource_id, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{resourceId}'} + + + def _create_or_update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Create or update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{resourceId}'} + + + def _update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_by_id.metadata = {'url': '/{resourceId}'} + + def get_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{resourceId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/tags_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/tags_operations.py new file mode 100644 index 000000000000..cbbd298f40db --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/operations/tags_operations.py @@ -0,0 +1,338 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TagsOperations(object): + """TagsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-02-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-02-01" + + self.config = config + + def delete_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Deletes a tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to delete. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Creates a tag value. The name of the tag must already exist. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to create. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagValue or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_02_01.models.TagValue or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagValue', response) + if response.status_code == 201: + deserialized = self._deserialize('TagValue', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Creates a tag in the subscription. + + The tag name can have a maximum of 512 characters and is case + insensitive. Tag names created by Azure have prefixes of microsoft, + azure, or windows. You cannot create tags with one of these prefixes. + + :param tag_name: The name of the tag to create. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_02_01.models.TagDetails + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('TagDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def delete( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Deletes a tag from the subscription. + + You must remove all values from a resource tag before you can delete + it. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the names and values of all resource tags that are defined in a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TagDetails + :rtype: + ~azure.mgmt.resource.resources.v2018_02_01.models.TagDetailsPaged[~azure.mgmt.resource.resources.v2018_02_01.models.TagDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/resource_management_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/resource_management_client.py new file mode 100644 index 000000000000..1c34a9d14522 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/resource_management_client.py @@ -0,0 +1,106 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.deployments_operations import DeploymentsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.resources_operations import ResourcesOperations +from .operations.resource_groups_operations import ResourceGroupsOperations +from .operations.tags_operations import TagsOperations +from .operations.deployment_operations import DeploymentOperations +from . import models + + +class ResourceManagementClientConfiguration(AzureConfiguration): + """Configuration for ResourceManagementClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ResourceManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ResourceManagementClient(SDKClient): + """Provides operations for working with resources and resource groups. + + :ivar config: Configuration for client. + :vartype config: ResourceManagementClientConfiguration + + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.resource.resources.v2018_02_01.operations.DeploymentsOperations + :ivar providers: Providers operations + :vartype providers: azure.mgmt.resource.resources.v2018_02_01.operations.ProvidersOperations + :ivar resources: Resources operations + :vartype resources: azure.mgmt.resource.resources.v2018_02_01.operations.ResourcesOperations + :ivar resource_groups: ResourceGroups operations + :vartype resource_groups: azure.mgmt.resource.resources.v2018_02_01.operations.ResourceGroupsOperations + :ivar tags: Tags operations + :vartype tags: azure.mgmt.resource.resources.v2018_02_01.operations.TagsOperations + :ivar deployment_operations: DeploymentOperations operations + :vartype deployment_operations: azure.mgmt.resource.resources.v2018_02_01.operations.DeploymentOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ResourceManagementClientConfiguration(credentials, subscription_id, base_url) + super(ResourceManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-02-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.deployments = DeploymentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resources = ResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_groups = ResourceGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tags = TagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deployment_operations = DeploymentOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/version.py new file mode 100644 index 000000000000..848a6c9f9e92 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_02_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2018-02-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/__init__.py new file mode 100644 index 000000000000..d2e3198e88e6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .resource_management_client import ResourceManagementClient +from .version import VERSION + +__all__ = ['ResourceManagementClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/__init__.py new file mode 100644 index 000000000000..a25acecd0869 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/__init__.py @@ -0,0 +1,170 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .deployment_extended_filter_py3 import DeploymentExtendedFilter + from .generic_resource_filter_py3 import GenericResourceFilter + from .resource_group_filter_py3 import ResourceGroupFilter + from .template_link_py3 import TemplateLink + from .parameters_link_py3 import ParametersLink + from .debug_setting_py3 import DebugSetting + from .on_error_deployment_py3 import OnErrorDeployment + from .deployment_properties_py3 import DeploymentProperties + from .deployment_py3 import Deployment + from .deployment_export_result_py3 import DeploymentExportResult + from .resource_management_error_with_details_py3 import ResourceManagementErrorWithDetails + from .alias_path_type_py3 import AliasPathType + from .alias_type_py3 import AliasType + from .provider_resource_type_py3 import ProviderResourceType + from .provider_py3 import Provider + from .basic_dependency_py3 import BasicDependency + from .dependency_py3 import Dependency + from .on_error_deployment_extended_py3 import OnErrorDeploymentExtended + from .deployment_properties_extended_py3 import DeploymentPropertiesExtended + from .deployment_validate_result_py3 import DeploymentValidateResult + from .deployment_extended_py3 import DeploymentExtended + from .plan_py3 import Plan + from .sku_py3 import Sku + from .identity_user_assigned_identities_value_py3 import IdentityUserAssignedIdentitiesValue + from .identity_py3 import Identity + from .generic_resource_py3 import GenericResource + from .resource_group_properties_py3 import ResourceGroupProperties + from .resource_group_py3 import ResourceGroup + from .resource_group_patchable_py3 import ResourceGroupPatchable + from .resources_move_info_py3 import ResourcesMoveInfo + from .export_template_request_py3 import ExportTemplateRequest + from .tag_count_py3 import TagCount + from .tag_value_py3 import TagValue + from .tag_details_py3 import TagDetails + from .target_resource_py3 import TargetResource + from .http_message_py3 import HttpMessage + from .deployment_operation_properties_py3 import DeploymentOperationProperties + from .deployment_operation_py3 import DeploymentOperation + from .resource_provider_operation_display_properties_py3 import ResourceProviderOperationDisplayProperties + from .resource_py3 import Resource + from .sub_resource_py3 import SubResource + from .resource_group_export_result_py3 import ResourceGroupExportResult + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .deployment_extended_filter import DeploymentExtendedFilter + from .generic_resource_filter import GenericResourceFilter + from .resource_group_filter import ResourceGroupFilter + from .template_link import TemplateLink + from .parameters_link import ParametersLink + from .debug_setting import DebugSetting + from .on_error_deployment import OnErrorDeployment + from .deployment_properties import DeploymentProperties + from .deployment import Deployment + from .deployment_export_result import DeploymentExportResult + from .resource_management_error_with_details import ResourceManagementErrorWithDetails + from .alias_path_type import AliasPathType + from .alias_type import AliasType + from .provider_resource_type import ProviderResourceType + from .provider import Provider + from .basic_dependency import BasicDependency + from .dependency import Dependency + from .on_error_deployment_extended import OnErrorDeploymentExtended + from .deployment_properties_extended import DeploymentPropertiesExtended + from .deployment_validate_result import DeploymentValidateResult + from .deployment_extended import DeploymentExtended + from .plan import Plan + from .sku import Sku + from .identity_user_assigned_identities_value import IdentityUserAssignedIdentitiesValue + from .identity import Identity + from .generic_resource import GenericResource + from .resource_group_properties import ResourceGroupProperties + from .resource_group import ResourceGroup + from .resource_group_patchable import ResourceGroupPatchable + from .resources_move_info import ResourcesMoveInfo + from .export_template_request import ExportTemplateRequest + from .tag_count import TagCount + from .tag_value import TagValue + from .tag_details import TagDetails + from .target_resource import TargetResource + from .http_message import HttpMessage + from .deployment_operation_properties import DeploymentOperationProperties + from .deployment_operation import DeploymentOperation + from .resource_provider_operation_display_properties import ResourceProviderOperationDisplayProperties + from .resource import Resource + from .sub_resource import SubResource + from .resource_group_export_result import ResourceGroupExportResult + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .deployment_extended_paged import DeploymentExtendedPaged +from .provider_paged import ProviderPaged +from .generic_resource_paged import GenericResourcePaged +from .resource_group_paged import ResourceGroupPaged +from .tag_details_paged import TagDetailsPaged +from .deployment_operation_paged import DeploymentOperationPaged +from .resource_management_client_enums import ( + DeploymentMode, + OnErrorDeploymentType, + ResourceIdentityType, +) + +__all__ = [ + 'DeploymentExtendedFilter', + 'GenericResourceFilter', + 'ResourceGroupFilter', + 'TemplateLink', + 'ParametersLink', + 'DebugSetting', + 'OnErrorDeployment', + 'DeploymentProperties', + 'Deployment', + 'DeploymentExportResult', + 'ResourceManagementErrorWithDetails', + 'AliasPathType', + 'AliasType', + 'ProviderResourceType', + 'Provider', + 'BasicDependency', + 'Dependency', + 'OnErrorDeploymentExtended', + 'DeploymentPropertiesExtended', + 'DeploymentValidateResult', + 'DeploymentExtended', + 'Plan', + 'Sku', + 'IdentityUserAssignedIdentitiesValue', + 'Identity', + 'GenericResource', + 'ResourceGroupProperties', + 'ResourceGroup', + 'ResourceGroupPatchable', + 'ResourcesMoveInfo', + 'ExportTemplateRequest', + 'TagCount', + 'TagValue', + 'TagDetails', + 'TargetResource', + 'HttpMessage', + 'DeploymentOperationProperties', + 'DeploymentOperation', + 'ResourceProviderOperationDisplayProperties', + 'Resource', + 'SubResource', + 'ResourceGroupExportResult', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'DeploymentExtendedPaged', + 'ProviderPaged', + 'GenericResourcePaged', + 'ResourceGroupPaged', + 'TagDetailsPaged', + 'DeploymentOperationPaged', + 'DeploymentMode', + 'OnErrorDeploymentType', + 'ResourceIdentityType', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type.py new file mode 100644 index 000000000000..ee5959ef5463 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AliasPathType, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.api_versions = kwargs.get('api_versions', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type_py3.py new file mode 100644 index 000000000000..ccd48141f917 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_path_type_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class AliasPathType(Model): + """The type of the paths for alias. . + + :param path: The path of an alias. + :type path: str + :param api_versions: The API versions. + :type api_versions: list[str] + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + } + + def __init__(self, *, path: str=None, api_versions=None, **kwargs) -> None: + super(AliasPathType, self).__init__(**kwargs) + self.path = path + self.api_versions = api_versions diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type.py new file mode 100644 index 000000000000..52ed507f9978 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2018_05_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, **kwargs): + super(AliasType, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.paths = kwargs.get('paths', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type_py3.py new file mode 100644 index 000000000000..8a222fc3d5bb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/alias_type_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class AliasType(Model): + """The alias type. . + + :param name: The alias name. + :type name: str + :param paths: The paths for an alias. + :type paths: + list[~azure.mgmt.resource.resources.v2018_05_01.models.AliasPathType] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'paths': {'key': 'paths', 'type': '[AliasPathType]'}, + } + + def __init__(self, *, name: str=None, paths=None, **kwargs) -> None: + super(AliasType, self).__init__(**kwargs) + self.name = name + self.paths = paths diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency.py new file mode 100644 index 000000000000..3a5ccd4aa464 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BasicDependency, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency_py3.py new file mode 100644 index 000000000000..49d821737930 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/basic_dependency_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class BasicDependency(Model): + """Deployment dependency information. + + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(BasicDependency, self).__init__(**kwargs) + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting.py new file mode 100644 index 000000000000..d6f778c5c86d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = kwargs.get('detail_level', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting_py3.py new file mode 100644 index 000000000000..af571a729762 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/debug_setting_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DebugSetting(Model): + """DebugSetting. + + :param detail_level: Specifies the type of information to log for + debugging. The permitted values are none, requestContent, responseContent, + or both requestContent and responseContent separated by a comma. The + default is none. When setting this value, carefully consider the type of + information you are passing in during deployment. By logging information + about the request or response, you could potentially expose sensitive data + that is retrieved through the deployment operations. + :type detail_level: str + """ + + _attribute_map = { + 'detail_level': {'key': 'detailLevel', 'type': 'str'}, + } + + def __init__(self, *, detail_level: str=None, **kwargs) -> None: + super(DebugSetting, self).__init__(**kwargs) + self.detail_level = detail_level diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency.py new file mode 100644 index 000000000000..f08c24d006ea --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2018_05_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dependency, self).__init__(**kwargs) + self.depends_on = kwargs.get('depends_on', None) + self.id = kwargs.get('id', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_name = kwargs.get('resource_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency_py3.py new file mode 100644 index 000000000000..781c2379eae7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/dependency_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class Dependency(Model): + """Deployment dependency information. + + :param depends_on: The list of dependencies. + :type depends_on: + list[~azure.mgmt.resource.resources.v2018_05_01.models.BasicDependency] + :param id: The ID of the dependency. + :type id: str + :param resource_type: The dependency resource type. + :type resource_type: str + :param resource_name: The dependency resource name. + :type resource_name: str + """ + + _attribute_map = { + 'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__(self, *, depends_on=None, id: str=None, resource_type: str=None, resource_name: str=None, **kwargs) -> None: + super(Dependency, self).__init__(**kwargs) + self.depends_on = depends_on + self.id = id + self.resource_type = resource_type + self.resource_name = resource_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment.py new file mode 100644 index 000000000000..2106167a7476 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param location: The location to store the deployment data. + :type location: str + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result.py new file mode 100644 index 000000000000..807e79c8b678 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result_py3.py new file mode 100644 index 000000000000..63f10bf2735a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_export_result_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExportResult(Model): + """The deployment export result. . + + :param template: The template content. + :type template: object + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + } + + def __init__(self, *, template=None, **kwargs) -> None: + super(DeploymentExportResult, self).__init__(**kwargs) + self.template = template diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended.py new file mode 100644 index 000000000000..d18e24c66aeb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended.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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the deployment. + :vartype id: str + :ivar name: The name of the deployment. + :vartype name: str + :ivar type: The type of the deployment. + :vartype type: str + :param location: the location of the deployment. + :type location: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter.py new file mode 100644 index 000000000000..0839bcc12e4e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter_py3.py new file mode 100644 index 000000000000..f06d0d1a4dfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_filter_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class DeploymentExtendedFilter(Model): + """Deployment filter. + + :param provisioning_state: The provisioning state. + :type provisioning_state: str + """ + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, provisioning_state: str=None, **kwargs) -> None: + super(DeploymentExtendedFilter, self).__init__(**kwargs) + self.provisioning_state = provisioning_state diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_paged.py new file mode 100644 index 000000000000..def81d15a342 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentExtendedPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentExtended ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentExtended]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentExtendedPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_py3.py new file mode 100644 index 000000000000..90dab05dfe13 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_extended_py3.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 msrest.serialization import Model + + +class DeploymentExtended(Model): + """Deployment information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The ID of the deployment. + :vartype id: str + :ivar name: The name of the deployment. + :vartype name: str + :ivar type: The type of the deployment. + :vartype type: str + :param location: the location of the deployment. + :type location: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentPropertiesExtended + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, location: str=None, properties=None, **kwargs) -> None: + super(DeploymentExtended, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation.py new file mode 100644 index 000000000000..ce53456c300b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_paged.py new file mode 100644 index 000000000000..ed89c78571b1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class DeploymentOperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`DeploymentOperation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeploymentOperation]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentOperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties.py new file mode 100644 index 000000000000..afda35641e94 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2018_05_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2018_05_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2018_05_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs): + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties_py3.py new file mode 100644 index 000000000000..4865550e4460 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_properties_py3.py @@ -0,0 +1,73 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperationProperties(Model): + """Deployment operation properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar timestamp: The date and time of the operation. + :vartype timestamp: datetime + :ivar service_request_id: Deployment operation service request id. + :vartype service_request_id: str + :ivar status_code: Operation status code. + :vartype status_code: str + :ivar status_message: Operation status message. + :vartype status_message: object + :ivar target_resource: The target resource. + :vartype target_resource: + ~azure.mgmt.resource.resources.v2018_05_01.models.TargetResource + :ivar request: The HTTP request message. + :vartype request: + ~azure.mgmt.resource.resources.v2018_05_01.models.HttpMessage + :ivar response: The HTTP response message. + :vartype response: + ~azure.mgmt.resource.resources.v2018_05_01.models.HttpMessage + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'service_request_id': {'readonly': True}, + 'status_code': {'readonly': True}, + 'status_message': {'readonly': True}, + 'target_resource': {'readonly': True}, + 'request': {'readonly': True}, + 'response': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'service_request_id': {'key': 'serviceRequestId', 'type': 'str'}, + 'status_code': {'key': 'statusCode', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'object'}, + 'target_resource': {'key': 'targetResource', 'type': 'TargetResource'}, + 'request': {'key': 'request', 'type': 'HttpMessage'}, + 'response': {'key': 'response', 'type': 'HttpMessage'}, + } + + def __init__(self, **kwargs) -> None: + super(DeploymentOperationProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.timestamp = None + self.service_request_id = None + self.status_code = None + self.status_message = None + self.target_resource = None + self.request = None + self.response = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_py3.py new file mode 100644 index 000000000000..bf2395aff799 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_operation_py3.py @@ -0,0 +1,45 @@ +# 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 msrest.serialization import Model + + +class DeploymentOperation(Model): + """Deployment operation information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Full deployment operation ID. + :vartype id: str + :ivar operation_id: Deployment operation ID. + :vartype operation_id: str + :param properties: Deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'operation_id': {'key': 'operationId', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentOperationProperties'}, + } + + def __init__(self, *, properties=None, **kwargs) -> None: + super(DeploymentOperation, self).__init__(**kwargs) + self.id = None + self.operation_id = None + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties.py new file mode 100644 index 000000000000..9b61d74c4261 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties.py @@ -0,0 +1,81 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_05_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeployment + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeployment'}, + } + + def __init__(self, **kwargs): + super(DeploymentProperties, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) + self.on_error_deployment = kwargs.get('on_error_deployment', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended.py new file mode 100644 index 000000000000..a3539cd95092 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended.py @@ -0,0 +1,98 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2018_05_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2018_05_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_05_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentExtended + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeploymentExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = kwargs.get('outputs', None) + self.providers = kwargs.get('providers', None) + self.dependencies = kwargs.get('dependencies', None) + self.template = kwargs.get('template', None) + self.template_link = kwargs.get('template_link', None) + self.parameters = kwargs.get('parameters', None) + self.parameters_link = kwargs.get('parameters_link', None) + self.mode = kwargs.get('mode', None) + self.debug_setting = kwargs.get('debug_setting', None) + self.on_error_deployment = kwargs.get('on_error_deployment', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended_py3.py new file mode 100644 index 000000000000..f59df3ea1255 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_extended_py3.py @@ -0,0 +1,98 @@ +# 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 msrest.serialization import Model + + +class DeploymentPropertiesExtended(Model): + """Deployment properties with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning. + :vartype provisioning_state: str + :ivar correlation_id: The correlation ID of the deployment. + :vartype correlation_id: str + :ivar timestamp: The timestamp of the template deployment. + :vartype timestamp: datetime + :param outputs: Key/value pairs that represent deployment output. + :type outputs: object + :param providers: The list of resource providers needed for the + deployment. + :type providers: + list[~azure.mgmt.resource.resources.v2018_05_01.models.Provider] + :param dependencies: The list of deployment dependencies. + :type dependencies: + list[~azure.mgmt.resource.resources.v2018_05_01.models.Dependency] + :param template: The template content. Use only one of Template or + TemplateLink. + :type template: object + :param template_link: The URI referencing the template. Use only one of + Template or TemplateLink. + :type template_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.TemplateLink + :param parameters: Deployment parameters. Use only one of Parameters or + ParametersLink. + :type parameters: object + :param parameters_link: The URI referencing the parameters. Use only one + of Parameters or ParametersLink. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.ParametersLink + :param mode: The deployment mode. Possible values are Incremental and + Complete. Possible values include: 'Incremental', 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_05_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentExtended + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'outputs': {'key': 'outputs', 'type': 'object'}, + 'providers': {'key': 'providers', 'type': '[Provider]'}, + 'dependencies': {'key': 'dependencies', 'type': '[Dependency]'}, + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeploymentExtended'}, + } + + def __init__(self, *, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None, debug_setting=None, on_error_deployment=None, **kwargs) -> None: + super(DeploymentPropertiesExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.correlation_id = None + self.timestamp = None + self.outputs = outputs + self.providers = providers + self.dependencies = dependencies + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting + self.on_error_deployment = on_error_deployment diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_py3.py new file mode 100644 index 000000000000..3fc541d71871 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_properties_py3.py @@ -0,0 +1,81 @@ +# 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 msrest.serialization import Model + + +class DeploymentProperties(Model): + """Deployment properties. + + All required parameters must be populated in order to send to Azure. + + :param template: The template content. You use this element when you want + to pass the template syntax directly in the request rather than link to an + existing template. It can be a JObject or well-formed JSON string. Use + either the templateLink property or the template property, but not both. + :type template: object + :param template_link: The URI of the template. Use either the templateLink + property or the template property, but not both. + :type template_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.TemplateLink + :param parameters: Name and value pairs that define the deployment + parameters for the template. You use this element when you want to provide + the parameter values directly in the request rather than link to an + existing parameter file. Use either the parametersLink property or the + parameters property, but not both. It can be a JObject or a well formed + JSON string. + :type parameters: object + :param parameters_link: The URI of parameters file. You use this element + to link to an existing parameters file. Use either the parametersLink + property or the parameters property, but not both. + :type parameters_link: + ~azure.mgmt.resource.resources.v2018_05_01.models.ParametersLink + :param mode: Required. The mode that is used to deploy resources. This + value can be either Incremental or Complete. In Incremental mode, + resources are deployed without deleting existing resources that are not + included in the template. In Complete mode, resources are deployed and + existing resources in the resource group that are not included in the + template are deleted. Be careful when using Complete mode as you may + unintentionally delete resources. Possible values include: 'Incremental', + 'Complete' + :type mode: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentMode + :param debug_setting: The debug setting of the deployment. + :type debug_setting: + ~azure.mgmt.resource.resources.v2018_05_01.models.DebugSetting + :param on_error_deployment: The deployment on error behavior. + :type on_error_deployment: + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeployment + """ + + _validation = { + 'mode': {'required': True}, + } + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'template_link': {'key': 'templateLink', 'type': 'TemplateLink'}, + 'parameters': {'key': 'parameters', 'type': 'object'}, + 'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'}, + 'mode': {'key': 'mode', 'type': 'DeploymentMode'}, + 'debug_setting': {'key': 'debugSetting', 'type': 'DebugSetting'}, + 'on_error_deployment': {'key': 'onErrorDeployment', 'type': 'OnErrorDeployment'}, + } + + def __init__(self, *, mode, template=None, template_link=None, parameters=None, parameters_link=None, debug_setting=None, on_error_deployment=None, **kwargs) -> None: + super(DeploymentProperties, self).__init__(**kwargs) + self.template = template + self.template_link = template_link + self.parameters = parameters + self.parameters_link = parameters_link + self.mode = mode + self.debug_setting = debug_setting + self.on_error_deployment = on_error_deployment diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_py3.py new file mode 100644 index 000000000000..0dfdb88fc8b6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class Deployment(Model): + """Deployment operation parameters. + + All required parameters must be populated in order to send to Azure. + + :param location: The location to store the deployment data. + :type location: str + :param properties: Required. The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DeploymentProperties'}, + } + + def __init__(self, *, properties, location: str=None, **kwargs) -> None: + super(Deployment, self).__init__(**kwargs) + self.location = location + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result.py new file mode 100644 index 000000000000..5a00df7a9468 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, **kwargs): + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result_py3.py new file mode 100644 index 000000000000..fbcf09daeeff --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/deployment_validate_result_py3.py @@ -0,0 +1,34 @@ +# 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 msrest.serialization import Model + + +class DeploymentValidateResult(Model): + """Information from validate template deployment response. + + :param error: Validation error. + :type error: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails + :param properties: The template deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentPropertiesExtended + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + 'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'}, + } + + def __init__(self, *, error=None, properties=None, **kwargs) -> None: + super(DeploymentValidateResult, self).__init__(**kwargs) + self.error = error + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request.py new file mode 100644 index 000000000000..069bfbb70632 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.options = kwargs.get('options', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request_py3.py new file mode 100644 index 000000000000..2374c103d566 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/export_template_request_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class ExportTemplateRequest(Model): + """Export resource group template request parameters. + + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support exporting + specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'options': {'key': 'options', 'type': 'str'}, + } + + def __init__(self, *, resources=None, options: str=None, **kwargs) -> None: + super(ExportTemplateRequest, self).__init__(**kwargs) + self.resources = resources + self.options = options diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource.py new file mode 100644 index 000000000000..d76712637f74 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2018_05_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2018_05_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2018_05_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, **kwargs): + super(GenericResource, self).__init__(**kwargs) + self.plan = kwargs.get('plan', None) + self.properties = kwargs.get('properties', None) + self.kind = kwargs.get('kind', None) + self.managed_by = kwargs.get('managed_by', None) + self.sku = kwargs.get('sku', None) + self.identity = kwargs.get('identity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter.py new file mode 100644 index 000000000000..c4488f4cf095 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.tagname = kwargs.get('tagname', None) + self.tagvalue = kwargs.get('tagvalue', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter_py3.py new file mode 100644 index 000000000000..17ad0e58c55c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_filter_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class GenericResourceFilter(Model): + """Resource filter. + + :param resource_type: The resource type. + :type resource_type: str + :param tagname: The tag name. + :type tagname: str + :param tagvalue: The tag value. + :type tagvalue: str + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'tagname': {'key': 'tagname', 'type': 'str'}, + 'tagvalue': {'key': 'tagvalue', 'type': 'str'}, + } + + def __init__(self, *, resource_type: str=None, tagname: str=None, tagvalue: str=None, **kwargs) -> None: + super(GenericResourceFilter, self).__init__(**kwargs) + self.resource_type = resource_type + self.tagname = tagname + self.tagvalue = tagvalue diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_paged.py new file mode 100644 index 000000000000..ea1c9e76ee3c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class GenericResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`GenericResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GenericResource]'} + } + + def __init__(self, *args, **kwargs): + + super(GenericResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_py3.py new file mode 100644 index 000000000000..90fcd6d6b3c5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/generic_resource_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class GenericResource(Resource): + """Resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param plan: The plan of the resource. + :type plan: ~azure.mgmt.resource.resources.v2018_05_01.models.Plan + :param properties: The resource properties. + :type properties: object + :param kind: The kind of the resource. + :type kind: str + :param managed_by: ID of the resource that manages this resource. + :type managed_by: str + :param sku: The SKU of the resource. + :type sku: ~azure.mgmt.resource.resources.v2018_05_01.models.Sku + :param identity: The identity of the resource. + :type identity: ~azure.mgmt.resource.resources.v2018_05_01.models.Identity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'properties': {'key': 'properties', 'type': 'object'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + } + + def __init__(self, *, location: str=None, tags=None, plan=None, properties=None, kind: str=None, managed_by: str=None, sku=None, identity=None, **kwargs) -> None: + super(GenericResource, self).__init__(location=location, tags=tags, **kwargs) + self.plan = plan + self.properties = properties + self.kind = kind + self.managed_by = managed_by + self.sku = sku + self.identity = identity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message.py new file mode 100644 index 000000000000..c4a11d3ebc30 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(HttpMessage, self).__init__(**kwargs) + self.content = kwargs.get('content', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message_py3.py new file mode 100644 index 000000000000..efe1b5abd2fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/http_message_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class HttpMessage(Model): + """HTTP message. + + :param content: HTTP message content. + :type content: object + """ + + _attribute_map = { + 'content': {'key': 'content', 'type': 'object'}, + } + + def __init__(self, *, content=None, **kwargs) -> None: + super(HttpMessage, self).__init__(**kwargs) + self.content = content diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity.py new file mode 100644 index 000000000000..0f7499f31cfa --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity.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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with the resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.resource.resources.v2018_05_01.models.IdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{IdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_py3.py new file mode 100644 index 000000000000..6624bd2c5cf2 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_py3.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 msrest.serialization import Model + + +class Identity(Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceIdentityType + :param user_assigned_identities: The list of user identities associated + with the resource. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.resource.resources.v2018_05_01.models.IdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{IdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value.py new file mode 100644 index 000000000000..d4f566ff2086 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class IdentityUserAssignedIdentitiesValue(Model): + """IdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value_py3.py new file mode 100644 index 000000000000..16159b444f4f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/identity_user_assigned_identities_value_py3.py @@ -0,0 +1,40 @@ +# 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 msrest.serialization import Model + + +class IdentityUserAssignedIdentitiesValue(Model): + """IdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(IdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment.py new file mode 100644 index 000000000000..19e73517ef4b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeployment(Model): + """Deployment on error behavior. + + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OnErrorDeployment, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.deployment_name = kwargs.get('deployment_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended.py new file mode 100644 index 000000000000..afa622af1482 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeploymentExtended(Model): + """Deployment on error behavior with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning for the on error + deployment. + :vartype provisioning_state: str + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OnErrorDeploymentExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.type = kwargs.get('type', None) + self.deployment_name = kwargs.get('deployment_name', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended_py3.py new file mode 100644 index 000000000000..4f7d387c3c44 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_extended_py3.py @@ -0,0 +1,47 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeploymentExtended(Model): + """Deployment on error behavior with additional details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The state of the provisioning for the on error + deployment. + :vartype provisioning_state: str + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, *, type=None, deployment_name: str=None, **kwargs) -> None: + super(OnErrorDeploymentExtended, self).__init__(**kwargs) + self.provisioning_state = None + self.type = type + self.deployment_name = deployment_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_py3.py new file mode 100644 index 000000000000..ec48dfbc6911 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/on_error_deployment_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class OnErrorDeployment(Model): + """Deployment on error behavior. + + :param type: The deployment on error behavior type. Possible values are + LastSuccessful and SpecificDeployment. Possible values include: + 'LastSuccessful', 'SpecificDeployment' + :type type: str or + ~azure.mgmt.resource.resources.v2018_05_01.models.OnErrorDeploymentType + :param deployment_name: The deployment to be used on error case. + :type deployment_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'OnErrorDeploymentType'}, + 'deployment_name': {'key': 'deploymentName', 'type': 'str'}, + } + + def __init__(self, *, type=None, deployment_name: str=None, **kwargs) -> None: + super(OnErrorDeployment, self).__init__(**kwargs) + self.type = type + self.deployment_name = deployment_name diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation.py new file mode 100644 index 000000000000..f0617b3edee0 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.resources.v2018_05_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display.py new file mode 100644 index 000000000000..98e3ef7e561c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display_py3.py new file mode 100644 index 000000000000..9579860dfd81 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_display_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_paged.py new file mode 100644 index 000000000000..a998427204db --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_py3.py new file mode 100644 index 000000000000..64bbbe2fb4d7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.resources.v2018_05_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link.py new file mode 100644 index 000000000000..0696248fc17c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ParametersLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link_py3.py new file mode 100644 index 000000000000..734546c362c4 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/parameters_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class ParametersLink(Model): + """Entity representing the reference to the deployment parameters. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the parameters file. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(ParametersLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan.py new file mode 100644 index 000000000000..594d670d723c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Plan, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.publisher = kwargs.get('publisher', None) + self.product = kwargs.get('product', None) + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan_py3.py new file mode 100644 index 000000000000..972976e1ba0f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/plan_py3.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 msrest.serialization import Model + + +class Plan(Model): + """Plan for the resource. + + :param name: The plan ID. + :type name: str + :param publisher: The publisher ID. + :type publisher: str + :param product: The offer ID. + :type product: str + :param promotion_code: The promotion code. + :type promotion_code: str + :param version: The plan's version. + :type version: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, publisher: str=None, product: str=None, promotion_code: str=None, version: str=None, **kwargs) -> None: + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider.py new file mode 100644 index 000000000000..d5d0f036be4b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2018_05_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = kwargs.get('namespace', None) + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_paged.py new file mode 100644 index 000000000000..b4a173aacd62 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`Provider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Provider]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_py3.py new file mode 100644 index 000000000000..3303d966f152 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class Provider(Model): + """Resource provider information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The provider ID. + :vartype id: str + :param namespace: The namespace of the resource provider. + :type namespace: str + :ivar registration_state: The registration state of the provider. + :vartype registration_state: str + :ivar resource_types: The collection of provider resource types. + :vartype resource_types: + list[~azure.mgmt.resource.resources.v2018_05_01.models.ProviderResourceType] + """ + + _validation = { + 'id': {'readonly': True}, + 'registration_state': {'readonly': True}, + 'resource_types': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'registration_state': {'key': 'registrationState', 'type': 'str'}, + 'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'}, + } + + def __init__(self, *, namespace: str=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.id = None + self.namespace = namespace + self.registration_state = None + self.resource_types = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type.py new file mode 100644 index 000000000000..e3dfa15e7eac --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2018_05_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.locations = kwargs.get('locations', None) + self.aliases = kwargs.get('aliases', None) + self.api_versions = kwargs.get('api_versions', None) + self.properties = kwargs.get('properties', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type_py3.py new file mode 100644 index 000000000000..ed90d4ae5241 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/provider_resource_type_py3.py @@ -0,0 +1,46 @@ +# 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 msrest.serialization import Model + + +class ProviderResourceType(Model): + """Resource type managed by the resource provider. + + :param resource_type: The resource type. + :type resource_type: str + :param locations: The collection of locations where this resource type can + be created. + :type locations: list[str] + :param aliases: The aliases that are supported by this resource type. + :type aliases: + list[~azure.mgmt.resource.resources.v2018_05_01.models.AliasType] + :param api_versions: The API version. + :type api_versions: list[str] + :param properties: The properties. + :type properties: dict[str, str] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'aliases': {'key': 'aliases', 'type': '[AliasType]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, resource_type: str=None, locations=None, aliases=None, api_versions=None, properties=None, **kwargs) -> None: + super(ProviderResourceType, self).__init__(**kwargs) + self.resource_type = resource_type + self.locations = locations + self.aliases = aliases + self.api_versions = api_versions + self.properties = properties diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource.py new file mode 100644 index 000000000000..35452c4dbcfc --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Specified resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group.py new file mode 100644 index 000000000000..3c4d19363466 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group.py @@ -0,0 +1,68 @@ +# 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 msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :ivar name: The name of the resource group. + :vartype name: str + :ivar type: The type of the resource group. + :vartype type: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result.py new file mode 100644 index 000000000000..5bef1757ea43 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = kwargs.get('template', None) + self.error = kwargs.get('error', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result_py3.py new file mode 100644 index 000000000000..375768fe00b6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_export_result_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupExportResult(Model): + """Resource group export result. + + :param template: The template content. + :type template: object + :param error: The error. + :type error: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails + """ + + _attribute_map = { + 'template': {'key': 'template', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'ResourceManagementErrorWithDetails'}, + } + + def __init__(self, *, template=None, error=None, **kwargs) -> None: + super(ResourceGroupExportResult, self).__init__(**kwargs) + self.template = template + self.error = error diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter.py new file mode 100644 index 000000000000..c94284bf3644 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = kwargs.get('tag_name', None) + self.tag_value = kwargs.get('tag_value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter_py3.py new file mode 100644 index 000000000000..d709b6afd34f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_filter_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupFilter(Model): + """Resource group filter. + + :param tag_name: The tag name. + :type tag_name: str + :param tag_value: The tag value. + :type tag_value: str + """ + + _attribute_map = { + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + } + + def __init__(self, *, tag_name: str=None, tag_value: str=None, **kwargs) -> None: + super(ResourceGroupFilter, self).__init__(**kwargs) + self.tag_name = tag_name + self.tag_value = tag_value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_paged.py new file mode 100644 index 000000000000..72da89821e0f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class ResourceGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceGroupPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable.py new file mode 100644 index 000000000000..e3915ff82581 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.managed_by = kwargs.get('managed_by', None) + self.tags = kwargs.get('tags', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable_py3.py new file mode 100644 index 000000000000..1c2a7582afc6 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_patchable_py3.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupPatchable(Model): + """Resource group information. + + :param name: The name of the resource group. + :type name: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupProperties + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, name: str=None, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroupPatchable, self).__init__(**kwargs) + self.name = name + self.properties = properties + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties.py new file mode 100644 index 000000000000..39411e3d79fb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties_py3.py new file mode 100644 index 000000000000..67d6d06dedbd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_properties_py3.py @@ -0,0 +1,35 @@ +# 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 msrest.serialization import Model + + +class ResourceGroupProperties(Model): + """The resource group properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar provisioning_state: The provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceGroupProperties, self).__init__(**kwargs) + self.provisioning_state = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_py3.py new file mode 100644 index 000000000000..10effdf3740e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_group_py3.py @@ -0,0 +1,68 @@ +# 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 msrest.serialization import Model + + +class ResourceGroup(Model): + """Resource group information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The ID of the resource group. + :vartype id: str + :ivar name: The name of the resource group. + :vartype name: str + :ivar type: The type of the resource group. + :vartype type: str + :param properties: + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupProperties + :param location: Required. The location of the resource group. It cannot + be changed after the resource group has been created. It must be one of + the supported Azure locations. + :type location: str + :param managed_by: The ID of the resource that manages this resource + group. + :type managed_by: str + :param tags: The tags attached to the resource group. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ResourceGroupProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, properties=None, managed_by: str=None, tags=None, **kwargs) -> None: + super(ResourceGroup, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + self.location = location + self.managed_by = managed_by + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_client_enums.py new file mode 100644 index 000000000000..9fd73ca1de47 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_client_enums.py @@ -0,0 +1,32 @@ +# 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 enum import Enum + + +class DeploymentMode(str, Enum): + + incremental = "Incremental" + complete = "Complete" + + +class OnErrorDeploymentType(str, Enum): + + last_successful = "LastSuccessful" + specific_deployment = "SpecificDeployment" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned, UserAssigned" + none = "None" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details.py new file mode 100644 index 000000000000..b1a16311ea8a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs): + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details_py3.py new file mode 100644 index 000000000000..82c79cfe5366 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_management_error_with_details_py3.py @@ -0,0 +1,51 @@ +# 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 msrest.serialization import Model + + +class ResourceManagementErrorWithDetails(Model): + """The detailed error message of resource management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code returned when exporting the template. + :vartype code: str + :ivar message: The error message describing the export error. + :vartype message: str + :ivar target: The target of the error. + :vartype target: str + :ivar details: Validation error. + :vartype details: + list[~azure.mgmt.resource.resources.v2018_05_01.models.ResourceManagementErrorWithDetails] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ResourceManagementErrorWithDetails]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceManagementErrorWithDetails, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties.py new file mode 100644 index 000000000000..975778dcb9c9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Resource provider operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = kwargs.get('publisher', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties_py3.py new file mode 100644 index 000000000000..853e93d8a01b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_provider_operation_display_properties_py3.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 msrest.serialization import Model + + +class ResourceProviderOperationDisplayProperties(Model): + """Resource provider operation's display properties. + + :param publisher: Operation description. + :type publisher: str + :param provider: Operation provider. + :type provider: str + :param resource: Operation resource. + :type resource: str + :param operation: Resource provider operation. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, publisher: str=None, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(ResourceProviderOperationDisplayProperties, self).__init__(**kwargs) + self.publisher = publisher + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_py3.py new file mode 100644 index 000000000000..0b12546aafd3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resource_py3.py @@ -0,0 +1,53 @@ +# 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 msrest.serialization import Model + + +class Resource(Model): + """Specified resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param location: Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info.py new file mode 100644 index 000000000000..edf946d7076b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = kwargs.get('resources', None) + self.target_resource_group = kwargs.get('target_resource_group', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info_py3.py new file mode 100644 index 000000000000..d10e2558d499 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/resources_move_info_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class ResourcesMoveInfo(Model): + """Parameters of move resources. + + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + """ + + _attribute_map = { + 'resources': {'key': 'resources', 'type': '[str]'}, + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + } + + def __init__(self, *, resources=None, target_resource_group: str=None, **kwargs) -> None: + super(ResourcesMoveInfo, self).__init__(**kwargs) + self.resources = resources + self.target_resource_group = target_resource_group diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku.py new file mode 100644 index 000000000000..bfcda32477df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.model = kwargs.get('model', None) + self.capacity = kwargs.get('capacity', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku_py3.py new file mode 100644 index 000000000000..676f1d770b79 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sku_py3.py @@ -0,0 +1,48 @@ +# 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 msrest.serialization import Model + + +class Sku(Model): + """SKU for the resource. + + :param name: The SKU name. + :type name: str + :param tier: The SKU tier. + :type tier: str + :param size: The SKU size. + :type size: str + :param family: The SKU family. + :type family: str + :param model: The SKU model. + :type model: str + :param capacity: The SKU capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'model': {'key': 'model', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, model: str=None, capacity: int=None, **kwargs) -> None: + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.model = model + self.capacity = capacity diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource.py new file mode 100644 index 000000000000..ca48705cc825 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..b2d0251b79df --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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 msrest.serialization import Model + + +class SubResource(Model): + """Sub-resource. + + :param id: Resource ID + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count.py new file mode 100644 index 000000000000..a5eeb6b38cf8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(TagCount, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.value = kwargs.get('value', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count_py3.py new file mode 100644 index 000000000000..53c80f63fdb3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_count_py3.py @@ -0,0 +1,32 @@ +# 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 msrest.serialization import Model + + +class TagCount(Model): + """Tag count. + + :param type: Type of count. + :type type: str + :param value: Value of count. + :type value: int + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + } + + def __init__(self, *, type: str=None, value: int=None, **kwargs) -> None: + super(TagCount, self).__init__(**kwargs) + self.type = type + self.value = value diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details.py new file mode 100644 index 000000000000..86b2b3153e58 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2018_05_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2018_05_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, **kwargs): + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = kwargs.get('tag_name', None) + self.count = kwargs.get('count', None) + self.values = kwargs.get('values', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_paged.py new file mode 100644 index 000000000000..90602cbf0815 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TagDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`TagDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TagDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(TagDetailsPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_py3.py new file mode 100644 index 000000000000..8393a62b467e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_details_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class TagDetails(Model): + """Tag details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_name: The tag name. + :type tag_name: str + :param count: The total number of resources that use the resource tag. + When a tag is initially created and has no associated resources, the value + is 0. + :type count: ~azure.mgmt.resource.resources.v2018_05_01.models.TagCount + :param values: The list of tag values. + :type values: + list[~azure.mgmt.resource.resources.v2018_05_01.models.TagValue] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_name': {'key': 'tagName', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + 'values': {'key': 'values', 'type': '[TagValue]'}, + } + + def __init__(self, *, tag_name: str=None, count=None, values=None, **kwargs) -> None: + super(TagDetails, self).__init__(**kwargs) + self.id = None + self.tag_name = tag_name + self.count = count + self.values = values diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value.py new file mode 100644 index 000000000000..fa304cb38711 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2018_05_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, **kwargs): + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = kwargs.get('tag_value', None) + self.count = kwargs.get('count', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value_py3.py new file mode 100644 index 000000000000..59f916db8888 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/tag_value_py3.py @@ -0,0 +1,43 @@ +# 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 msrest.serialization import Model + + +class TagValue(Model): + """Tag information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The tag ID. + :vartype id: str + :param tag_value: The tag value. + :type tag_value: str + :param count: The tag value count. + :type count: ~azure.mgmt.resource.resources.v2018_05_01.models.TagCount + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tag_value': {'key': 'tagValue', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'TagCount'}, + } + + def __init__(self, *, tag_value: str=None, count=None, **kwargs) -> None: + super(TagValue, self).__init__(**kwargs) + self.id = None + self.tag_value = tag_value + self.count = count diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource.py new file mode 100644 index 000000000000..27d557645e8b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.resource_name = kwargs.get('resource_name', None) + self.resource_type = kwargs.get('resource_type', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource_py3.py new file mode 100644 index 000000000000..933347cec8f8 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/target_resource_py3.py @@ -0,0 +1,36 @@ +# 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 msrest.serialization import Model + + +class TargetResource(Model): + """Target resource. + + :param id: The ID of the resource. + :type id: str + :param resource_name: The name of the resource. + :type resource_name: str + :param resource_type: The type of the resource. + :type resource_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, resource_name: str=None, resource_type: str=None, **kwargs) -> None: + super(TargetResource, self).__init__(**kwargs) + self.id = id + self.resource_name = resource_name + self.resource_type = resource_type diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link.py new file mode 100644 index 000000000000..634095bb9754 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TemplateLink, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.content_version = kwargs.get('content_version', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link_py3.py new file mode 100644 index 000000000000..00f2597ccd98 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/models/template_link_py3.py @@ -0,0 +1,39 @@ +# 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 msrest.serialization import Model + + +class TemplateLink(Model): + """Entity representing the reference to the template. + + All required parameters must be populated in order to send to Azure. + + :param uri: Required. The URI of the template to deploy. + :type uri: str + :param content_version: If included, must match the ContentVersion in the + template. + :type content_version: str + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'content_version': {'key': 'contentVersion', 'type': 'str'}, + } + + def __init__(self, *, uri: str, content_version: str=None, **kwargs) -> None: + super(TemplateLink, self).__init__(**kwargs) + self.uri = uri + self.content_version = content_version diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/__init__.py new file mode 100644 index 000000000000..2276b11c175a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/__init__.py @@ -0,0 +1,28 @@ +# 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 import Operations +from .deployments_operations import DeploymentsOperations +from .providers_operations import ProvidersOperations +from .resources_operations import ResourcesOperations +from .resource_groups_operations import ResourceGroupsOperations +from .tags_operations import TagsOperations +from .deployment_operations import DeploymentOperations + +__all__ = [ + 'Operations', + 'DeploymentsOperations', + 'ProvidersOperations', + 'ResourcesOperations', + 'ResourceGroupsOperations', + 'TagsOperations', + 'DeploymentOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployment_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployment_operations.py new file mode 100644 index 000000000000..58d056d7682e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployment_operations.py @@ -0,0 +1,316 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DeploymentOperations(object): + """DeploymentOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def get_at_subscription_scope( + self, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Gets a deployments operation. + + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: The ID of the operation to get. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}'} + + def list_at_subscription_scope( + self, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all deployments operations for a deployment. + + :param deployment_name: The name of the deployment with the operation + to get. + :type deployment_name: str + :param top: The number of results to return. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations'} + + def get( + self, resource_group_name, deployment_name, operation_id, custom_headers=None, raw=False, **operation_config): + """Gets a deployments operation. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param operation_id: The ID of the operation to get. + :type operation_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentOperation or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperation + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentOperation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}'} + + def list( + self, resource_group_name, deployment_name, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all deployments operations for a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment with the operation + to get. + :type deployment_name: str + :param top: The number of results to return. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentOperation + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperationPaged[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentOperation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployments_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployments_operations.py new file mode 100644 index 000000000000..79b2fd90cd45 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/deployments_operations.py @@ -0,0 +1,1216 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DeploymentsOperations(object): + """DeploymentsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + + def _delete_at_subscription_scope_initial( + self, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_at_subscription_scope( + self, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a deployment from the deployment history. + + A template deployment that is currently running cannot be deleted. + Deleting a template deployment removes the associated deployment + operations. This is an asynchronous operation that returns a status of + 202 until the template deployment is successfully deleted. The Location + response header contains the URI that is used to obtain the status of + the process. While the process is running, a call to the URI in the + Location header returns a status of 202. When the process finishes, the + URI in the Location header returns a status of 204 on success. If the + asynchronous request failed, the URI in the Location header returns an + error-level status code. + + :param deployment_name: The name of the deployment to delete. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_at_subscription_scope_initial( + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence_at_subscription_scope( + self, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether the deployment exists. + + :param deployment_name: The name of the deployment to check. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_at_subscription_scope_initial( + self, deployment_name, properties, location=None, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(location=location, properties=properties) + + # Construct URL + url = self.create_or_update_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_at_subscription_scope( + self, deployment_name, properties, location=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deploys resources at subscription scope. + + You can provide the template and parameters directly in the request or + link to JSON files. + + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + :param location: The location to store the deployment data. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_at_subscription_scope_initial( + deployment_name=deployment_name, + properties=properties, + location=location, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get_at_subscription_scope( + self, deployment_name, custom_headers=None, raw=False, **operation_config): + """Gets a deployment. + + :param deployment_name: The name of the deployment to get. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel_at_subscription_scope( + self, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancels a currently running template deployment. + + You can cancel a deployment only if the provisioningState is Accepted + or Running. After the deployment is canceled, the provisioningState is + set to Canceled. Canceling a template deployment stops the currently + running template deployment and leaves the resources partially + deployed. + + :param deployment_name: The name of the deployment to cancel. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate_at_subscription_scope( + self, deployment_name, properties, location=None, custom_headers=None, raw=False, **operation_config): + """Validates whether the specified template is syntactically correct and + will be accepted by Azure Resource Manager.. + + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + :param location: The location to store the deployment data. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(location=location, properties=properties) + + # Construct URL + url = self.validate_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template_at_subscription_scope( + self, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports the template used for specified deployment. + + :param deployment_name: The name of the deployment from which to get + the template. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list_at_subscription_scope( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the deployments for a subscription. + + :param filter: The filter to apply on the operation. For example, you + can use $filter=provisioningState eq '{state}'. + :type filter: str + :param top: The number of results to get. If null is passed, returns + all deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_at_subscription_scope.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_at_subscription_scope.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/'} + + + def _delete_initial( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a deployment from the deployment history. + + A template deployment that is currently running cannot be deleted. + Deleting a template deployment removes the associated deployment + operations. Deleting a template deployment does not affect the state of + the resource group. This is an asynchronous operation that returns a + status of 202 until the template deployment is successfully deleted. + The Location response header contains the URI that is used to obtain + the status of the process. While the process is running, a call to the + URI in the Location header returns a status of 202. When the process + finishes, the URI in the Location header returns a status of 204 on + success. If the asynchronous request failed, the URI in the Location + header returns an error-level status code. + + :param resource_group_name: The name of the resource group with the + deployment to delete. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to delete. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def check_existence( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Checks whether the deployment exists. + + :param resource_group_name: The name of the resource group with the + deployment to check. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to check. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + + def _create_or_update_initial( + self, resource_group_name, deployment_name, properties, location=None, custom_headers=None, raw=False, **operation_config): + parameters = models.Deployment(location=location, properties=properties) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + if response.status_code == 201: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, deployment_name, properties, location=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deploys resources to a resource group. + + You can provide the template and parameters directly in the request or + link to JSON files. + + :param resource_group_name: The name of the resource group to deploy + the resources to. The name is case insensitive. The resource group + must already exist. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + :param location: The location to store the deployment data. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DeploymentExtended or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + deployment_name=deployment_name, + properties=properties, + location=location, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def get( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Gets a deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to get. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExtended or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExtended', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'} + + def cancel( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Cancels a currently running template deployment. + + You can cancel a deployment only if the provisioningState is Accepted + or Running. After the deployment is canceled, the provisioningState is + set to Canceled. Canceling a template deployment stops the currently + running template deployment and leaves the resource group partially + deployed. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment to cancel. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel'} + + def validate( + self, resource_group_name, deployment_name, properties, location=None, custom_headers=None, raw=False, **operation_config): + """Validates whether the specified template is syntactically correct and + will be accepted by Azure Resource Manager.. + + :param resource_group_name: The name of the resource group the + template will be deployed to. The name is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment. + :type deployment_name: str + :param properties: The deployment properties. + :type properties: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentProperties + :param location: The location to store the deployment data. + :type location: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentValidateResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentValidateResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.Deployment(location=location, properties=properties) + + # Construct URL + url = self.validate.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'Deployment') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 400]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentValidateResult', response) + if response.status_code == 400: + deserialized = self._deserialize('DeploymentValidateResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate'} + + def export_template( + self, resource_group_name, deployment_name, custom_headers=None, raw=False, **operation_config): + """Exports the template used for specified deployment. + + :param resource_group_name: The name of the resource group. The name + is case insensitive. + :type resource_group_name: str + :param deployment_name: The name of the deployment from which to get + the template. + :type deployment_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate'} + + def list_by_resource_group( + self, resource_group_name, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the deployments for a resource group. + + :param resource_group_name: The name of the resource group with the + deployments to get. The name is case insensitive. + :type resource_group_name: str + :param filter: The filter to apply on the operation. For example, you + can use $filter=provisioningState eq '{state}'. + :type filter: str + :param top: The number of results to get. If null is passed, returns + all deployments. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DeploymentExtended + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtendedPaged[~azure.mgmt.resource.resources.v2018_05_01.models.DeploymentExtended] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DeploymentExtendedPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/operations.py new file mode 100644 index 000000000000..606acfd13829 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Resources REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.OperationPaged[~azure.mgmt.resource.resources.v2018_05_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Resources/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/providers_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/providers_operations.py new file mode 100644 index 000000000000..1fb8b5429b35 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/providers_operations.py @@ -0,0 +1,299 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def unregister( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Unregisters a subscription from a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to unregister. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_05_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.unregister.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + unregister.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister'} + + def register( + self, resource_provider_namespace, custom_headers=None, raw=False, **operation_config): + """Registers a subscription with a resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider to register. + :type resource_provider_namespace: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_05_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.register.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + register.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register'} + + def list( + self, top=None, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets all resource providers for a subscription. + + :param top: The number of results to return. If null is passed returns + all deployments. + :type top: int + :param expand: The properties to include in the results. For example, + use &$expand=metadata in the query string to retrieve resource + provider metadata. To include property aliases in response, use + $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Provider + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ProviderPaged[~azure.mgmt.resource.resources.v2018_05_01.models.Provider] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers'} + + def get( + self, resource_provider_namespace, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified resource provider. + + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param expand: The $expand query parameter. For example, to include + property aliases in response, use $expand=resourceTypes/aliases. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Provider or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_05_01.models.Provider or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Provider', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resource_groups_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resource_groups_operations.py new file mode 100644 index 000000000000..1bfec99bf6d3 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resource_groups_operations.py @@ -0,0 +1,530 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourceGroupsOperations(object): + """ResourceGroupsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def check_existence( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource group exists. + + :param resource_group_name: The name of the resource group to check. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def create_or_update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a resource group. + + :param resource_group_name: The name of the resource group to create + or update. Can include alphanumeric, underscore, parentheses, hyphen, + period (except at end), and Unicode characters that match the allowed + characters. + :type resource_group_name: str + :param parameters: Parameters supplied to the create or update a + resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroup') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + + def _delete_initial( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource group. + + When you delete a resource group, all of its resources are also + deleted. Deleting a resource group deletes all of its template + deployments and currently stored operations. + + :param resource_group_name: The name of the resource group to delete. + The name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def get( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets a resource group. + + :param resource_group_name: The name of the resource group to get. The + name is case insensitive. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def update( + self, resource_group_name, parameters, custom_headers=None, raw=False, **operation_config): + """Updates a resource group. + + Resource groups can be updated through a simple PATCH operation to a + group address. The format of the request is the same as that for + creating a resource group. If a field is unspecified, the current value + is retained. + + :param resource_group_name: The name of the resource group to update. + The name is case insensitive. + :type resource_group_name: str + :param parameters: Parameters supplied to update a resource group. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupPatchable + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroup or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourceGroupPatchable') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}'} + + def export_template( + self, resource_group_name, resources=None, options=None, custom_headers=None, raw=False, **operation_config): + """Captures the specified resource group as a template. + + :param resource_group_name: The name of the resource group to export + as a template. + :type resource_group_name: str + :param resources: The IDs of the resources. The only supported string + currently is '*' (all resources). Future updates will support + exporting specific resources. + :type resources: list[str] + :param options: The export template options. Supported values include + 'IncludeParameterDefaultValue', 'IncludeComments' or + 'IncludeParameterDefaultValue, IncludeComments + :type options: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceGroupExportResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupExportResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.ExportTemplateRequest(resources=resources, options=options) + + # Construct URL + url = self.export_template.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ExportTemplateRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourceGroupExportResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + export_template.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate'} + + def list( + self, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Gets all the resource groups for a subscription. + + :param filter: The filter to apply on the operation.

You can + filter by tag names and values. For example, to filter for a tag name + and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1' + :type filter: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ResourceGroup + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroupPaged[~azure.mgmt.resource.resources.v2018_05_01.models.ResourceGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourceGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resources_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resources_operations.py new file mode 100644 index 000000000000..e8c1a037ea81 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/resources_operations.py @@ -0,0 +1,1307 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcesOperations(object): + """ResourcesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def list_by_resource_group( + self, resource_group_name, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources for a resource group. + + :param resource_group_name: The resource group with the resources to + get. + :type resource_group_name: str + :param filter: The filter to apply on the operation.

The + properties you can use for eq (equals) or ne (not equals) are: + location, resourceType, name, resourceGroup, identity, + identity/principalId, plan, plan/publisher, plan/product, plan/name, + plan/version, and plan/promotionCode.

For example, to filter by + a resource type, use: $filter=resourceType eq + 'Microsoft.Network/virtualNetworks'

You can use + substringof(value, property) in the filter. The properties you can use + for substring are: name and resourceGroup.

For example, to get + all resources with 'demo' anywhere in the name, use: + $filter=substringof('demo', name)

You can link more than one + substringof together by adding and/or operators.

You can filter + by tag names and values. For example, to filter for a tag name and + value, use $filter=tagName eq 'tag1' and tagValue eq + 'Value1'

You can use some properties together when filtering. + The combinations you can use are: substringof and/or resourceType, + plan and plan/publisher and plan/name, identity and + identity/principalId. + :type filter: str + :param expand: The $expand query parameter. You can expand createdTime + and changedTime. For example, to expand both properties, use + $expand=changedTime,createdTime + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resources. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources'} + + + def _move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Moves resources from one resource group to another resource group. + + The resources to move must be in the same source resource group. The + target resource group may be in a different subscription. When moving + resources, both the source group and the target group are locked for + the duration of the operation. Write and delete operations are blocked + on the groups until the move completes. . + + :param source_resource_group_name: The name of the resource group + containing the resources to move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources'} + + + def _validate_move_resources_initial( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ResourcesMoveInfo(resources=resources, target_resource_group=target_resource_group) + + # Construct URL + url = self.validate_move_resources.metadata['url'] + path_format_arguments = { + 'sourceResourceGroupName': self._serialize.url("source_resource_group_name", source_resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ResourcesMoveInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [202, 204, 409]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def validate_move_resources( + self, source_resource_group_name, resources=None, target_resource_group=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Validates whether resources can be moved from one resource group to + another resource group. + + This operation checks whether the specified resources can be moved to + the target. The resources to move must be in the same source resource + group. The target resource group may be in a different subscription. If + validation succeeds, it returns HTTP response code 204 (no content). If + validation fails, it returns HTTP response code 409 (Conflict) with an + error message. Retrieve the URL in the Location header value to check + the result of the long-running operation. + + :param source_resource_group_name: The name of the resource group + containing the resources to validate for move. + :type source_resource_group_name: str + :param resources: The IDs of the resources. + :type resources: list[str] + :param target_resource_group: The target resource group. + :type target_resource_group: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._validate_move_resources_initial( + source_resource_group_name=source_resource_group_name, + resources=resources, + target_resource_group=target_resource_group, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + validate_move_resources.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources'} + + def list( + self, filter=None, expand=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all the resources in a subscription. + + :param filter: The filter to apply on the operation.

The + properties you can use for eq (equals) or ne (not equals) are: + location, resourceType, name, resourceGroup, identity, + identity/principalId, plan, plan/publisher, plan/product, plan/name, + plan/version, and plan/promotionCode.

For example, to filter by + a resource type, use: $filter=resourceType eq + 'Microsoft.Network/virtualNetworks'

You can use + substringof(value, property) in the filter. The properties you can use + for substring are: name and resourceGroup.

For example, to get + all resources with 'demo' anywhere in the name, use: + $filter=substringof('demo', name)

You can link more than one + substringof together by adding and/or operators.

You can filter + by tag names and values. For example, to filter for a tag name and + value, use $filter=tagName eq 'tag1' and tagValue eq + 'Value1'

You can use some properties together when filtering. + The combinations you can use are: substringof and/or resourceType, + plan and plan/publisher and plan/name, identity and + identity/principalId. + :type filter: str + :param expand: The $expand query parameter. You can expand createdTime + and changedTime. For example, to expand both properties, use + $expand=changedTime,createdTime + :type expand: str + :param top: The number of results to return. If null is passed, + returns all resource groups. + :type top: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of GenericResource + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResourcePaged[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.GenericResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resources'} + + def check_existence( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Checks whether a resource exists. + + :param resource_group_name: The name of the resource group containing + the resource to check. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The resource provider of the + resource to check. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to check whether it + exists. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource. + + :param resource_group_name: The name of the resource group that + contains the resource to delete. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type. + :type resource_type: str + :param resource_name: The name of the resource to delete. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to create. + :type resource_type: str + :param resource_name: The name of the resource to create. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for creating or updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + + def _update_initial( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource. + + :param resource_group_name: The name of the resource group for the + resource. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource to update. + :type resource_type: str + :param resource_name: The name of the resource to update. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Parameters for updating the resource. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + resource_provider_namespace=resource_provider_namespace, + parent_resource_path=parent_resource_path, + resource_type=resource_type, + resource_name=resource_name, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def get( + self, resource_group_name, resource_provider_namespace, parent_resource_path, resource_type, resource_name, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource. + + :param resource_group_name: The name of the resource group containing + the resource to get. The name is case insensitive. + :type resource_group_name: str + :param resource_provider_namespace: The namespace of the resource + provider. + :type resource_provider_namespace: str + :param parent_resource_path: The parent resource identity. + :type parent_resource_path: str + :param resource_type: The resource type of the resource. + :type resource_type: str + :param resource_name: The name of the resource to get. + :type resource_name: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceProviderNamespace': self._serialize.url("resource_provider_namespace", resource_provider_namespace, 'str'), + 'parentResourcePath': self._serialize.url("parent_resource_path", parent_resource_path, 'str', skip_quote=True), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str', skip_quote=True), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}'} + + def check_existence_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Checks by ID whether a resource exists. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: bool or ClientRawResponse if raw=true + :rtype: bool or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_existence_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204, 404]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = (response.status_code == 204) + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + return deserialized + check_existence_by_id.metadata = {'url': '/{resourceId}'} + + + def _delete_by_id_initial( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_by_id_initial( + resource_id=resource_id, + api_version=api_version, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete_by_id.metadata = {'url': '/{resourceId}'} + + + def _create_or_update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + if response.status_code == 201: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Create or update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update_by_id.metadata = {'url': '/{resourceId}'} + + + def _update_by_id_initial( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'GenericResource') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_by_id( + self, resource_id, api_version, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param parameters: Update resource parameters. + :type parameters: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GenericResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource]] + :raises: :class:`CloudError` + """ + raw_result = self._update_by_id_initial( + resource_id=resource_id, + api_version=api_version, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_by_id.metadata = {'url': '/{resourceId}'} + + def get_by_id( + self, resource_id, api_version, custom_headers=None, raw=False, **operation_config): + """Gets a resource by ID. + + :param resource_id: The fully qualified ID of the resource, including + the resource name and resource type. Use the format, + /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} + :type resource_id: str + :param api_version: The API version to use for the operation. + :type api_version: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: GenericResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.GenericResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_by_id.metadata['url'] + path_format_arguments = { + 'resourceId': self._serialize.url("resource_id", resource_id, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('GenericResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_id.metadata = {'url': '/{resourceId}'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/tags_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/tags_operations.py new file mode 100644 index 000000000000..b8ca76185c60 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/operations/tags_operations.py @@ -0,0 +1,338 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TagsOperations(object): + """TagsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for this operation. Constant value: "2018-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-05-01" + + self.config = config + + def delete_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Deletes a tag value. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to delete. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update_value( + self, tag_name, tag_value, custom_headers=None, raw=False, **operation_config): + """Creates a tag value. The name of the tag must already exist. + + :param tag_name: The name of the tag. + :type tag_name: str + :param tag_value: The value of the tag to create. + :type tag_value: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagValue or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_05_01.models.TagValue or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_value.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'tagValue': self._serialize.url("tag_value", tag_value, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagValue', response) + if response.status_code == 201: + deserialized = self._deserialize('TagValue', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_value.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}'} + + def create_or_update( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Creates a tag in the subscription. + + The tag name can have a maximum of 512 characters and is case + insensitive. Tag names created by Azure have prefixes of microsoft, + azure, or windows. You cannot create tags with one of these prefixes. + + :param tag_name: The name of the tag to create. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: TagDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.resource.resources.v2018_05_01.models.TagDetails + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('TagDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('TagDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def delete( + self, tag_name, custom_headers=None, raw=False, **operation_config): + """Deletes a tag from the subscription. + + You must remove all values from a resource tag before you can delete + it. + + :param tag_name: The name of the tag. + :type tag_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'tagName': self._serialize.url("tag_name", tag_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames/{tagName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the names and values of all resource tags that are defined in a + subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TagDetails + :rtype: + ~azure.mgmt.resource.resources.v2018_05_01.models.TagDetailsPaged[~azure.mgmt.resource.resources.v2018_05_01.models.TagDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TagDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/tagNames'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/resource_management_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/resource_management_client.py new file mode 100644 index 000000000000..848bf451ab63 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/resource_management_client.py @@ -0,0 +1,111 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.deployments_operations import DeploymentsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.resources_operations import ResourcesOperations +from .operations.resource_groups_operations import ResourceGroupsOperations +from .operations.tags_operations import TagsOperations +from .operations.deployment_operations import DeploymentOperations +from . import models + + +class ResourceManagementClientConfiguration(AzureConfiguration): + """Configuration for ResourceManagementClient + 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` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(ResourceManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class ResourceManagementClient(SDKClient): + """Provides operations for working with resources and resource groups. + + :ivar config: Configuration for client. + :vartype config: ResourceManagementClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.resource.resources.v2018_05_01.operations.Operations + :ivar deployments: Deployments operations + :vartype deployments: azure.mgmt.resource.resources.v2018_05_01.operations.DeploymentsOperations + :ivar providers: Providers operations + :vartype providers: azure.mgmt.resource.resources.v2018_05_01.operations.ProvidersOperations + :ivar resources: Resources operations + :vartype resources: azure.mgmt.resource.resources.v2018_05_01.operations.ResourcesOperations + :ivar resource_groups: ResourceGroups operations + :vartype resource_groups: azure.mgmt.resource.resources.v2018_05_01.operations.ResourceGroupsOperations + :ivar tags: Tags operations + :vartype tags: azure.mgmt.resource.resources.v2018_05_01.operations.TagsOperations + :ivar deployment_operations: DeploymentOperations operations + :vartype deployment_operations: azure.mgmt.resource.resources.v2018_05_01.operations.DeploymentOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ResourceManagementClientConfiguration(credentials, subscription_id, base_url) + super(ResourceManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2018-05-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.deployments = DeploymentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resources = ResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_groups = ResourceGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tags = TagsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deployment_operations = DeploymentOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/version.py new file mode 100644 index 000000000000..5bfc801ce220 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/resources/v2018_05_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2018-05-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/__init__.py new file mode 100644 index 000000000000..ce1112dc9c59 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .subscription_client import SubscriptionClient +from .version import VERSION + +__all__ = ['SubscriptionClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/__init__.py new file mode 100644 index 000000000000..93bb9b27a0d5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/__init__.py @@ -0,0 +1,48 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .location_py3 import Location + from .subscription_policies_py3 import SubscriptionPolicies + from .subscription_py3 import Subscription + from .tenant_id_description_py3 import TenantIdDescription + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .location import Location + from .subscription_policies import SubscriptionPolicies + from .subscription import Subscription + from .tenant_id_description import TenantIdDescription + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .location_paged import LocationPaged +from .subscription_paged import SubscriptionPaged +from .tenant_id_description_paged import TenantIdDescriptionPaged +from .subscription_client_enums import ( + SubscriptionState, + SpendingLimit, +) + +__all__ = [ + 'Location', + 'SubscriptionPolicies', + 'Subscription', + 'TenantIdDescription', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'LocationPaged', + 'SubscriptionPaged', + 'TenantIdDescriptionPaged', + 'SubscriptionState', + 'SpendingLimit', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location.py new file mode 100644 index 000000000000..691616984d27 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location.py @@ -0,0 +1,61 @@ +# 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 msrest.serialization import Model + + +class Location(Model): + """Location information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the location. For example, + /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar name: The location name. + :vartype name: str + :ivar display_name: The display name of the location. + :vartype display_name: str + :ivar latitude: The latitude of the location. + :vartype latitude: str + :ivar longitude: The longitude of the location. + :vartype longitude: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'latitude': {'readonly': True}, + 'longitude': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'latitude': {'key': 'latitude', 'type': 'str'}, + 'longitude': {'key': 'longitude', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Location, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.name = None + self.display_name = None + self.latitude = None + self.longitude = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_paged.py new file mode 100644 index 000000000000..3e25376e7938 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class LocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Location ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Location]'} + } + + def __init__(self, *args, **kwargs): + + super(LocationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_py3.py new file mode 100644 index 000000000000..40af216a6647 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/location_py3.py @@ -0,0 +1,61 @@ +# 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 msrest.serialization import Model + + +class Location(Model): + """Location information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the location. For example, + /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar name: The location name. + :vartype name: str + :ivar display_name: The display name of the location. + :vartype display_name: str + :ivar latitude: The latitude of the location. + :vartype latitude: str + :ivar longitude: The longitude of the location. + :vartype longitude: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'latitude': {'readonly': True}, + 'longitude': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'latitude': {'key': 'latitude', 'type': 'str'}, + 'longitude': {'key': 'longitude', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Location, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.name = None + self.display_name = None + self.latitude = None + self.longitude = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation.py new file mode 100644 index 000000000000..17371783a238 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display.py new file mode 100644 index 000000000000..98e3ef7e561c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display_py3.py new file mode 100644 index 000000000000..9579860dfd81 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_display_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_paged.py new file mode 100644 index 000000000000..7637539cb607 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_py3.py new file mode 100644 index 000000000000..392fc49eaefa --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription.py new file mode 100644 index 000000000000..44beb231a2bb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription.py @@ -0,0 +1,65 @@ +# 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 msrest.serialization import Model + + +class Subscription(Model): + """Subscription information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID for the subscription. For example, + /subscriptions/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar display_name: The subscription display name. + :vartype display_name: str + :ivar state: The subscription state. Possible values are Enabled, Warned, + PastDue, Disabled, and Deleted. Possible values include: 'Enabled', + 'Warned', 'PastDue', 'Disabled', 'Deleted' + :vartype state: str or + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SubscriptionState + :param subscription_policies: The subscription policies. + :type subscription_policies: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SubscriptionPolicies + :param authorization_source: The authorization source of the request. + Valid values are one or more combinations of Legacy, RoleBased, Bypassed, + Direct and Management. For example, 'Legacy, RoleBased'. + :type authorization_source: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'display_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'SubscriptionState'}, + 'subscription_policies': {'key': 'subscriptionPolicies', 'type': 'SubscriptionPolicies'}, + 'authorization_source': {'key': 'authorizationSource', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subscription, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.display_name = None + self.state = None + self.subscription_policies = kwargs.get('subscription_policies', None) + self.authorization_source = kwargs.get('authorization_source', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_client_enums.py new file mode 100644 index 000000000000..bc846c09187b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_client_enums.py @@ -0,0 +1,28 @@ +# 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 enum import Enum + + +class SubscriptionState(str, Enum): + + enabled = "Enabled" + warned = "Warned" + past_due = "PastDue" + disabled = "Disabled" + deleted = "Deleted" + + +class SpendingLimit(str, Enum): + + on = "On" + off = "Off" + current_period_off = "CurrentPeriodOff" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_paged.py new file mode 100644 index 000000000000..17c5812ae934 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class SubscriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subscription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subscription]'} + } + + def __init__(self, *args, **kwargs): + + super(SubscriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies.py new file mode 100644 index 000000000000..14c6f09aa39f --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class SubscriptionPolicies(Model): + """Subscription policies. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar location_placement_id: The subscription location placement ID. The + ID indicates which regions are visible for a subscription. For example, a + subscription with a location placement Id of Public_2014-09-01 has access + to Azure public regions. + :vartype location_placement_id: str + :ivar quota_id: The subscription quota ID. + :vartype quota_id: str + :ivar spending_limit: The subscription spending limit. Possible values + include: 'On', 'Off', 'CurrentPeriodOff' + :vartype spending_limit: str or + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SpendingLimit + """ + + _validation = { + 'location_placement_id': {'readonly': True}, + 'quota_id': {'readonly': True}, + 'spending_limit': {'readonly': True}, + } + + _attribute_map = { + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + 'spending_limit': {'key': 'spendingLimit', 'type': 'SpendingLimit'}, + } + + def __init__(self, **kwargs): + super(SubscriptionPolicies, self).__init__(**kwargs) + self.location_placement_id = None + self.quota_id = None + self.spending_limit = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies_py3.py new file mode 100644 index 000000000000..94eabde9f289 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_policies_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class SubscriptionPolicies(Model): + """Subscription policies. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar location_placement_id: The subscription location placement ID. The + ID indicates which regions are visible for a subscription. For example, a + subscription with a location placement Id of Public_2014-09-01 has access + to Azure public regions. + :vartype location_placement_id: str + :ivar quota_id: The subscription quota ID. + :vartype quota_id: str + :ivar spending_limit: The subscription spending limit. Possible values + include: 'On', 'Off', 'CurrentPeriodOff' + :vartype spending_limit: str or + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SpendingLimit + """ + + _validation = { + 'location_placement_id': {'readonly': True}, + 'quota_id': {'readonly': True}, + 'spending_limit': {'readonly': True}, + } + + _attribute_map = { + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + 'spending_limit': {'key': 'spendingLimit', 'type': 'SpendingLimit'}, + } + + def __init__(self, **kwargs) -> None: + super(SubscriptionPolicies, self).__init__(**kwargs) + self.location_placement_id = None + self.quota_id = None + self.spending_limit = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_py3.py new file mode 100644 index 000000000000..dfad65822705 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/subscription_py3.py @@ -0,0 +1,65 @@ +# 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 msrest.serialization import Model + + +class Subscription(Model): + """Subscription information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID for the subscription. For example, + /subscriptions/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar display_name: The subscription display name. + :vartype display_name: str + :ivar state: The subscription state. Possible values are Enabled, Warned, + PastDue, Disabled, and Deleted. Possible values include: 'Enabled', + 'Warned', 'PastDue', 'Disabled', 'Deleted' + :vartype state: str or + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SubscriptionState + :param subscription_policies: The subscription policies. + :type subscription_policies: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SubscriptionPolicies + :param authorization_source: The authorization source of the request. + Valid values are one or more combinations of Legacy, RoleBased, Bypassed, + Direct and Management. For example, 'Legacy, RoleBased'. + :type authorization_source: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'display_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'SubscriptionState'}, + 'subscription_policies': {'key': 'subscriptionPolicies', 'type': 'SubscriptionPolicies'}, + 'authorization_source': {'key': 'authorizationSource', 'type': 'str'}, + } + + def __init__(self, *, subscription_policies=None, authorization_source: str=None, **kwargs) -> None: + super(Subscription, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.display_name = None + self.state = None + self.subscription_policies = subscription_policies + self.authorization_source = authorization_source diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description.py new file mode 100644 index 000000000000..dc4ddc3edde9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class TenantIdDescription(Model): + """Tenant Id information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the tenant. For example, + /tenants/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar tenant_id: The tenant ID. For example, + 00000000-0000-0000-0000-000000000000. + :vartype tenant_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TenantIdDescription, self).__init__(**kwargs) + self.id = None + self.tenant_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_paged.py new file mode 100644 index 000000000000..9521e439fe0c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TenantIdDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`TenantIdDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TenantIdDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(TenantIdDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_py3.py new file mode 100644 index 000000000000..3b1103d1b9dd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/models/tenant_id_description_py3.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class TenantIdDescription(Model): + """Tenant Id information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the tenant. For example, + /tenants/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar tenant_id: The tenant ID. For example, + 00000000-0000-0000-0000-000000000000. + :vartype tenant_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TenantIdDescription, self).__init__(**kwargs) + self.id = None + self.tenant_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/__init__.py new file mode 100644 index 000000000000..f6906611d0e7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/__init__.py @@ -0,0 +1,20 @@ +# 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 import Operations +from .subscriptions_operations import SubscriptionsOperations +from .tenants_operations import TenantsOperations + +__all__ = [ + 'Operations', + 'SubscriptionsOperations', + 'TenantsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/operations.py new file mode 100644 index 000000000000..62c7155f056c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Resources REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.OperationPaged[~azure.mgmt.resource.subscriptions.v2016_06_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Resources/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/subscriptions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/subscriptions_operations.py new file mode 100644 index 000000000000..fde956c88828 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/subscriptions_operations.py @@ -0,0 +1,227 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SubscriptionsOperations(object): + """SubscriptionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list_locations( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """Gets all available geo-locations. + + This operation provides all the locations that are available for + resource providers; however, each resource provider may support a + subset of this list. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Location + :rtype: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.LocationPaged[~azure.mgmt.resource.subscriptions.v2016_06_01.models.Location] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_locations.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.LocationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_locations.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} + + def get( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """Gets details about a specified subscription. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Subscription or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.Subscription or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Subscription', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all subscriptions for a tenant. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Subscription + :rtype: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.SubscriptionPaged[~azure.mgmt.resource.subscriptions.v2016_06_01.models.Subscription] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.SubscriptionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SubscriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/tenants_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/tenants_operations.py new file mode 100644 index 000000000000..5e18e7b59032 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/operations/tenants_operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TenantsOperations(object): + """TenantsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the tenants for your account. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TenantIdDescription + :rtype: + ~azure.mgmt.resource.subscriptions.v2016_06_01.models.TenantIdDescriptionPaged[~azure.mgmt.resource.subscriptions.v2016_06_01.models.TenantIdDescription] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TenantIdDescriptionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TenantIdDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/tenants'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/subscription_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/subscription_client.py new file mode 100644 index 000000000000..dfc36bb76bfb --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/subscription_client.py @@ -0,0 +1,84 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.subscriptions_operations import SubscriptionsOperations +from .operations.tenants_operations import TenantsOperations +from . import models + + +class SubscriptionClientConfiguration(AzureConfiguration): + """Configuration for SubscriptionClient + 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` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(SubscriptionClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + + +class SubscriptionClient(SDKClient): + """All resource groups and resources exist within subscriptions. These operation enable you get information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your organization. + + :ivar config: Configuration for client. + :vartype config: SubscriptionClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.resource.subscriptions.v2016_06_01.operations.Operations + :ivar subscriptions: Subscriptions operations + :vartype subscriptions: azure.mgmt.resource.subscriptions.v2016_06_01.operations.SubscriptionsOperations + :ivar tenants: Tenants operations + :vartype tenants: azure.mgmt.resource.subscriptions.v2016_06_01.operations.TenantsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + self.config = SubscriptionClientConfiguration(credentials, base_url) + super(SubscriptionClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-06-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.subscriptions = SubscriptionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tenants = TenantsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/version.py new file mode 100644 index 000000000000..b2fd3a7ffa39 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2016_06_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-06-01" + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/__init__.py new file mode 100644 index 000000000000..ce1112dc9c59 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .subscription_client import SubscriptionClient +from .version import VERSION + +__all__ = ['SubscriptionClient'] + +__version__ = VERSION + diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/__init__.py new file mode 100644 index 000000000000..93bb9b27a0d5 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/__init__.py @@ -0,0 +1,48 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .location_py3 import Location + from .subscription_policies_py3 import SubscriptionPolicies + from .subscription_py3 import Subscription + from .tenant_id_description_py3 import TenantIdDescription + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation +except (SyntaxError, ImportError): + from .location import Location + from .subscription_policies import SubscriptionPolicies + from .subscription import Subscription + from .tenant_id_description import TenantIdDescription + from .operation_display import OperationDisplay + from .operation import Operation +from .operation_paged import OperationPaged +from .location_paged import LocationPaged +from .subscription_paged import SubscriptionPaged +from .tenant_id_description_paged import TenantIdDescriptionPaged +from .subscription_client_enums import ( + SubscriptionState, + SpendingLimit, +) + +__all__ = [ + 'Location', + 'SubscriptionPolicies', + 'Subscription', + 'TenantIdDescription', + 'OperationDisplay', + 'Operation', + 'OperationPaged', + 'LocationPaged', + 'SubscriptionPaged', + 'TenantIdDescriptionPaged', + 'SubscriptionState', + 'SpendingLimit', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location.py new file mode 100644 index 000000000000..691616984d27 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location.py @@ -0,0 +1,61 @@ +# 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 msrest.serialization import Model + + +class Location(Model): + """Location information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the location. For example, + /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar name: The location name. + :vartype name: str + :ivar display_name: The display name of the location. + :vartype display_name: str + :ivar latitude: The latitude of the location. + :vartype latitude: str + :ivar longitude: The longitude of the location. + :vartype longitude: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'latitude': {'readonly': True}, + 'longitude': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'latitude': {'key': 'latitude', 'type': 'str'}, + 'longitude': {'key': 'longitude', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Location, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.name = None + self.display_name = None + self.latitude = None + self.longitude = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_paged.py new file mode 100644 index 000000000000..e15bc5331eb9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class LocationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Location ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Location]'} + } + + def __init__(self, *args, **kwargs): + + super(LocationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_py3.py new file mode 100644 index 000000000000..40af216a6647 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/location_py3.py @@ -0,0 +1,61 @@ +# 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 msrest.serialization import Model + + +class Location(Model): + """Location information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the location. For example, + /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar name: The location name. + :vartype name: str + :ivar display_name: The display name of the location. + :vartype display_name: str + :ivar latitude: The latitude of the location. + :vartype latitude: str + :ivar longitude: The longitude of the location. + :vartype longitude: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'latitude': {'readonly': True}, + 'longitude': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'latitude': {'key': 'latitude', 'type': 'str'}, + 'longitude': {'key': 'longitude', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Location, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.name = None + self.display_name = None + self.latitude = None + self.longitude = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation.py new file mode 100644 index 000000000000..b5f5d9b993f9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display.py new file mode 100644 index 000000000000..98e3ef7e561c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display_py3.py new file mode 100644 index 000000000000..9579860dfd81 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_display_py3.py @@ -0,0 +1,41 @@ +# 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 msrest.serialization import Model + + +class OperationDisplay(Model): + """The object that represents the operation. + + :param provider: Service provider: Microsoft.Resources + :type provider: str + :param resource: Resource on which the operation is performed: Profile, + endpoint, etc. + :type resource: str + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_paged.py new file mode 100644 index 000000000000..d1b8f2f1279e --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_py3.py new file mode 100644 index 000000000000..c40d85b2856c --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/operation_py3.py @@ -0,0 +1,33 @@ +# 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 msrest.serialization import Model + + +class Operation(Model): + """Microsoft.Resources operation. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: The object that represents the operation. + :type display: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription.py new file mode 100644 index 000000000000..3ea6938c1795 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription.py @@ -0,0 +1,70 @@ +# 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 msrest.serialization import Model + + +class Subscription(Model): + """Subscription information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID for the subscription. For example, + /subscriptions/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar display_name: The subscription display name. + :vartype display_name: str + :ivar tenant_id: The subscription tenant ID. + :vartype tenant_id: str + :ivar state: The subscription state. Possible values are Enabled, Warned, + PastDue, Disabled, and Deleted. Possible values include: 'Enabled', + 'Warned', 'PastDue', 'Disabled', 'Deleted' + :vartype state: str or + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SubscriptionState + :param subscription_policies: The subscription policies. + :type subscription_policies: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SubscriptionPolicies + :param authorization_source: The authorization source of the request. + Valid values are one or more combinations of Legacy, RoleBased, Bypassed, + Direct and Management. For example, 'Legacy, RoleBased'. + :type authorization_source: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'display_name': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'SubscriptionState'}, + 'subscription_policies': {'key': 'subscriptionPolicies', 'type': 'SubscriptionPolicies'}, + 'authorization_source': {'key': 'authorizationSource', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subscription, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.display_name = None + self.tenant_id = None + self.state = None + self.subscription_policies = kwargs.get('subscription_policies', None) + self.authorization_source = kwargs.get('authorization_source', None) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_client_enums.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_client_enums.py new file mode 100644 index 000000000000..bc846c09187b --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_client_enums.py @@ -0,0 +1,28 @@ +# 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 enum import Enum + + +class SubscriptionState(str, Enum): + + enabled = "Enabled" + warned = "Warned" + past_due = "PastDue" + disabled = "Disabled" + deleted = "Deleted" + + +class SpendingLimit(str, Enum): + + on = "On" + off = "Off" + current_period_off = "CurrentPeriodOff" diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_paged.py new file mode 100644 index 000000000000..17abdb42ba7a --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class SubscriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subscription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subscription]'} + } + + def __init__(self, *args, **kwargs): + + super(SubscriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies.py new file mode 100644 index 000000000000..3726a86eedfd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class SubscriptionPolicies(Model): + """Subscription policies. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar location_placement_id: The subscription location placement ID. The + ID indicates which regions are visible for a subscription. For example, a + subscription with a location placement Id of Public_2014-09-01 has access + to Azure public regions. + :vartype location_placement_id: str + :ivar quota_id: The subscription quota ID. + :vartype quota_id: str + :ivar spending_limit: The subscription spending limit. Possible values + include: 'On', 'Off', 'CurrentPeriodOff' + :vartype spending_limit: str or + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SpendingLimit + """ + + _validation = { + 'location_placement_id': {'readonly': True}, + 'quota_id': {'readonly': True}, + 'spending_limit': {'readonly': True}, + } + + _attribute_map = { + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + 'spending_limit': {'key': 'spendingLimit', 'type': 'SpendingLimit'}, + } + + def __init__(self, **kwargs): + super(SubscriptionPolicies, self).__init__(**kwargs) + self.location_placement_id = None + self.quota_id = None + self.spending_limit = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies_py3.py new file mode 100644 index 000000000000..de232506bede --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_policies_py3.py @@ -0,0 +1,50 @@ +# 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 msrest.serialization import Model + + +class SubscriptionPolicies(Model): + """Subscription policies. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar location_placement_id: The subscription location placement ID. The + ID indicates which regions are visible for a subscription. For example, a + subscription with a location placement Id of Public_2014-09-01 has access + to Azure public regions. + :vartype location_placement_id: str + :ivar quota_id: The subscription quota ID. + :vartype quota_id: str + :ivar spending_limit: The subscription spending limit. Possible values + include: 'On', 'Off', 'CurrentPeriodOff' + :vartype spending_limit: str or + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SpendingLimit + """ + + _validation = { + 'location_placement_id': {'readonly': True}, + 'quota_id': {'readonly': True}, + 'spending_limit': {'readonly': True}, + } + + _attribute_map = { + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + 'spending_limit': {'key': 'spendingLimit', 'type': 'SpendingLimit'}, + } + + def __init__(self, **kwargs) -> None: + super(SubscriptionPolicies, self).__init__(**kwargs) + self.location_placement_id = None + self.quota_id = None + self.spending_limit = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_py3.py new file mode 100644 index 000000000000..ffe4fc556aaf --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/subscription_py3.py @@ -0,0 +1,70 @@ +# 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 msrest.serialization import Model + + +class Subscription(Model): + """Subscription information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID for the subscription. For example, + /subscriptions/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar subscription_id: The subscription ID. + :vartype subscription_id: str + :ivar display_name: The subscription display name. + :vartype display_name: str + :ivar tenant_id: The subscription tenant ID. + :vartype tenant_id: str + :ivar state: The subscription state. Possible values are Enabled, Warned, + PastDue, Disabled, and Deleted. Possible values include: 'Enabled', + 'Warned', 'PastDue', 'Disabled', 'Deleted' + :vartype state: str or + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SubscriptionState + :param subscription_policies: The subscription policies. + :type subscription_policies: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SubscriptionPolicies + :param authorization_source: The authorization source of the request. + Valid values are one or more combinations of Legacy, RoleBased, Bypassed, + Direct and Management. For example, 'Legacy, RoleBased'. + :type authorization_source: str + """ + + _validation = { + 'id': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'display_name': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'SubscriptionState'}, + 'subscription_policies': {'key': 'subscriptionPolicies', 'type': 'SubscriptionPolicies'}, + 'authorization_source': {'key': 'authorizationSource', 'type': 'str'}, + } + + def __init__(self, *, subscription_policies=None, authorization_source: str=None, **kwargs) -> None: + super(Subscription, self).__init__(**kwargs) + self.id = None + self.subscription_id = None + self.display_name = None + self.tenant_id = None + self.state = None + self.subscription_policies = subscription_policies + self.authorization_source = authorization_source diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description.py new file mode 100644 index 000000000000..dc4ddc3edde9 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class TenantIdDescription(Model): + """Tenant Id information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the tenant. For example, + /tenants/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar tenant_id: The tenant ID. For example, + 00000000-0000-0000-0000-000000000000. + :vartype tenant_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TenantIdDescription, self).__init__(**kwargs) + self.id = None + self.tenant_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_paged.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_paged.py new file mode 100644 index 000000000000..35265e5a32a1 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_paged.py @@ -0,0 +1,27 @@ +# 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 msrest.paging import Paged + + +class TenantIdDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`TenantIdDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TenantIdDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(TenantIdDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_py3.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_py3.py new file mode 100644 index 000000000000..3b1103d1b9dd --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/models/tenant_id_description_py3.py @@ -0,0 +1,42 @@ +# 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 msrest.serialization import Model + + +class TenantIdDescription(Model): + """Tenant Id information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: The fully qualified ID of the tenant. For example, + /tenants/00000000-0000-0000-0000-000000000000. + :vartype id: str + :ivar tenant_id: The tenant ID. For example, + 00000000-0000-0000-0000-000000000000. + :vartype tenant_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TenantIdDescription, self).__init__(**kwargs) + self.id = None + self.tenant_id = None diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/__init__.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/__init__.py new file mode 100644 index 000000000000..f6906611d0e7 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/__init__.py @@ -0,0 +1,20 @@ +# 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 import Operations +from .subscriptions_operations import SubscriptionsOperations +from .tenants_operations import TenantsOperations + +__all__ = [ + 'Operations', + 'SubscriptionsOperations', + 'TenantsOperations', +] diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/operations.py new file mode 100644 index 000000000000..149457fe8749 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Microsoft.Resources REST API operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.OperationPaged[~azure.mgmt.resource.subscriptions.v2018_06_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Resources/operations'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/subscriptions_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/subscriptions_operations.py new file mode 100644 index 000000000000..218ee19be667 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/subscriptions_operations.py @@ -0,0 +1,227 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class SubscriptionsOperations(object): + """SubscriptionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list_locations( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """Gets all available geo-locations. + + This operation provides all the locations that are available for + resource providers; however, each resource provider may support a + subset of this list. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Location + :rtype: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.LocationPaged[~azure.mgmt.resource.subscriptions.v2018_06_01.models.Location] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_locations.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.LocationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LocationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_locations.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} + + def get( + self, subscription_id, custom_headers=None, raw=False, **operation_config): + """Gets details about a specified subscription. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Subscription or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.Subscription or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('Subscription', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all subscriptions for a tenant. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Subscription + :rtype: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.SubscriptionPaged[~azure.mgmt.resource.subscriptions.v2018_06_01.models.Subscription] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.SubscriptionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SubscriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/tenants_operations.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/tenants_operations.py new file mode 100644 index 000000000000..8899d3d1f970 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/operations/tenants_operations.py @@ -0,0 +1,98 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class TenantsOperations(object): + """TenantsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: The API version to use for the operation. Constant value: "2016-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the tenants for your account. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of TenantIdDescription + :rtype: + ~azure.mgmt.resource.subscriptions.v2018_06_01.models.TenantIdDescriptionPaged[~azure.mgmt.resource.subscriptions.v2018_06_01.models.TenantIdDescription] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.TenantIdDescriptionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.TenantIdDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/tenants'} diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/subscription_client.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/subscription_client.py new file mode 100644 index 000000000000..2d6adecbbc3d --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/subscription_client.py @@ -0,0 +1,84 @@ +# 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 msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.operations import Operations +from .operations.subscriptions_operations import SubscriptionsOperations +from .operations.tenants_operations import TenantsOperations +from . import models + + +class SubscriptionClientConfiguration(AzureConfiguration): + """Configuration for SubscriptionClient + 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` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(SubscriptionClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-resource/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + + +class SubscriptionClient(SDKClient): + """All resource groups and resources exist within subscriptions. These operation enable you get information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your organization. + + :ivar config: Configuration for client. + :vartype config: SubscriptionClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.resource.subscriptions.v2018_06_01.operations.Operations + :ivar subscriptions: Subscriptions operations + :vartype subscriptions: azure.mgmt.resource.subscriptions.v2018_06_01.operations.SubscriptionsOperations + :ivar tenants: Tenants operations + :vartype tenants: azure.mgmt.resource.subscriptions.v2018_06_01.operations.TenantsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param str base_url: Service URL + """ + + def __init__( + self, credentials, base_url=None): + + self.config = SubscriptionClientConfiguration(credentials, base_url) + super(SubscriptionClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2016-06-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.subscriptions = SubscriptionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.tenants = TenantsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/version.py b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/version.py new file mode 100644 index 000000000000..b2fd3a7ffa39 --- /dev/null +++ b/sdk/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2018_06_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "2016-06-01" +