diff --git a/azure-mgmt-advisor/MANIFEST.in b/azure-mgmt-advisor/MANIFEST.in index 6ceb27f7a96e..e4884efef41b 100644 --- a/azure-mgmt-advisor/MANIFEST.in +++ b/azure-mgmt-advisor/MANIFEST.in @@ -1,3 +1,4 @@ +recursive-include tests *.py *.yaml include *.rst include azure/__init__.py include azure/mgmt/__init__.py diff --git a/azure-mgmt-advisor/README.rst b/azure-mgmt-advisor/README.rst index bece4c78099b..6003eb1914e8 100644 --- a/azure-mgmt-advisor/README.rst +++ b/azure-mgmt-advisor/README.rst @@ -14,25 +14,6 @@ For the older Azure Service Management (ASM) libraries, see For a more complete set of Azure libraries, see the `azure `__ bundle package. -Compatibility -============= - -**IMPORTANT**: If you have an earlier version of the azure package -(version < 1.0), you should uninstall it before installing this package. - -You can check the version using pip: - -.. code:: shell - - pip freeze - -If you see azure==0.11.0 (or any version below 1.0), uninstall it first: - -.. code:: shell - - pip uninstall azure - - Usage ===== diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/advisor_management_client.py b/azure-mgmt-advisor/azure/mgmt/advisor/advisor_management_client.py index 0b162d69bd1b..fa8883bba3af 100644 --- a/azure-mgmt-advisor/azure/mgmt/advisor/advisor_management_client.py +++ b/azure-mgmt-advisor/azure/mgmt/advisor/advisor_management_client.py @@ -13,6 +13,7 @@ from msrest import Serializer, Deserializer from msrestazure import AzureConfiguration from .version import VERSION +from .operations.recommendation_metadata_operations import RecommendationMetadataOperations from .operations.configurations_operations import ConfigurationsOperations from .operations.recommendations_operations import RecommendationsOperations from .operations.operations import Operations @@ -58,6 +59,8 @@ class AdvisorManagementClient(SDKClient): :ivar config: Configuration for client. :vartype config: AdvisorManagementClientConfiguration + :ivar recommendation_metadata: RecommendationMetadata operations + :vartype recommendation_metadata: azure.mgmt.advisor.operations.RecommendationMetadataOperations :ivar configurations: Configurations operations :vartype configurations: azure.mgmt.advisor.operations.ConfigurationsOperations :ivar recommendations: Recommendations operations @@ -86,6 +89,8 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) + self.recommendation_metadata = RecommendationMetadataOperations( + self._client, self.config, self._serialize, self._deserialize) self.configurations = ConfigurationsOperations( self._client, self.config, self._serialize, self._deserialize) self.recommendations = RecommendationsOperations( diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/__init__.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/__init__.py index 45155f314ad3..a1aec42c7c7e 100644 --- a/azure-mgmt-advisor/azure/mgmt/advisor/models/__init__.py +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/__init__.py @@ -10,6 +10,8 @@ # -------------------------------------------------------------------------- try: + from .metadata_supported_value_detail_py3 import MetadataSupportedValueDetail + from .metadata_entity_py3 import MetadataEntity from .config_data_properties_py3 import ConfigDataProperties from .config_data_py3 import ConfigData from .arm_error_response_body_py3 import ARMErrorResponseBody @@ -20,6 +22,8 @@ from .operation_entity_py3 import OperationEntity from .suppression_contract_py3 import SuppressionContract except (SyntaxError, ImportError): + from .metadata_supported_value_detail import MetadataSupportedValueDetail + from .metadata_entity import MetadataEntity from .config_data_properties import ConfigDataProperties from .config_data import ConfigData from .arm_error_response_body import ARMErrorResponseBody @@ -29,6 +33,7 @@ from .operation_display_info import OperationDisplayInfo from .operation_entity import OperationEntity from .suppression_contract import SuppressionContract +from .metadata_entity_paged import MetadataEntityPaged from .config_data_paged import ConfigDataPaged from .resource_recommendation_base_paged import ResourceRecommendationBasePaged from .operation_entity_paged import OperationEntityPaged @@ -40,6 +45,8 @@ ) __all__ = [ + 'MetadataSupportedValueDetail', + 'MetadataEntity', 'ConfigDataProperties', 'ConfigData', 'ARMErrorResponseBody', @@ -49,6 +56,7 @@ 'OperationDisplayInfo', 'OperationEntity', 'SuppressionContract', + 'MetadataEntityPaged', 'ConfigDataPaged', 'ResourceRecommendationBasePaged', 'OperationEntityPaged', diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity.py new file mode 100644 index 000000000000..efdd11ffb265 --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetadataEntity(Model): + """The metadata entity contract. + + :param id: The resource Id of the metadata entity. + :type id: str + :param type: The type of the metadata entity. + :type type: str + :param name: The name of the metadata entity. + :type name: str + :param display_name: The display name. + :type display_name: str + :param depends_on: The list of keys on which this entity depends on. + :type depends_on: list[str] + :param supported_values: The list of supported values. + :type supported_values: + list[~azure.mgmt.advisor.models.MetadataSupportedValueDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'depends_on': {'key': 'properties.dependsOn', 'type': '[str]'}, + 'supported_values': {'key': 'properties.supportedValues', 'type': '[MetadataSupportedValueDetail]'}, + } + + def __init__(self, **kwargs): + super(MetadataEntity, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.depends_on = kwargs.get('depends_on', None) + self.supported_values = kwargs.get('supported_values', None) diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_paged.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_paged.py new file mode 100644 index 000000000000..83ba640a99a7 --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_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 MetadataEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`MetadataEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[MetadataEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(MetadataEntityPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_py3.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_py3.py new file mode 100644 index 000000000000..1fc9152d1fcf --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_entity_py3.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class MetadataEntity(Model): + """The metadata entity contract. + + :param id: The resource Id of the metadata entity. + :type id: str + :param type: The type of the metadata entity. + :type type: str + :param name: The name of the metadata entity. + :type name: str + :param display_name: The display name. + :type display_name: str + :param depends_on: The list of keys on which this entity depends on. + :type depends_on: list[str] + :param supported_values: The list of supported values. + :type supported_values: + list[~azure.mgmt.advisor.models.MetadataSupportedValueDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'depends_on': {'key': 'properties.dependsOn', 'type': '[str]'}, + 'supported_values': {'key': 'properties.supportedValues', 'type': '[MetadataSupportedValueDetail]'}, + } + + def __init__(self, *, id: str=None, type: str=None, name: str=None, display_name: str=None, depends_on=None, supported_values=None, **kwargs) -> None: + super(MetadataEntity, self).__init__(**kwargs) + self.id = id + self.type = type + self.name = name + self.display_name = display_name + self.depends_on = depends_on + self.supported_values = supported_values diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail.py new file mode 100644 index 000000000000..d6812afd21e1 --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail.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 MetadataSupportedValueDetail(Model): + """The metadata supported value detail. + + :param id: The id. + :type id: str + :param display_name: The display name. + :type display_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetadataSupportedValueDetail, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.display_name = kwargs.get('display_name', None) diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail_py3.py b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail_py3.py new file mode 100644 index 000000000000..04ba581ce1eb --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/models/metadata_supported_value_detail_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 MetadataSupportedValueDetail(Model): + """The metadata supported value detail. + + :param id: The id. + :type id: str + :param display_name: The display name. + :type display_name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, display_name: str=None, **kwargs) -> None: + super(MetadataSupportedValueDetail, self).__init__(**kwargs) + self.id = id + self.display_name = display_name diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/operations/__init__.py b/azure-mgmt-advisor/azure/mgmt/advisor/operations/__init__.py index 35b2918d8c2b..af4496419801 100644 --- a/azure-mgmt-advisor/azure/mgmt/advisor/operations/__init__.py +++ b/azure-mgmt-advisor/azure/mgmt/advisor/operations/__init__.py @@ -9,12 +9,14 @@ # regenerated. # -------------------------------------------------------------------------- +from .recommendation_metadata_operations import RecommendationMetadataOperations from .configurations_operations import ConfigurationsOperations from .recommendations_operations import RecommendationsOperations from .operations import Operations from .suppressions_operations import SuppressionsOperations __all__ = [ + 'RecommendationMetadataOperations', 'ConfigurationsOperations', 'RecommendationsOperations', 'Operations', diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/operations/recommendation_metadata_operations.py b/azure-mgmt-advisor/azure/mgmt/advisor/operations/recommendation_metadata_operations.py new file mode 100644 index 000000000000..f83beaf68319 --- /dev/null +++ b/azure-mgmt-advisor/azure/mgmt/advisor/operations/recommendation_metadata_operations.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 RecommendationMetadataOperations(object): + """RecommendationMetadataOperations 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 version of the API to be used with the client request. Constant value: "2017-04-19". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2017-04-19" + + self.config = config + + def get( + self, name, custom_headers=None, raw=False, **operation_config): + """Gets the metadata entity. + + :param name: Name of metadata entity. + :type 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: object or ClientRawResponse if raw=true + :rtype: object or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'name': self._serialize.url("name", 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, 404]: + 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('MetadataEntity', response) + if response.status_code == 404: + deserialized = self._deserialize('ARMErrorResponseBody', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/providers/Microsoft.Advisor/metadata/{name}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets the list of metadata entities. + + :param dict custom_headers: headers that will 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 MetadataEntity + :rtype: + ~azure.mgmt.advisor.models.MetadataEntityPaged[~azure.mgmt.advisor.models.MetadataEntity] + :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.MetadataEntityPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.MetadataEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Advisor/metadata'} diff --git a/azure-mgmt-advisor/azure/mgmt/advisor/version.py b/azure-mgmt-advisor/azure/mgmt/advisor/version.py index cb253c7db0b2..44e69c49c178 100644 --- a/azure-mgmt-advisor/azure/mgmt/advisor/version.py +++ b/azure-mgmt-advisor/azure/mgmt/advisor/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "2.0.1" +VERSION = "1.0.1" diff --git a/azure-mgmt-advisor/setup.py b/azure-mgmt-advisor/setup.py index b762f21eae88..892634c0a828 100644 --- a/azure-mgmt-advisor/setup.py +++ b/azure-mgmt-advisor/setup.py @@ -53,6 +53,7 @@ version=version, description='Microsoft Azure {} Client Library for Python'.format(PACKAGE_PPRINT_NAME), long_description=readme + '\n\n' + history, + long_description_content_type='text/x-rst', license='MIT License', author='Microsoft Corporation', author_email='azpysdkhelp@microsoft.com',