diff --git a/sdk/appservice/azure-mgmt-web/HISTORY.rst b/sdk/appservice/azure-mgmt-web/HISTORY.rst index 30666ca11284..02745d77eec2 100644 --- a/sdk/appservice/azure-mgmt-web/HISTORY.rst +++ b/sdk/appservice/azure-mgmt-web/HISTORY.rst @@ -3,6 +3,18 @@ Release History =============== +0.43.0 (2019-10-01) ++++++++++++++++++++ + +**Features** + +- Added operation group BillingMetersOperations +- Added operation group WebSiteManagementClientOperationsMixin + +**General** + +- Package is now multiapi + 0.42.0 (2019-05-24) +++++++++++++++++++ diff --git a/sdk/appservice/azure-mgmt-web/README.rst b/sdk/appservice/azure-mgmt-web/README.rst index 0e971cdd3d68..afb10b5d52e6 100644 --- a/sdk/appservice/azure-mgmt-web/README.rst +++ b/sdk/appservice/azure-mgmt-web/README.rst @@ -6,7 +6,7 @@ This is the Microsoft Azure Web Apps Management Client Library. Azure Resource Manager (ARM) is the next generation of management APIs that replace the old Azure Service Management (ASM). -This package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7. +This package has been tested with Python 2.7, 3.5, 3.6 and 3.7. For the older Azure Service Management (ASM) libraries, see `azure-servicemanagement-legacy `__ library. diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/__init__.py index 507706b103a0..55c66f839cff 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/__init__.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/__init__.py @@ -9,10 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from .web_site_management_client import WebSiteManagementClient -from .version import VERSION +from ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] -__all__ = ['WebSiteManagementClient'] +from .version import VERSION __version__ = VERSION diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_operations_mixin.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_operations_mixin.py new file mode 100644 index 000000000000..c222981dfea9 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_operations_mixin.py @@ -0,0 +1,598 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from msrest import Serializer, Deserializer + + +class WebSiteManagementClientOperationsMixin(object): + + + def check_name_availability(self, name, type, is_fqdn=None, custom_headers=None, raw=False, **operation_config): + """Check if a resource name is available. + + Check if a resource name is available. + + :param name: Resource name to verify. + :type name: str + :param type: Resource type used for verification. Possible values + include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceNameAvailability or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ResourceNameAvailability or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('check_name_availability') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.check_name_availability(name, type, is_fqdn, custom_headers, raw, **operation_config) + + def get_publishing_user(self, custom_headers=None, raw=False, **operation_config): + """Gets publishing user. + + Gets publishing user. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('get_publishing_user') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.get_publishing_user(custom_headers, raw, **operation_config) + + def get_source_control(self, source_control_type, custom_headers=None, raw=False, **operation_config): + """Gets source control token. + + Gets source control token. + + :param source_control_type: Type of source control + :type source_control_type: 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: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('get_source_control') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.get_source_control(source_control_type, custom_headers, raw, **operation_config) + + def get_subscription_deployment_locations(self, custom_headers=None, raw=False, **operation_config): + """Gets list of available geo regions plus ministamps. + + Gets list of available geo regions plus ministamps. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentLocations or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DeploymentLocations or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('get_subscription_deployment_locations') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.get_subscription_deployment_locations(custom_headers, raw, **operation_config) + + def list_billing_meters(self, billing_location=None, os_type=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of meters for a given location. + + Gets a list of meters for a given location. + + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param os_type: App Service OS type meters used for + :type os_type: 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 BillingMeter + :rtype: + ~azure.mgmt.web.models.BillingMeterPaged[~azure.mgmt.web.models.BillingMeter] + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_billing_meters') + if api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_billing_meters(billing_location, os_type, custom_headers, raw, **operation_config) + + def list_geo_regions(self, sku=None, linux_workers_enabled=None, xenon_workers_enabled=None, linux_dynamic_workers_enabled=None, custom_headers=None, raw=False, **operation_config): + """Get a list of available geographical regions. + + Get a list of available geographical regions. + + :param sku: Name of SKU used to filter the regions. Possible values + include: 'Free', 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic', + 'Isolated', 'PremiumV2', 'ElasticPremium', 'ElasticIsolated' + :type sku: str or ~azure.mgmt.web.models.SkuName + :param linux_workers_enabled: Specify true if you want to + filter to only regions that support Linux workers. + :type linux_workers_enabled: bool + :param xenon_workers_enabled: Specify true if you want to + filter to only regions that support Xenon workers. + :type xenon_workers_enabled: bool + :param linux_dynamic_workers_enabled: Specify true if you + want to filter to only regions that support Linux Consumption Workers. + :type linux_dynamic_workers_enabled: bool + :param dict custom_headers: headers that will 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 GeoRegion + :rtype: + ~azure.mgmt.web.models.GeoRegionPaged[~azure.mgmt.web.models.GeoRegion] + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_geo_regions') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_geo_regions(sku, linux_workers_enabled, xenon_workers_enabled, linux_dynamic_workers_enabled, custom_headers, raw, **operation_config) + + def list_premier_add_on_offers(self, custom_headers=None, raw=False, **operation_config): + """List all premier add-on offers. + + List all premier add-on offers. + + :param dict custom_headers: headers that will 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 PremierAddOnOffer + :rtype: + ~azure.mgmt.web.models.PremierAddOnOfferPaged[~azure.mgmt.web.models.PremierAddOnOffer] + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_premier_add_on_offers') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_premier_add_on_offers(custom_headers, raw, **operation_config) + + def list_site_identifiers_assigned_to_host_name(self, name=None, custom_headers=None, raw=False, **operation_config): + """List all apps that are assigned to a hostname. + + List all apps that are assigned to a hostname. + + :param name: Name of the object. + :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: An iterator like instance of Identifier + :rtype: + ~azure.mgmt.web.models.IdentifierPaged[~azure.mgmt.web.models.Identifier] + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_site_identifiers_assigned_to_host_name') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_site_identifiers_assigned_to_host_name(name, custom_headers, raw, **operation_config) + + def list_skus(self, custom_headers=None, raw=False, **operation_config): + """List all SKUs. + + List all SKUs. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SkuInfos or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SkuInfos or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_skus') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_skus(custom_headers, raw, **operation_config) + + def list_source_controls(self, custom_headers=None, raw=False, **operation_config): + """Gets the source controls available for Azure websites. + + Gets the source controls available for Azure websites. + + :param dict custom_headers: headers that will 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 SourceControl + :rtype: + ~azure.mgmt.web.models.SourceControlPaged[~azure.mgmt.web.models.SourceControl] + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('list_source_controls') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.list_source_controls(custom_headers, raw, **operation_config) + + def move(self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Move resources between resource groups. + + Move resources between resource groups. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + + """ + api_version = self._get_api_version('move') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.move(resource_group_name, target_resource_group, resources, custom_headers, raw, **operation_config) + + def update_publishing_user(self, user_details, custom_headers=None, raw=False, **operation_config): + """Updates publishing user. + + Updates publishing user. + + :param user_details: Details of publishing user + :type user_details: ~azure.mgmt.web.models.User + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('update_publishing_user') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.update_publishing_user(user_details, custom_headers, raw, **operation_config) + + def update_source_control(self, source_control_type, request_message, custom_headers=None, raw=False, **operation_config): + """Updates source control token. + + Updates source control token. + + :param source_control_type: Type of source control + :type source_control_type: str + :param request_message: Source control token information + :type request_message: ~azure.mgmt.web.models.SourceControl + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('update_source_control') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.update_source_control(source_control_type, request_message, custom_headers, raw, **operation_config) + + def validate(self, resource_group_name, validate_request, custom_headers=None, raw=False, **operation_config): + """Validate if a resource can be created. + + Validate if a resource can be created. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param validate_request: Request with the resources to validate. + :type validate_request: ~azure.mgmt.web.models.ValidateRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ValidateResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ValidateResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('validate') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.validate(resource_group_name, validate_request, custom_headers, raw, **operation_config) + + def validate_container_settings(self, validate_container_settings_request, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Validate if the container settings are correct. + + Validate if the container settings are correct. + + :param validate_container_settings_request: + :type validate_container_settings_request: + ~azure.mgmt.web.models.ValidateContainerSettingsRequest + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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: object or ClientRawResponse if raw=true + :rtype: object or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('validate_container_settings') + if api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.validate_container_settings(validate_container_settings_request, resource_group_name, custom_headers, raw, **operation_config) + + def validate_move(self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Validate whether a resource can be moved. + + Validate whether a resource can be moved. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + + """ + api_version = self._get_api_version('validate_move') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.validate_move(resource_group_name, target_resource_group, resources, custom_headers, raw, **operation_config) + + def verify_hosting_environment_vnet(self, parameters, custom_headers=None, raw=False, **operation_config): + """Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + :param parameters: VNET information + :type parameters: ~azure.mgmt.web.models.VnetParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetValidationFailureDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetValidationFailureDetails or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + + """ + api_version = self._get_api_version('verify_hosting_environment_vnet') + if api_version == '2016-03-01': + from .v2016_03_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebSiteManagementClientOperationsMixin as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + mixin_instance = OperationClass() + mixin_instance._client = self._client + mixin_instance.config = self.config + mixin_instance._serialize = Serializer(self._models_dict(api_version)) + mixin_instance._deserialize = Deserializer(self._models_dict(api_version)) + return mixin_instance.verify_hosting_environment_vnet(parameters, custom_headers, raw, **operation_config) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_web_site_management_client.py new file mode 100644 index 000000000000..936a0e2f3b7f --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/_web_site_management_client.py @@ -0,0 +1,375 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import WebSiteManagementClientConfiguration +from ._operations_mixin import WebSiteManagementClientOperationsMixin + + +class WebSiteManagementClient(WebSiteManagementClientOperationsMixin, MultiApiClientMixin, SDKClient): + """WebSite Management Client + + This ready contains multiple API versions, to help you deal with all Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, uses latest API version available on public Azure. + For production, you should stick a particular api-version and/or profile. + The profile sets a mapping between the operation group and an API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Subscription credentials which uniquely identify + Microsoft Azure subscription. The subscription ID forms part of the URI + for every service call. + :type subscription_id: str + :param str api_version: API version to use if no profile is provided, or if + missing in profile. + :param str base_url: Service URL + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles + """ + + DEFAULT_API_VERSION = '2018-11-01' + _PROFILE_TAG = "azure.mgmt.web.WebSiteManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'app_service_certificate_orders': '2018-02-01', + 'app_service_environments': '2018-02-01', + 'app_service_plans': '2018-02-01', + 'billing_meters': '2016-03-01', + 'certificate_registration_provider': '2018-02-01', + 'check_name_availability': '2018-02-01', + 'deleted_web_apps': '2018-02-01', + 'diagnostics': '2018-02-01', + 'domain_registration_provider': '2018-02-01', + 'domains': '2018-02-01', + 'get_publishing_user': '2018-02-01', + 'get_source_control': '2018-02-01', + 'get_subscription_deployment_locations': '2018-02-01', + 'list_billing_meters': '2018-02-01', + 'list_geo_regions': '2018-02-01', + 'list_premier_add_on_offers': '2018-02-01', + 'list_site_identifiers_assigned_to_host_name': '2018-02-01', + 'list_skus': '2018-02-01', + 'list_source_controls': '2018-02-01', + 'move': '2018-02-01', + 'provider': '2018-02-01', + 'recommendations': '2018-02-01', + 'resource_health_metadata': '2018-02-01', + 'top_level_domains': '2018-02-01', + 'update_publishing_user': '2018-02-01', + 'update_source_control': '2018-02-01', + 'validate': '2018-02-01', + 'validate_container_settings': '2018-02-01', + 'validate_move': '2018-02-01', + 'verify_hosting_environment_vnet': '2018-02-01', + 'web_apps': '2018-02-01', + }}, + _PROFILE_TAG + " latest" + ) + + def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, self).__init__( + credentials, + self.config, + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2015-04-01: :mod:`v2015_04_01.models` + * 2015-08-01: :mod:`v2015_08_01.models` + * 2016-03-01: :mod:`v2016_03_01.models` + * 2016-08-01: :mod:`v2016_08_01.models` + * 2016-09-01: :mod:`v2016_09_01.models` + * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-11-01: :mod:`v2018_11_01.models` + """ + if api_version == '2015-04-01': + from .v2015_04_01 import models + return models + elif api_version == '2015-08-01': + from .v2015_08_01 import models + return models + elif api_version == '2016-03-01': + from .v2016_03_01 import models + return models + elif api_version == '2016-08-01': + from .v2016_08_01 import models + return models + elif api_version == '2016-09-01': + from .v2016_09_01 import models + return models + elif api_version == '2018-02-01': + from .v2018_02_01 import models + return models + elif api_version == '2018-11-01': + from .v2018_11_01 import models + return models + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + + @property + def app_service_certificate_orders(self): + """Instance depends on the API version: + + * 2015-08-01: :class:`AppServiceCertificateOrdersOperations` + * 2018-02-01: :class:`AppServiceCertificateOrdersOperations` + """ + api_version = self._get_api_version('app_service_certificate_orders') + if api_version == '2015-08-01': + from .v2015_08_01.operations import AppServiceCertificateOrdersOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import AppServiceCertificateOrdersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def app_service_environments(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`AppServiceEnvironmentsOperations` + * 2018-02-01: :class:`AppServiceEnvironmentsOperations` + """ + api_version = self._get_api_version('app_service_environments') + if api_version == '2016-09-01': + from .v2016_09_01.operations import AppServiceEnvironmentsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import AppServiceEnvironmentsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def app_service_plans(self): + """Instance depends on the API version: + + * 2016-09-01: :class:`AppServicePlansOperations` + * 2018-02-01: :class:`AppServicePlansOperations` + """ + api_version = self._get_api_version('app_service_plans') + if api_version == '2016-09-01': + from .v2016_09_01.operations import AppServicePlansOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import AppServicePlansOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def billing_meters(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`BillingMetersOperations` + """ + api_version = self._get_api_version('billing_meters') + if api_version == '2016-03-01': + from .v2016_03_01.operations import BillingMetersOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def certificate_registration_provider(self): + """Instance depends on the API version: + + * 2015-08-01: :class:`CertificateRegistrationProviderOperations` + * 2018-02-01: :class:`CertificateRegistrationProviderOperations` + """ + api_version = self._get_api_version('certificate_registration_provider') + if api_version == '2015-08-01': + from .v2015_08_01.operations import CertificateRegistrationProviderOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import CertificateRegistrationProviderOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def certificates(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`CertificatesOperations` + * 2018-02-01: :class:`CertificatesOperations` + * 2018-11-01: :class:`CertificatesOperations` + """ + api_version = self._get_api_version('certificates') + if api_version == '2016-03-01': + from .v2016_03_01.operations import CertificatesOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import CertificatesOperations as OperationClass + elif api_version == '2018-11-01': + from .v2018_11_01.operations import CertificatesOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def deleted_web_apps(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`DeletedWebAppsOperations` + * 2018-02-01: :class:`DeletedWebAppsOperations` + """ + api_version = self._get_api_version('deleted_web_apps') + if api_version == '2016-03-01': + from .v2016_03_01.operations import DeletedWebAppsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DeletedWebAppsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def diagnostics(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`DiagnosticsOperations` + * 2018-02-01: :class:`DiagnosticsOperations` + """ + api_version = self._get_api_version('diagnostics') + if api_version == '2016-03-01': + from .v2016_03_01.operations import DiagnosticsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DiagnosticsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def domain_registration_provider(self): + """Instance depends on the API version: + + * 2015-04-01: :class:`DomainRegistrationProviderOperations` + * 2018-02-01: :class:`DomainRegistrationProviderOperations` + """ + api_version = self._get_api_version('domain_registration_provider') + if api_version == '2015-04-01': + from .v2015_04_01.operations import DomainRegistrationProviderOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DomainRegistrationProviderOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def domains(self): + """Instance depends on the API version: + + * 2015-04-01: :class:`DomainsOperations` + * 2018-02-01: :class:`DomainsOperations` + """ + api_version = self._get_api_version('domains') + if api_version == '2015-04-01': + from .v2015_04_01.operations import DomainsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import DomainsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def provider(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`ProviderOperations` + * 2018-02-01: :class:`ProviderOperations` + """ + api_version = self._get_api_version('provider') + if api_version == '2016-03-01': + from .v2016_03_01.operations import ProviderOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ProviderOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def recommendations(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`RecommendationsOperations` + * 2018-02-01: :class:`RecommendationsOperations` + """ + api_version = self._get_api_version('recommendations') + if api_version == '2016-03-01': + from .v2016_03_01.operations import RecommendationsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import RecommendationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def resource_health_metadata(self): + """Instance depends on the API version: + + * 2016-03-01: :class:`ResourceHealthMetadataOperations` + * 2018-02-01: :class:`ResourceHealthMetadataOperations` + """ + api_version = self._get_api_version('resource_health_metadata') + if api_version == '2016-03-01': + from .v2016_03_01.operations import ResourceHealthMetadataOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import ResourceHealthMetadataOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def top_level_domains(self): + """Instance depends on the API version: + + * 2015-04-01: :class:`TopLevelDomainsOperations` + * 2018-02-01: :class:`TopLevelDomainsOperations` + """ + api_version = self._get_api_version('top_level_domains') + if api_version == '2015-04-01': + from .v2015_04_01.operations import TopLevelDomainsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import TopLevelDomainsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def web_apps(self): + """Instance depends on the API version: + + * 2016-08-01: :class:`WebAppsOperations` + * 2018-02-01: :class:`WebAppsOperations` + """ + api_version = self._get_api_version('web_apps') + if api_version == '2016-08-01': + from .v2016_08_01.operations import WebAppsOperations as OperationClass + elif api_version == '2018-02-01': + from .v2018_02_01.operations import WebAppsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models.py new file mode 100644 index 000000000000..7caaa3c07ea8 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2016_03_01.models import * +from .v2018_02_01.models import * +from .v2018_11_01.models import * diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/__init__.py deleted file mode 100644 index a12545a468fe..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/__init__.py +++ /dev/null @@ -1,940 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 .app_service_certificate_py3 import AppServiceCertificate - from .app_service_certificate_resource_py3 import AppServiceCertificateResource - from .certificate_details_py3 import CertificateDetails - from .app_service_certificate_order_py3 import AppServiceCertificateOrder - from .app_service_certificate_order_patch_resource_py3 import AppServiceCertificateOrderPatchResource - from .app_service_certificate_patch_resource_py3 import AppServiceCertificatePatchResource - from .certificate_email_py3 import CertificateEmail - from .certificate_order_action_py3 import CertificateOrderAction - from .reissue_certificate_order_request_py3 import ReissueCertificateOrderRequest - from .renew_certificate_order_request_py3 import RenewCertificateOrderRequest - from .site_seal_py3 import SiteSeal - from .site_seal_request_py3 import SiteSealRequest - from .vnet_route_py3 import VnetRoute - from .vnet_info_py3 import VnetInfo - from .vnet_gateway_py3 import VnetGateway - from .user_py3 import User - from .snapshot_py3 import Snapshot - from .resource_metric_availability_py3 import ResourceMetricAvailability - from .resource_metric_definition_py3 import ResourceMetricDefinition - from .push_settings_py3 import PushSettings - from .identifier_py3 import Identifier - from .hybrid_connection_key_py3 import HybridConnectionKey - from .hybrid_connection_py3 import HybridConnection - from .deleted_site_py3 import DeletedSite - from .proxy_only_resource_py3 import ProxyOnlyResource - from .managed_service_identity_user_assigned_identities_value_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue - from .managed_service_identity_py3 import ManagedServiceIdentity - from .geo_distribution_py3 import GeoDistribution - from .slot_swap_status_py3 import SlotSwapStatus - from .cloning_info_py3 import CloningInfo - from .hosting_environment_profile_py3 import HostingEnvironmentProfile - from .ip_security_restriction_py3 import IpSecurityRestriction - from .api_definition_info_py3 import ApiDefinitionInfo - from .cors_settings_py3 import CorsSettings - from .auto_heal_custom_action_py3 import AutoHealCustomAction - from .auto_heal_actions_py3 import AutoHealActions - from .slow_requests_based_trigger_py3 import SlowRequestsBasedTrigger - from .status_codes_based_trigger_py3 import StatusCodesBasedTrigger - from .requests_based_trigger_py3 import RequestsBasedTrigger - from .auto_heal_triggers_py3 import AutoHealTriggers - from .auto_heal_rules_py3 import AutoHealRules - from .site_limits_py3 import SiteLimits - from .ramp_up_rule_py3 import RampUpRule - from .experiments_py3 import Experiments - from .virtual_directory_py3 import VirtualDirectory - from .virtual_application_py3 import VirtualApplication - from .handler_mapping_py3 import HandlerMapping - from .site_machine_key_py3 import SiteMachineKey - from .conn_string_info_py3 import ConnStringInfo - from .azure_storage_info_value_py3 import AzureStorageInfoValue - from .name_value_pair_py3 import NameValuePair - from .site_config_py3 import SiteConfig - from .host_name_ssl_state_py3 import HostNameSslState - from .site_py3 import Site - from .capability_py3 import Capability - from .sku_capacity_py3 import SkuCapacity - from .sku_description_py3 import SkuDescription - from .app_service_plan_py3 import AppServicePlan - from .resource_py3 import Resource - from .default_error_response_error_details_item_py3 import DefaultErrorResponseErrorDetailsItem - from .default_error_response_error_py3 import DefaultErrorResponseError - from .default_error_response_py3 import DefaultErrorResponse, DefaultErrorResponseException - from .name_identifier_py3 import NameIdentifier - from .log_specification_py3 import LogSpecification - from .metric_availability_py3 import MetricAvailability - from .dimension_py3 import Dimension - from .metric_specification_py3 import MetricSpecification - from .service_specification_py3 import ServiceSpecification - from .csm_operation_description_properties_py3 import CsmOperationDescriptionProperties - from .csm_operation_display_py3 import CsmOperationDisplay - from .csm_operation_description_py3 import CsmOperationDescription - from .address_py3 import Address - from .contact_py3 import Contact - from .host_name_py3 import HostName - from .domain_purchase_consent_py3 import DomainPurchaseConsent - from .domain_py3 import Domain - from .domain_availablility_check_result_py3 import DomainAvailablilityCheckResult - from .domain_control_center_sso_request_py3 import DomainControlCenterSsoRequest - from .domain_ownership_identifier_py3 import DomainOwnershipIdentifier - from .domain_patch_resource_py3 import DomainPatchResource - from .domain_recommendation_search_parameters_py3 import DomainRecommendationSearchParameters - from .tld_legal_agreement_py3 import TldLegalAgreement - from .top_level_domain_py3 import TopLevelDomain - from .top_level_domain_agreement_option_py3 import TopLevelDomainAgreementOption - from .certificate_py3 import Certificate - from .certificate_patch_resource_py3 import CertificatePatchResource - from .virtual_network_profile_py3 import VirtualNetworkProfile - from .worker_pool_py3 import WorkerPool - from .virtual_ip_mapping_py3 import VirtualIPMapping - from .stamp_capacity_py3 import StampCapacity - from .network_access_control_entry_py3 import NetworkAccessControlEntry - from .app_service_environment_py3 import AppServiceEnvironment - from .localizable_string_py3 import LocalizableString - from .csm_usage_quota_py3 import CsmUsageQuota - from .error_entity_py3 import ErrorEntity - from .operation_py3 import Operation - from .resource_metric_name_py3 import ResourceMetricName - from .resource_metric_property_py3 import ResourceMetricProperty - from .resource_metric_value_py3 import ResourceMetricValue - from .resource_metric_py3 import ResourceMetric - from .web_app_collection_py3 import WebAppCollection - from .solution_py3 import Solution - from .detector_abnormal_time_period_py3 import DetectorAbnormalTimePeriod - from .abnormal_time_period_py3 import AbnormalTimePeriod - from .detector_definition_py3 import DetectorDefinition - from .diagnostic_metric_sample_py3 import DiagnosticMetricSample - from .diagnostic_metric_set_py3 import DiagnosticMetricSet - from .data_source_py3 import DataSource - from .response_meta_data_py3 import ResponseMetaData - from .analysis_data_py3 import AnalysisData - from .analysis_definition_py3 import AnalysisDefinition - from .data_table_response_column_py3 import DataTableResponseColumn - from .data_table_response_object_py3 import DataTableResponseObject - from .detector_info_py3 import DetectorInfo - from .rendering_py3 import Rendering - from .diagnostic_data_py3 import DiagnosticData - from .detector_response_py3 import DetectorResponse - from .diagnostic_analysis_py3 import DiagnosticAnalysis - from .diagnostic_category_py3 import DiagnosticCategory - from .diagnostic_detector_response_py3 import DiagnosticDetectorResponse - from .stack_minor_version_py3 import StackMinorVersion - from .stack_major_version_py3 import StackMajorVersion - from .application_stack_py3 import ApplicationStack - from .recommendation_py3 import Recommendation - from .recommendation_rule_py3 import RecommendationRule - from .billing_meter_py3 import BillingMeter - from .csm_move_resource_envelope_py3 import CsmMoveResourceEnvelope - from .geo_region_py3 import GeoRegion - from .hosting_environment_deployment_info_py3 import HostingEnvironmentDeploymentInfo - from .deployment_locations_py3 import DeploymentLocations - from .global_csm_sku_description_py3 import GlobalCsmSkuDescription - from .premier_add_on_offer_py3 import PremierAddOnOffer - from .resource_name_availability_py3 import ResourceNameAvailability - from .resource_name_availability_request_py3 import ResourceNameAvailabilityRequest - from .sku_infos_py3 import SkuInfos - from .source_control_py3 import SourceControl - from .validate_container_settings_request_py3 import ValidateContainerSettingsRequest - from .validate_request_py3 import ValidateRequest - from .validate_response_error_py3 import ValidateResponseError - from .validate_response_py3 import ValidateResponse - from .vnet_parameters_py3 import VnetParameters - from .vnet_validation_test_failure_py3 import VnetValidationTestFailure - from .vnet_validation_failure_details_py3 import VnetValidationFailureDetails - from .file_system_application_logs_config_py3 import FileSystemApplicationLogsConfig - from .azure_table_storage_application_logs_config_py3 import AzureTableStorageApplicationLogsConfig - from .azure_blob_storage_application_logs_config_py3 import AzureBlobStorageApplicationLogsConfig - from .application_logs_config_py3 import ApplicationLogsConfig - from .azure_blob_storage_http_logs_config_py3 import AzureBlobStorageHttpLogsConfig - from .azure_storage_property_dictionary_resource_py3 import AzureStoragePropertyDictionaryResource - from .database_backup_setting_py3 import DatabaseBackupSetting - from .backup_item_py3 import BackupItem - from .backup_schedule_py3 import BackupSchedule - from .backup_request_py3 import BackupRequest - from .conn_string_value_type_pair_py3 import ConnStringValueTypePair - from .connection_string_dictionary_py3 import ConnectionStringDictionary - from .continuous_web_job_py3 import ContinuousWebJob - from .csm_publishing_profile_options_py3 import CsmPublishingProfileOptions - from .csm_slot_entity_py3 import CsmSlotEntity - from .custom_hostname_analysis_result_py3 import CustomHostnameAnalysisResult - from .deleted_app_restore_request_py3 import DeletedAppRestoreRequest - from .deployment_py3 import Deployment - from .enabled_config_py3 import EnabledConfig - from .file_system_http_logs_config_py3 import FileSystemHttpLogsConfig - from .function_envelope_py3 import FunctionEnvelope - from .function_secrets_py3 import FunctionSecrets - from .host_name_binding_py3 import HostNameBinding - from .http_logs_config_py3 import HttpLogsConfig - from .ms_deploy_py3 import MSDeploy - from .ms_deploy_log_entry_py3 import MSDeployLogEntry - from .ms_deploy_log_py3 import MSDeployLog - from .ms_deploy_status_py3 import MSDeployStatus - from .migrate_my_sql_request_py3 import MigrateMySqlRequest - from .migrate_my_sql_status_py3 import MigrateMySqlStatus - from .relay_service_connection_entity_py3 import RelayServiceConnectionEntity - from .network_features_py3 import NetworkFeatures - from .network_trace_py3 import NetworkTrace - from .perf_mon_sample_py3 import PerfMonSample - from .perf_mon_set_py3 import PerfMonSet - from .perf_mon_response_py3 import PerfMonResponse - from .premier_add_on_py3 import PremierAddOn - from .premier_add_on_patch_resource_py3 import PremierAddOnPatchResource - from .private_access_subnet_py3 import PrivateAccessSubnet - from .private_access_virtual_network_py3 import PrivateAccessVirtualNetwork - from .private_access_py3 import PrivateAccess - from .process_thread_info_py3 import ProcessThreadInfo - from .process_module_info_py3 import ProcessModuleInfo - from .process_info_py3 import ProcessInfo - from .public_certificate_py3 import PublicCertificate - from .restore_request_py3 import RestoreRequest - from .site_auth_settings_py3 import SiteAuthSettings - from .site_cloneability_criterion_py3 import SiteCloneabilityCriterion - from .site_cloneability_py3 import SiteCloneability - from .site_config_resource_py3 import SiteConfigResource - from .site_configuration_snapshot_info_py3 import SiteConfigurationSnapshotInfo - from .site_extension_info_py3 import SiteExtensionInfo - from .site_instance_py3 import SiteInstance - from .site_logs_config_py3 import SiteLogsConfig - from .site_patch_resource_py3 import SitePatchResource - from .site_php_error_log_flag_py3 import SitePhpErrorLogFlag - from .site_source_control_py3 import SiteSourceControl - from .slot_config_names_resource_py3 import SlotConfigNamesResource - from .slot_difference_py3 import SlotDifference - from .snapshot_recovery_source_py3 import SnapshotRecoverySource - from .snapshot_restore_request_py3 import SnapshotRestoreRequest - from .storage_migration_options_py3 import StorageMigrationOptions - from .storage_migration_response_py3 import StorageMigrationResponse - from .string_dictionary_py3 import StringDictionary - from .swift_virtual_network_py3 import SwiftVirtualNetwork - from .triggered_job_run_py3 import TriggeredJobRun - from .triggered_job_history_py3 import TriggeredJobHistory - from .triggered_web_job_py3 import TriggeredWebJob - from .web_job_py3 import WebJob - from .address_response_py3 import AddressResponse - from .app_service_environment_resource_py3 import AppServiceEnvironmentResource - from .app_service_environment_patch_resource_py3 import AppServiceEnvironmentPatchResource - from .endpoint_detail_py3 import EndpointDetail - from .endpoint_dependency_py3 import EndpointDependency - from .hosting_environment_diagnostics_py3 import HostingEnvironmentDiagnostics - from .inbound_environment_endpoint_py3 import InboundEnvironmentEndpoint - from .metric_availabilily_py3 import MetricAvailabilily - from .metric_definition_py3 import MetricDefinition - from .outbound_environment_endpoint_py3 import OutboundEnvironmentEndpoint - from .sku_info_py3 import SkuInfo - from .usage_py3 import Usage - from .worker_pool_resource_py3 import WorkerPoolResource - from .app_service_plan_patch_resource_py3 import AppServicePlanPatchResource - from .hybrid_connection_limits_py3 import HybridConnectionLimits - from .resource_health_metadata_py3 import ResourceHealthMetadata -except (SyntaxError, ImportError): - from .app_service_certificate import AppServiceCertificate - from .app_service_certificate_resource import AppServiceCertificateResource - from .certificate_details import CertificateDetails - from .app_service_certificate_order import AppServiceCertificateOrder - from .app_service_certificate_order_patch_resource import AppServiceCertificateOrderPatchResource - from .app_service_certificate_patch_resource import AppServiceCertificatePatchResource - from .certificate_email import CertificateEmail - from .certificate_order_action import CertificateOrderAction - from .reissue_certificate_order_request import ReissueCertificateOrderRequest - from .renew_certificate_order_request import RenewCertificateOrderRequest - from .site_seal import SiteSeal - from .site_seal_request import SiteSealRequest - from .vnet_route import VnetRoute - from .vnet_info import VnetInfo - from .vnet_gateway import VnetGateway - from .user import User - from .snapshot import Snapshot - from .resource_metric_availability import ResourceMetricAvailability - from .resource_metric_definition import ResourceMetricDefinition - from .push_settings import PushSettings - from .identifier import Identifier - from .hybrid_connection_key import HybridConnectionKey - from .hybrid_connection import HybridConnection - from .deleted_site import DeletedSite - from .proxy_only_resource import ProxyOnlyResource - from .managed_service_identity_user_assigned_identities_value import ManagedServiceIdentityUserAssignedIdentitiesValue - from .managed_service_identity import ManagedServiceIdentity - from .geo_distribution import GeoDistribution - from .slot_swap_status import SlotSwapStatus - from .cloning_info import CloningInfo - from .hosting_environment_profile import HostingEnvironmentProfile - from .ip_security_restriction import IpSecurityRestriction - from .api_definition_info import ApiDefinitionInfo - from .cors_settings import CorsSettings - from .auto_heal_custom_action import AutoHealCustomAction - from .auto_heal_actions import AutoHealActions - from .slow_requests_based_trigger import SlowRequestsBasedTrigger - from .status_codes_based_trigger import StatusCodesBasedTrigger - from .requests_based_trigger import RequestsBasedTrigger - from .auto_heal_triggers import AutoHealTriggers - from .auto_heal_rules import AutoHealRules - from .site_limits import SiteLimits - from .ramp_up_rule import RampUpRule - from .experiments import Experiments - from .virtual_directory import VirtualDirectory - from .virtual_application import VirtualApplication - from .handler_mapping import HandlerMapping - from .site_machine_key import SiteMachineKey - from .conn_string_info import ConnStringInfo - from .azure_storage_info_value import AzureStorageInfoValue - from .name_value_pair import NameValuePair - from .site_config import SiteConfig - from .host_name_ssl_state import HostNameSslState - from .site import Site - from .capability import Capability - from .sku_capacity import SkuCapacity - from .sku_description import SkuDescription - from .app_service_plan import AppServicePlan - from .resource import Resource - from .default_error_response_error_details_item import DefaultErrorResponseErrorDetailsItem - from .default_error_response_error import DefaultErrorResponseError - from .default_error_response import DefaultErrorResponse, DefaultErrorResponseException - from .name_identifier import NameIdentifier - from .log_specification import LogSpecification - from .metric_availability import MetricAvailability - from .dimension import Dimension - from .metric_specification import MetricSpecification - from .service_specification import ServiceSpecification - from .csm_operation_description_properties import CsmOperationDescriptionProperties - from .csm_operation_display import CsmOperationDisplay - from .csm_operation_description import CsmOperationDescription - from .address import Address - from .contact import Contact - from .host_name import HostName - from .domain_purchase_consent import DomainPurchaseConsent - from .domain import Domain - from .domain_availablility_check_result import DomainAvailablilityCheckResult - from .domain_control_center_sso_request import DomainControlCenterSsoRequest - from .domain_ownership_identifier import DomainOwnershipIdentifier - from .domain_patch_resource import DomainPatchResource - from .domain_recommendation_search_parameters import DomainRecommendationSearchParameters - from .tld_legal_agreement import TldLegalAgreement - from .top_level_domain import TopLevelDomain - from .top_level_domain_agreement_option import TopLevelDomainAgreementOption - from .certificate import Certificate - from .certificate_patch_resource import CertificatePatchResource - from .virtual_network_profile import VirtualNetworkProfile - from .worker_pool import WorkerPool - from .virtual_ip_mapping import VirtualIPMapping - from .stamp_capacity import StampCapacity - from .network_access_control_entry import NetworkAccessControlEntry - from .app_service_environment import AppServiceEnvironment - from .localizable_string import LocalizableString - from .csm_usage_quota import CsmUsageQuota - from .error_entity import ErrorEntity - from .operation import Operation - from .resource_metric_name import ResourceMetricName - from .resource_metric_property import ResourceMetricProperty - from .resource_metric_value import ResourceMetricValue - from .resource_metric import ResourceMetric - from .web_app_collection import WebAppCollection - from .solution import Solution - from .detector_abnormal_time_period import DetectorAbnormalTimePeriod - from .abnormal_time_period import AbnormalTimePeriod - from .detector_definition import DetectorDefinition - from .diagnostic_metric_sample import DiagnosticMetricSample - from .diagnostic_metric_set import DiagnosticMetricSet - from .data_source import DataSource - from .response_meta_data import ResponseMetaData - from .analysis_data import AnalysisData - from .analysis_definition import AnalysisDefinition - from .data_table_response_column import DataTableResponseColumn - from .data_table_response_object import DataTableResponseObject - from .detector_info import DetectorInfo - from .rendering import Rendering - from .diagnostic_data import DiagnosticData - from .detector_response import DetectorResponse - from .diagnostic_analysis import DiagnosticAnalysis - from .diagnostic_category import DiagnosticCategory - from .diagnostic_detector_response import DiagnosticDetectorResponse - from .stack_minor_version import StackMinorVersion - from .stack_major_version import StackMajorVersion - from .application_stack import ApplicationStack - from .recommendation import Recommendation - from .recommendation_rule import RecommendationRule - from .billing_meter import BillingMeter - from .csm_move_resource_envelope import CsmMoveResourceEnvelope - from .geo_region import GeoRegion - from .hosting_environment_deployment_info import HostingEnvironmentDeploymentInfo - from .deployment_locations import DeploymentLocations - from .global_csm_sku_description import GlobalCsmSkuDescription - from .premier_add_on_offer import PremierAddOnOffer - from .resource_name_availability import ResourceNameAvailability - from .resource_name_availability_request import ResourceNameAvailabilityRequest - from .sku_infos import SkuInfos - from .source_control import SourceControl - from .validate_container_settings_request import ValidateContainerSettingsRequest - from .validate_request import ValidateRequest - from .validate_response_error import ValidateResponseError - from .validate_response import ValidateResponse - from .vnet_parameters import VnetParameters - from .vnet_validation_test_failure import VnetValidationTestFailure - from .vnet_validation_failure_details import VnetValidationFailureDetails - from .file_system_application_logs_config import FileSystemApplicationLogsConfig - from .azure_table_storage_application_logs_config import AzureTableStorageApplicationLogsConfig - from .azure_blob_storage_application_logs_config import AzureBlobStorageApplicationLogsConfig - from .application_logs_config import ApplicationLogsConfig - from .azure_blob_storage_http_logs_config import AzureBlobStorageHttpLogsConfig - from .azure_storage_property_dictionary_resource import AzureStoragePropertyDictionaryResource - from .database_backup_setting import DatabaseBackupSetting - from .backup_item import BackupItem - from .backup_schedule import BackupSchedule - from .backup_request import BackupRequest - from .conn_string_value_type_pair import ConnStringValueTypePair - from .connection_string_dictionary import ConnectionStringDictionary - from .continuous_web_job import ContinuousWebJob - from .csm_publishing_profile_options import CsmPublishingProfileOptions - from .csm_slot_entity import CsmSlotEntity - from .custom_hostname_analysis_result import CustomHostnameAnalysisResult - from .deleted_app_restore_request import DeletedAppRestoreRequest - from .deployment import Deployment - from .enabled_config import EnabledConfig - from .file_system_http_logs_config import FileSystemHttpLogsConfig - from .function_envelope import FunctionEnvelope - from .function_secrets import FunctionSecrets - from .host_name_binding import HostNameBinding - from .http_logs_config import HttpLogsConfig - from .ms_deploy import MSDeploy - from .ms_deploy_log_entry import MSDeployLogEntry - from .ms_deploy_log import MSDeployLog - from .ms_deploy_status import MSDeployStatus - from .migrate_my_sql_request import MigrateMySqlRequest - from .migrate_my_sql_status import MigrateMySqlStatus - from .relay_service_connection_entity import RelayServiceConnectionEntity - from .network_features import NetworkFeatures - from .network_trace import NetworkTrace - from .perf_mon_sample import PerfMonSample - from .perf_mon_set import PerfMonSet - from .perf_mon_response import PerfMonResponse - from .premier_add_on import PremierAddOn - from .premier_add_on_patch_resource import PremierAddOnPatchResource - from .private_access_subnet import PrivateAccessSubnet - from .private_access_virtual_network import PrivateAccessVirtualNetwork - from .private_access import PrivateAccess - from .process_thread_info import ProcessThreadInfo - from .process_module_info import ProcessModuleInfo - from .process_info import ProcessInfo - from .public_certificate import PublicCertificate - from .restore_request import RestoreRequest - from .site_auth_settings import SiteAuthSettings - from .site_cloneability_criterion import SiteCloneabilityCriterion - from .site_cloneability import SiteCloneability - from .site_config_resource import SiteConfigResource - from .site_configuration_snapshot_info import SiteConfigurationSnapshotInfo - from .site_extension_info import SiteExtensionInfo - from .site_instance import SiteInstance - from .site_logs_config import SiteLogsConfig - from .site_patch_resource import SitePatchResource - from .site_php_error_log_flag import SitePhpErrorLogFlag - from .site_source_control import SiteSourceControl - from .slot_config_names_resource import SlotConfigNamesResource - from .slot_difference import SlotDifference - from .snapshot_recovery_source import SnapshotRecoverySource - from .snapshot_restore_request import SnapshotRestoreRequest - from .storage_migration_options import StorageMigrationOptions - from .storage_migration_response import StorageMigrationResponse - from .string_dictionary import StringDictionary - from .swift_virtual_network import SwiftVirtualNetwork - from .triggered_job_run import TriggeredJobRun - from .triggered_job_history import TriggeredJobHistory - from .triggered_web_job import TriggeredWebJob - from .web_job import WebJob - from .address_response import AddressResponse - from .app_service_environment_resource import AppServiceEnvironmentResource - from .app_service_environment_patch_resource import AppServiceEnvironmentPatchResource - from .endpoint_detail import EndpointDetail - from .endpoint_dependency import EndpointDependency - from .hosting_environment_diagnostics import HostingEnvironmentDiagnostics - from .inbound_environment_endpoint import InboundEnvironmentEndpoint - from .metric_availabilily import MetricAvailabilily - from .metric_definition import MetricDefinition - from .outbound_environment_endpoint import OutboundEnvironmentEndpoint - from .sku_info import SkuInfo - from .usage import Usage - from .worker_pool_resource import WorkerPoolResource - from .app_service_plan_patch_resource import AppServicePlanPatchResource - from .hybrid_connection_limits import HybridConnectionLimits - from .resource_health_metadata import ResourceHealthMetadata -from .app_service_certificate_order_paged import AppServiceCertificateOrderPaged -from .app_service_certificate_resource_paged import AppServiceCertificateResourcePaged -from .csm_operation_description_paged import CsmOperationDescriptionPaged -from .domain_paged import DomainPaged -from .name_identifier_paged import NameIdentifierPaged -from .domain_ownership_identifier_paged import DomainOwnershipIdentifierPaged -from .top_level_domain_paged import TopLevelDomainPaged -from .tld_legal_agreement_paged import TldLegalAgreementPaged -from .certificate_paged import CertificatePaged -from .deleted_site_paged import DeletedSitePaged -from .detector_response_paged import DetectorResponsePaged -from .diagnostic_category_paged import DiagnosticCategoryPaged -from .analysis_definition_paged import AnalysisDefinitionPaged -from .detector_definition_paged import DetectorDefinitionPaged -from .application_stack_paged import ApplicationStackPaged -from .recommendation_paged import RecommendationPaged -from .source_control_paged import SourceControlPaged -from .billing_meter_paged import BillingMeterPaged -from .geo_region_paged import GeoRegionPaged -from .identifier_paged import IdentifierPaged -from .premier_add_on_offer_paged import PremierAddOnOfferPaged -from .site_paged import SitePaged -from .backup_item_paged import BackupItemPaged -from .site_config_resource_paged import SiteConfigResourcePaged -from .site_configuration_snapshot_info_paged import SiteConfigurationSnapshotInfoPaged -from .continuous_web_job_paged import ContinuousWebJobPaged -from .deployment_paged import DeploymentPaged -from .function_envelope_paged import FunctionEnvelopePaged -from .host_name_binding_paged import HostNameBindingPaged -from .site_instance_paged import SiteInstancePaged -from .process_info_paged import ProcessInfoPaged -from .process_module_info_paged import ProcessModuleInfoPaged -from .process_thread_info_paged import ProcessThreadInfoPaged -from .resource_metric_definition_paged import ResourceMetricDefinitionPaged -from .resource_metric_paged import ResourceMetricPaged -from .perf_mon_response_paged import PerfMonResponsePaged -from .public_certificate_paged import PublicCertificatePaged -from .site_extension_info_paged import SiteExtensionInfoPaged -from .slot_difference_paged import SlotDifferencePaged -from .snapshot_paged import SnapshotPaged -from .triggered_web_job_paged import TriggeredWebJobPaged -from .triggered_job_history_paged import TriggeredJobHistoryPaged -from .csm_usage_quota_paged import CsmUsageQuotaPaged -from .web_job_paged import WebJobPaged -from .app_service_environment_resource_paged import AppServiceEnvironmentResourcePaged -from .stamp_capacity_paged import StampCapacityPaged -from .inbound_environment_endpoint_paged import InboundEnvironmentEndpointPaged -from .worker_pool_resource_paged import WorkerPoolResourcePaged -from .sku_info_paged import SkuInfoPaged -from .usage_paged import UsagePaged -from .outbound_environment_endpoint_paged import OutboundEnvironmentEndpointPaged -from .app_service_plan_paged import AppServicePlanPaged -from .str_paged import StrPaged -from .hybrid_connection_paged import HybridConnectionPaged -from .resource_health_metadata_paged import ResourceHealthMetadataPaged -from .web_site_management_client_enums import ( - KeyVaultSecretStatus, - CertificateProductType, - ProvisioningState, - CertificateOrderStatus, - CertificateOrderActionType, - RouteType, - ManagedServiceIdentityType, - IpFilterTag, - AutoHealActionType, - ConnectionStringType, - AzureStorageType, - AzureStorageState, - ScmType, - ManagedPipelineMode, - SiteLoadBalancing, - SupportedTlsVersions, - FtpsState, - SslState, - HostType, - UsageState, - SiteAvailabilityState, - RedundancyMode, - StatusOptions, - DomainStatus, - AzureResourceType, - CustomHostNameDnsRecordType, - HostNameType, - DnsType, - DomainType, - HostingEnvironmentStatus, - InternalLoadBalancingMode, - ComputeModeOptions, - WorkerSizeOptions, - AccessControlEntryAction, - OperationStatus, - IssueType, - SolutionType, - RenderingType, - ResourceScopeType, - NotificationLevel, - Channels, - AppServicePlanRestrictions, - InAvailabilityReasonType, - CheckNameResourceTypes, - ValidateResourceTypes, - LogLevel, - BackupItemStatus, - DatabaseType, - FrequencyUnit, - ContinuousWebJobStatus, - WebJobType, - PublishingProfileFormat, - DnsVerificationTestResult, - MSDeployLogEntryType, - MSDeployProvisioningState, - MySqlMigrationType, - PublicCertificateLocation, - BackupRestoreOperationType, - UnauthenticatedClientAction, - BuiltInAuthenticationProvider, - CloneAbilityResult, - SiteExtensionType, - TriggeredWebJobStatus, - SkuName, -) - -__all__ = [ - 'AppServiceCertificate', - 'AppServiceCertificateResource', - 'CertificateDetails', - 'AppServiceCertificateOrder', - 'AppServiceCertificateOrderPatchResource', - 'AppServiceCertificatePatchResource', - 'CertificateEmail', - 'CertificateOrderAction', - 'ReissueCertificateOrderRequest', - 'RenewCertificateOrderRequest', - 'SiteSeal', - 'SiteSealRequest', - 'VnetRoute', - 'VnetInfo', - 'VnetGateway', - 'User', - 'Snapshot', - 'ResourceMetricAvailability', - 'ResourceMetricDefinition', - 'PushSettings', - 'Identifier', - 'HybridConnectionKey', - 'HybridConnection', - 'DeletedSite', - 'ProxyOnlyResource', - 'ManagedServiceIdentityUserAssignedIdentitiesValue', - 'ManagedServiceIdentity', - 'GeoDistribution', - 'SlotSwapStatus', - 'CloningInfo', - 'HostingEnvironmentProfile', - 'IpSecurityRestriction', - 'ApiDefinitionInfo', - 'CorsSettings', - 'AutoHealCustomAction', - 'AutoHealActions', - 'SlowRequestsBasedTrigger', - 'StatusCodesBasedTrigger', - 'RequestsBasedTrigger', - 'AutoHealTriggers', - 'AutoHealRules', - 'SiteLimits', - 'RampUpRule', - 'Experiments', - 'VirtualDirectory', - 'VirtualApplication', - 'HandlerMapping', - 'SiteMachineKey', - 'ConnStringInfo', - 'AzureStorageInfoValue', - 'NameValuePair', - 'SiteConfig', - 'HostNameSslState', - 'Site', - 'Capability', - 'SkuCapacity', - 'SkuDescription', - 'AppServicePlan', - 'Resource', - 'DefaultErrorResponseErrorDetailsItem', - 'DefaultErrorResponseError', - 'DefaultErrorResponse', 'DefaultErrorResponseException', - 'NameIdentifier', - 'LogSpecification', - 'MetricAvailability', - 'Dimension', - 'MetricSpecification', - 'ServiceSpecification', - 'CsmOperationDescriptionProperties', - 'CsmOperationDisplay', - 'CsmOperationDescription', - 'Address', - 'Contact', - 'HostName', - 'DomainPurchaseConsent', - 'Domain', - 'DomainAvailablilityCheckResult', - 'DomainControlCenterSsoRequest', - 'DomainOwnershipIdentifier', - 'DomainPatchResource', - 'DomainRecommendationSearchParameters', - 'TldLegalAgreement', - 'TopLevelDomain', - 'TopLevelDomainAgreementOption', - 'Certificate', - 'CertificatePatchResource', - 'VirtualNetworkProfile', - 'WorkerPool', - 'VirtualIPMapping', - 'StampCapacity', - 'NetworkAccessControlEntry', - 'AppServiceEnvironment', - 'LocalizableString', - 'CsmUsageQuota', - 'ErrorEntity', - 'Operation', - 'ResourceMetricName', - 'ResourceMetricProperty', - 'ResourceMetricValue', - 'ResourceMetric', - 'WebAppCollection', - 'Solution', - 'DetectorAbnormalTimePeriod', - 'AbnormalTimePeriod', - 'DetectorDefinition', - 'DiagnosticMetricSample', - 'DiagnosticMetricSet', - 'DataSource', - 'ResponseMetaData', - 'AnalysisData', - 'AnalysisDefinition', - 'DataTableResponseColumn', - 'DataTableResponseObject', - 'DetectorInfo', - 'Rendering', - 'DiagnosticData', - 'DetectorResponse', - 'DiagnosticAnalysis', - 'DiagnosticCategory', - 'DiagnosticDetectorResponse', - 'StackMinorVersion', - 'StackMajorVersion', - 'ApplicationStack', - 'Recommendation', - 'RecommendationRule', - 'BillingMeter', - 'CsmMoveResourceEnvelope', - 'GeoRegion', - 'HostingEnvironmentDeploymentInfo', - 'DeploymentLocations', - 'GlobalCsmSkuDescription', - 'PremierAddOnOffer', - 'ResourceNameAvailability', - 'ResourceNameAvailabilityRequest', - 'SkuInfos', - 'SourceControl', - 'ValidateContainerSettingsRequest', - 'ValidateRequest', - 'ValidateResponseError', - 'ValidateResponse', - 'VnetParameters', - 'VnetValidationTestFailure', - 'VnetValidationFailureDetails', - 'FileSystemApplicationLogsConfig', - 'AzureTableStorageApplicationLogsConfig', - 'AzureBlobStorageApplicationLogsConfig', - 'ApplicationLogsConfig', - 'AzureBlobStorageHttpLogsConfig', - 'AzureStoragePropertyDictionaryResource', - 'DatabaseBackupSetting', - 'BackupItem', - 'BackupSchedule', - 'BackupRequest', - 'ConnStringValueTypePair', - 'ConnectionStringDictionary', - 'ContinuousWebJob', - 'CsmPublishingProfileOptions', - 'CsmSlotEntity', - 'CustomHostnameAnalysisResult', - 'DeletedAppRestoreRequest', - 'Deployment', - 'EnabledConfig', - 'FileSystemHttpLogsConfig', - 'FunctionEnvelope', - 'FunctionSecrets', - 'HostNameBinding', - 'HttpLogsConfig', - 'MSDeploy', - 'MSDeployLogEntry', - 'MSDeployLog', - 'MSDeployStatus', - 'MigrateMySqlRequest', - 'MigrateMySqlStatus', - 'RelayServiceConnectionEntity', - 'NetworkFeatures', - 'NetworkTrace', - 'PerfMonSample', - 'PerfMonSet', - 'PerfMonResponse', - 'PremierAddOn', - 'PremierAddOnPatchResource', - 'PrivateAccessSubnet', - 'PrivateAccessVirtualNetwork', - 'PrivateAccess', - 'ProcessThreadInfo', - 'ProcessModuleInfo', - 'ProcessInfo', - 'PublicCertificate', - 'RestoreRequest', - 'SiteAuthSettings', - 'SiteCloneabilityCriterion', - 'SiteCloneability', - 'SiteConfigResource', - 'SiteConfigurationSnapshotInfo', - 'SiteExtensionInfo', - 'SiteInstance', - 'SiteLogsConfig', - 'SitePatchResource', - 'SitePhpErrorLogFlag', - 'SiteSourceControl', - 'SlotConfigNamesResource', - 'SlotDifference', - 'SnapshotRecoverySource', - 'SnapshotRestoreRequest', - 'StorageMigrationOptions', - 'StorageMigrationResponse', - 'StringDictionary', - 'SwiftVirtualNetwork', - 'TriggeredJobRun', - 'TriggeredJobHistory', - 'TriggeredWebJob', - 'WebJob', - 'AddressResponse', - 'AppServiceEnvironmentResource', - 'AppServiceEnvironmentPatchResource', - 'EndpointDetail', - 'EndpointDependency', - 'HostingEnvironmentDiagnostics', - 'InboundEnvironmentEndpoint', - 'MetricAvailabilily', - 'MetricDefinition', - 'OutboundEnvironmentEndpoint', - 'SkuInfo', - 'Usage', - 'WorkerPoolResource', - 'AppServicePlanPatchResource', - 'HybridConnectionLimits', - 'ResourceHealthMetadata', - 'AppServiceCertificateOrderPaged', - 'AppServiceCertificateResourcePaged', - 'CsmOperationDescriptionPaged', - 'DomainPaged', - 'NameIdentifierPaged', - 'DomainOwnershipIdentifierPaged', - 'TopLevelDomainPaged', - 'TldLegalAgreementPaged', - 'CertificatePaged', - 'DeletedSitePaged', - 'DetectorResponsePaged', - 'DiagnosticCategoryPaged', - 'AnalysisDefinitionPaged', - 'DetectorDefinitionPaged', - 'ApplicationStackPaged', - 'RecommendationPaged', - 'SourceControlPaged', - 'BillingMeterPaged', - 'GeoRegionPaged', - 'IdentifierPaged', - 'PremierAddOnOfferPaged', - 'SitePaged', - 'BackupItemPaged', - 'SiteConfigResourcePaged', - 'SiteConfigurationSnapshotInfoPaged', - 'ContinuousWebJobPaged', - 'DeploymentPaged', - 'FunctionEnvelopePaged', - 'HostNameBindingPaged', - 'SiteInstancePaged', - 'ProcessInfoPaged', - 'ProcessModuleInfoPaged', - 'ProcessThreadInfoPaged', - 'ResourceMetricDefinitionPaged', - 'ResourceMetricPaged', - 'PerfMonResponsePaged', - 'PublicCertificatePaged', - 'SiteExtensionInfoPaged', - 'SlotDifferencePaged', - 'SnapshotPaged', - 'TriggeredWebJobPaged', - 'TriggeredJobHistoryPaged', - 'CsmUsageQuotaPaged', - 'WebJobPaged', - 'AppServiceEnvironmentResourcePaged', - 'StampCapacityPaged', - 'InboundEnvironmentEndpointPaged', - 'WorkerPoolResourcePaged', - 'SkuInfoPaged', - 'UsagePaged', - 'OutboundEnvironmentEndpointPaged', - 'AppServicePlanPaged', - 'StrPaged', - 'HybridConnectionPaged', - 'ResourceHealthMetadataPaged', - 'KeyVaultSecretStatus', - 'CertificateProductType', - 'ProvisioningState', - 'CertificateOrderStatus', - 'CertificateOrderActionType', - 'RouteType', - 'ManagedServiceIdentityType', - 'IpFilterTag', - 'AutoHealActionType', - 'ConnectionStringType', - 'AzureStorageType', - 'AzureStorageState', - 'ScmType', - 'ManagedPipelineMode', - 'SiteLoadBalancing', - 'SupportedTlsVersions', - 'FtpsState', - 'SslState', - 'HostType', - 'UsageState', - 'SiteAvailabilityState', - 'RedundancyMode', - 'StatusOptions', - 'DomainStatus', - 'AzureResourceType', - 'CustomHostNameDnsRecordType', - 'HostNameType', - 'DnsType', - 'DomainType', - 'HostingEnvironmentStatus', - 'InternalLoadBalancingMode', - 'ComputeModeOptions', - 'WorkerSizeOptions', - 'AccessControlEntryAction', - 'OperationStatus', - 'IssueType', - 'SolutionType', - 'RenderingType', - 'ResourceScopeType', - 'NotificationLevel', - 'Channels', - 'AppServicePlanRestrictions', - 'InAvailabilityReasonType', - 'CheckNameResourceTypes', - 'ValidateResourceTypes', - 'LogLevel', - 'BackupItemStatus', - 'DatabaseType', - 'FrequencyUnit', - 'ContinuousWebJobStatus', - 'WebJobType', - 'PublishingProfileFormat', - 'DnsVerificationTestResult', - 'MSDeployLogEntryType', - 'MSDeployProvisioningState', - 'MySqlMigrationType', - 'PublicCertificateLocation', - 'BackupRestoreOperationType', - 'UnauthenticatedClientAction', - 'BuiltInAuthenticationProvider', - 'CloneAbilityResult', - 'SiteExtensionType', - 'TriggeredWebJobStatus', - 'SkuName', -] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period.py deleted file mode 100644 index 1e2a3eebde83..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AbnormalTimePeriod(Model): - """Class representing Abnormal Time Period identified in diagnosis. - - :param start_time: Start time of the downtime - :type start_time: datetime - :param end_time: End time of the downtime - :type end_time: datetime - :param events: List of Possible Cause of downtime - :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] - :param solutions: List of proposed solutions - :type solutions: list[~azure.mgmt.web.models.Solution] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, - 'solutions': {'key': 'solutions', 'type': '[Solution]'}, - } - - def __init__(self, **kwargs): - super(AbnormalTimePeriod, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.events = kwargs.get('events', None) - self.solutions = kwargs.get('solutions', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period_py3.py deleted file mode 100644 index 7b621b2aa297..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/abnormal_time_period_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AbnormalTimePeriod(Model): - """Class representing Abnormal Time Period identified in diagnosis. - - :param start_time: Start time of the downtime - :type start_time: datetime - :param end_time: End time of the downtime - :type end_time: datetime - :param events: List of Possible Cause of downtime - :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] - :param solutions: List of proposed solutions - :type solutions: list[~azure.mgmt.web.models.Solution] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, - 'solutions': {'key': 'solutions', 'type': '[Solution]'}, - } - - def __init__(self, *, start_time=None, end_time=None, events=None, solutions=None, **kwargs) -> None: - super(AbnormalTimePeriod, self).__init__(**kwargs) - self.start_time = start_time - self.end_time = end_time - self.events = events - self.solutions = solutions diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address.py deleted file mode 100644 index 712c11c55bf6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Address(Model): - """Address information for domain registration. - - All required parameters must be populated in order to send to Azure. - - :param address1: Required. First line of an Address. - :type address1: str - :param address2: The second line of the Address. Optional. - :type address2: str - :param city: Required. The city for the address. - :type city: str - :param country: Required. The country for the address. - :type country: str - :param postal_code: Required. The postal code for the address. - :type postal_code: str - :param state: Required. The state or province for the address. - :type state: str - """ - - _validation = { - 'address1': {'required': True}, - 'city': {'required': True}, - 'country': {'required': True}, - 'postal_code': {'required': True}, - 'state': {'required': True}, - } - - _attribute_map = { - 'address1': {'key': 'address1', 'type': 'str'}, - 'address2': {'key': 'address2', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - 'country': {'key': 'country', 'type': 'str'}, - 'postal_code': {'key': 'postalCode', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Address, self).__init__(**kwargs) - self.address1 = kwargs.get('address1', None) - self.address2 = kwargs.get('address2', None) - self.city = kwargs.get('city', None) - self.country = kwargs.get('country', None) - self.postal_code = kwargs.get('postal_code', None) - self.state = kwargs.get('state', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_py3.py deleted file mode 100644 index 5f7c235ed217..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Address(Model): - """Address information for domain registration. - - All required parameters must be populated in order to send to Azure. - - :param address1: Required. First line of an Address. - :type address1: str - :param address2: The second line of the Address. Optional. - :type address2: str - :param city: Required. The city for the address. - :type city: str - :param country: Required. The country for the address. - :type country: str - :param postal_code: Required. The postal code for the address. - :type postal_code: str - :param state: Required. The state or province for the address. - :type state: str - """ - - _validation = { - 'address1': {'required': True}, - 'city': {'required': True}, - 'country': {'required': True}, - 'postal_code': {'required': True}, - 'state': {'required': True}, - } - - _attribute_map = { - 'address1': {'key': 'address1', 'type': 'str'}, - 'address2': {'key': 'address2', 'type': 'str'}, - 'city': {'key': 'city', 'type': 'str'}, - 'country': {'key': 'country', 'type': 'str'}, - 'postal_code': {'key': 'postalCode', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - def __init__(self, *, address1: str, city: str, country: str, postal_code: str, state: str, address2: str=None, **kwargs) -> None: - super(Address, self).__init__(**kwargs) - self.address1 = address1 - self.address2 = address2 - self.city = city - self.country = country - self.postal_code = postal_code - self.state = state diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response.py deleted file mode 100644 index 851a713cc4ee..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AddressResponse(Model): - """Describes main public IP address and any extra virtual IPs. - - :param service_ip_address: Main public virtual IP. - :type service_ip_address: str - :param internal_ip_address: Virtual Network internal IP address of the App - Service Environment if it is in internal load-balancing mode. - :type internal_ip_address: str - :param outbound_ip_addresses: IP addresses appearing on outbound - connections. - :type outbound_ip_addresses: list[str] - :param vip_mappings: Additional virtual IPs. - :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - """ - - _attribute_map = { - 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, - 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, - 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, - 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, - } - - def __init__(self, **kwargs): - super(AddressResponse, self).__init__(**kwargs) - self.service_ip_address = kwargs.get('service_ip_address', None) - self.internal_ip_address = kwargs.get('internal_ip_address', None) - self.outbound_ip_addresses = kwargs.get('outbound_ip_addresses', None) - self.vip_mappings = kwargs.get('vip_mappings', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response_py3.py deleted file mode 100644 index 5268c2dce078..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/address_response_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AddressResponse(Model): - """Describes main public IP address and any extra virtual IPs. - - :param service_ip_address: Main public virtual IP. - :type service_ip_address: str - :param internal_ip_address: Virtual Network internal IP address of the App - Service Environment if it is in internal load-balancing mode. - :type internal_ip_address: str - :param outbound_ip_addresses: IP addresses appearing on outbound - connections. - :type outbound_ip_addresses: list[str] - :param vip_mappings: Additional virtual IPs. - :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - """ - - _attribute_map = { - 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, - 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, - 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, - 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, - } - - def __init__(self, *, service_ip_address: str=None, internal_ip_address: str=None, outbound_ip_addresses=None, vip_mappings=None, **kwargs) -> None: - super(AddressResponse, self).__init__(**kwargs) - self.service_ip_address = service_ip_address - self.internal_ip_address = internal_ip_address - self.outbound_ip_addresses = outbound_ip_addresses - self.vip_mappings = vip_mappings diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data.py deleted file mode 100644 index 0c2606f3ba50..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AnalysisData(Model): - """Class Representing Detector Evidence used for analysis. - - :param source: Name of the Detector - :type source: str - :param detector_definition: Detector Definition - :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition - :param metrics: Source Metrics - :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] - :param data: Additional Source Data - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param detector_meta_data: Detector Meta Data - :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData - """ - - _attribute_map = { - 'source': {'key': 'source', 'type': 'str'}, - 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, - 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, - 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, - 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, - } - - def __init__(self, **kwargs): - super(AnalysisData, self).__init__(**kwargs) - self.source = kwargs.get('source', None) - self.detector_definition = kwargs.get('detector_definition', None) - self.metrics = kwargs.get('metrics', None) - self.data = kwargs.get('data', None) - self.detector_meta_data = kwargs.get('detector_meta_data', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data_py3.py deleted file mode 100644 index 38d0cb227509..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_data_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AnalysisData(Model): - """Class Representing Detector Evidence used for analysis. - - :param source: Name of the Detector - :type source: str - :param detector_definition: Detector Definition - :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition - :param metrics: Source Metrics - :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] - :param data: Additional Source Data - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param detector_meta_data: Detector Meta Data - :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData - """ - - _attribute_map = { - 'source': {'key': 'source', 'type': 'str'}, - 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, - 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, - 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, - 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, - } - - def __init__(self, *, source: str=None, detector_definition=None, metrics=None, data=None, detector_meta_data=None, **kwargs) -> None: - super(AnalysisData, self).__init__(**kwargs) - self.source = source - self.detector_definition = detector_definition - self.metrics = metrics - self.data = data - self.detector_meta_data = detector_meta_data diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition.py deleted file mode 100644 index 58943eea9d91..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AnalysisDefinition(ProxyOnlyResource): - """Definition of Analysis. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Description of the Analysis - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AnalysisDefinition, self).__init__(**kwargs) - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_paged.py deleted file mode 100644 index a0f2b6c00789..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 AnalysisDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`AnalysisDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AnalysisDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(AnalysisDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_py3.py deleted file mode 100644 index f3697219fad0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/analysis_definition_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AnalysisDefinition(ProxyOnlyResource): - """Definition of Analysis. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Description of the Analysis - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(AnalysisDefinition, self).__init__(kind=kind, **kwargs) - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info.py deleted file mode 100644 index ea39cea45caf..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApiDefinitionInfo(Model): - """Information about the formal API definition for the app. - - :param url: The URL of the API definition. - :type url: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApiDefinitionInfo, self).__init__(**kwargs) - self.url = kwargs.get('url', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info_py3.py deleted file mode 100644 index c871cfac7df2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/api_definition_info_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApiDefinitionInfo(Model): - """Information about the formal API definition for the app. - - :param url: The URL of the API definition. - :type url: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - } - - def __init__(self, *, url: str=None, **kwargs) -> None: - super(ApiDefinitionInfo, self).__init__(**kwargs) - self.url = url diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate.py deleted file mode 100644 index a678f8540c30..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppServiceCertificate(Model): - """Key Vault container for a certificate that is purchased through Azure. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, **kwargs): - super(AppServiceCertificate, self).__init__(**kwargs) - self.key_vault_id = kwargs.get('key_vault_id', None) - self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order.py deleted file mode 100644 index 187b8ef08aca..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order.py +++ /dev/null @@ -1,157 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceCertificateOrder(Resource): - """SSL certificate purchase order. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param certificates: State of the Key Vault secret. - :type certificates: dict[str, - ~azure.mgmt.web.models.AppServiceCertificate] - :param distinguished_name: Certificate distinguished name. - :type distinguished_name: str - :ivar domain_verification_token: Domain verification token. - :vartype domain_verification_token: str - :param validity_in_years: Duration in years (must be between 1 and 3). - Default value: 1 . - :type validity_in_years: int - :param key_size: Certificate key size. Default value: 2048 . - :type key_size: int - :param product_type: Required. Certificate product type. Possible values - include: 'StandardDomainValidatedSsl', - 'StandardDomainValidatedWildCardSsl' - :type product_type: str or ~azure.mgmt.web.models.CertificateProductType - :param auto_renew: true if the certificate should be - automatically renewed when it expires; otherwise, false. - Default value: True . - :type auto_renew: bool - :ivar provisioning_state: Status of certificate order. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current order status. Possible values include: - 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', - 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus - :ivar signed_certificate: Signed certificate. - :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails - :param csr: Last CSR that was created for this order. - :type csr: str - :ivar intermediate: Intermediate certificate. - :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails - :ivar root: Root certificate. - :vartype root: ~azure.mgmt.web.models.CertificateDetails - :ivar serial_number: Current serial number of the certificate. - :vartype serial_number: str - :ivar last_certificate_issuance_time: Certificate last issuance time. - :vartype last_certificate_issuance_time: datetime - :ivar expiration_time: Certificate expiration time. - :vartype expiration_time: datetime - :ivar is_private_key_external: true if private key is - external; otherwise, false. - :vartype is_private_key_external: bool - :ivar app_service_certificate_not_renewable_reasons: Reasons why App - Service Certificate is not renewable at the current moment. - :vartype app_service_certificate_not_renewable_reasons: list[str] - :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would - be auto renewed next - :vartype next_auto_renewal_time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'domain_verification_token': {'readonly': True}, - 'validity_in_years': {'maximum': 3, 'minimum': 1}, - 'product_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'signed_certificate': {'readonly': True}, - 'intermediate': {'readonly': True}, - 'root': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'last_certificate_issuance_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'is_private_key_external': {'readonly': True}, - 'app_service_certificate_not_renewable_reasons': {'readonly': True}, - 'next_auto_renewal_time_stamp': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, - 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, - 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, - 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, - 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, - 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, - 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, - 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, - 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(AppServiceCertificateOrder, self).__init__(**kwargs) - self.certificates = kwargs.get('certificates', None) - self.distinguished_name = kwargs.get('distinguished_name', None) - self.domain_verification_token = None - self.validity_in_years = kwargs.get('validity_in_years', 1) - self.key_size = kwargs.get('key_size', 2048) - self.product_type = kwargs.get('product_type', None) - self.auto_renew = kwargs.get('auto_renew', True) - self.provisioning_state = None - self.status = None - self.signed_certificate = None - self.csr = kwargs.get('csr', None) - self.intermediate = None - self.root = None - self.serial_number = None - self.last_certificate_issuance_time = None - self.expiration_time = None - self.is_private_key_external = None - self.app_service_certificate_not_renewable_reasons = None - self.next_auto_renewal_time_stamp = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_paged.py deleted file mode 100644 index d20102d9afc7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 AppServiceCertificateOrderPaged(Paged): - """ - A paging container for iterating over a list of :class:`AppServiceCertificateOrder ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AppServiceCertificateOrder]'} - } - - def __init__(self, *args, **kwargs): - - super(AppServiceCertificateOrderPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource.py deleted file mode 100644 index 131e707b8ac6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource.py +++ /dev/null @@ -1,150 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): - """ARM resource for a certificate order that is purchased through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param certificates: State of the Key Vault secret. - :type certificates: dict[str, - ~azure.mgmt.web.models.AppServiceCertificate] - :param distinguished_name: Certificate distinguished name. - :type distinguished_name: str - :ivar domain_verification_token: Domain verification token. - :vartype domain_verification_token: str - :param validity_in_years: Duration in years (must be between 1 and 3). - Default value: 1 . - :type validity_in_years: int - :param key_size: Certificate key size. Default value: 2048 . - :type key_size: int - :param product_type: Required. Certificate product type. Possible values - include: 'StandardDomainValidatedSsl', - 'StandardDomainValidatedWildCardSsl' - :type product_type: str or ~azure.mgmt.web.models.CertificateProductType - :param auto_renew: true if the certificate should be - automatically renewed when it expires; otherwise, false. - Default value: True . - :type auto_renew: bool - :ivar provisioning_state: Status of certificate order. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current order status. Possible values include: - 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', - 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus - :ivar signed_certificate: Signed certificate. - :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails - :param csr: Last CSR that was created for this order. - :type csr: str - :ivar intermediate: Intermediate certificate. - :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails - :ivar root: Root certificate. - :vartype root: ~azure.mgmt.web.models.CertificateDetails - :ivar serial_number: Current serial number of the certificate. - :vartype serial_number: str - :ivar last_certificate_issuance_time: Certificate last issuance time. - :vartype last_certificate_issuance_time: datetime - :ivar expiration_time: Certificate expiration time. - :vartype expiration_time: datetime - :ivar is_private_key_external: true if private key is - external; otherwise, false. - :vartype is_private_key_external: bool - :ivar app_service_certificate_not_renewable_reasons: Reasons why App - Service Certificate is not renewable at the current moment. - :vartype app_service_certificate_not_renewable_reasons: list[str] - :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would - be auto renewed next - :vartype next_auto_renewal_time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'domain_verification_token': {'readonly': True}, - 'validity_in_years': {'maximum': 3, 'minimum': 1}, - 'product_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'signed_certificate': {'readonly': True}, - 'intermediate': {'readonly': True}, - 'root': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'last_certificate_issuance_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'is_private_key_external': {'readonly': True}, - 'app_service_certificate_not_renewable_reasons': {'readonly': True}, - 'next_auto_renewal_time_stamp': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, - 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, - 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, - 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, - 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, - 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, - 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, - 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, - 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(AppServiceCertificateOrderPatchResource, self).__init__(**kwargs) - self.certificates = kwargs.get('certificates', None) - self.distinguished_name = kwargs.get('distinguished_name', None) - self.domain_verification_token = None - self.validity_in_years = kwargs.get('validity_in_years', 1) - self.key_size = kwargs.get('key_size', 2048) - self.product_type = kwargs.get('product_type', None) - self.auto_renew = kwargs.get('auto_renew', True) - self.provisioning_state = None - self.status = None - self.signed_certificate = None - self.csr = kwargs.get('csr', None) - self.intermediate = None - self.root = None - self.serial_number = None - self.last_certificate_issuance_time = None - self.expiration_time = None - self.is_private_key_external = None - self.app_service_certificate_not_renewable_reasons = None - self.next_auto_renewal_time_stamp = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource_py3.py deleted file mode 100644 index 650d9bf98f18..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_patch_resource_py3.py +++ /dev/null @@ -1,150 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): - """ARM resource for a certificate order that is purchased through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param certificates: State of the Key Vault secret. - :type certificates: dict[str, - ~azure.mgmt.web.models.AppServiceCertificate] - :param distinguished_name: Certificate distinguished name. - :type distinguished_name: str - :ivar domain_verification_token: Domain verification token. - :vartype domain_verification_token: str - :param validity_in_years: Duration in years (must be between 1 and 3). - Default value: 1 . - :type validity_in_years: int - :param key_size: Certificate key size. Default value: 2048 . - :type key_size: int - :param product_type: Required. Certificate product type. Possible values - include: 'StandardDomainValidatedSsl', - 'StandardDomainValidatedWildCardSsl' - :type product_type: str or ~azure.mgmt.web.models.CertificateProductType - :param auto_renew: true if the certificate should be - automatically renewed when it expires; otherwise, false. - Default value: True . - :type auto_renew: bool - :ivar provisioning_state: Status of certificate order. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current order status. Possible values include: - 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', - 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus - :ivar signed_certificate: Signed certificate. - :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails - :param csr: Last CSR that was created for this order. - :type csr: str - :ivar intermediate: Intermediate certificate. - :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails - :ivar root: Root certificate. - :vartype root: ~azure.mgmt.web.models.CertificateDetails - :ivar serial_number: Current serial number of the certificate. - :vartype serial_number: str - :ivar last_certificate_issuance_time: Certificate last issuance time. - :vartype last_certificate_issuance_time: datetime - :ivar expiration_time: Certificate expiration time. - :vartype expiration_time: datetime - :ivar is_private_key_external: true if private key is - external; otherwise, false. - :vartype is_private_key_external: bool - :ivar app_service_certificate_not_renewable_reasons: Reasons why App - Service Certificate is not renewable at the current moment. - :vartype app_service_certificate_not_renewable_reasons: list[str] - :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would - be auto renewed next - :vartype next_auto_renewal_time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'domain_verification_token': {'readonly': True}, - 'validity_in_years': {'maximum': 3, 'minimum': 1}, - 'product_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'signed_certificate': {'readonly': True}, - 'intermediate': {'readonly': True}, - 'root': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'last_certificate_issuance_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'is_private_key_external': {'readonly': True}, - 'app_service_certificate_not_renewable_reasons': {'readonly': True}, - 'next_auto_renewal_time_stamp': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, - 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, - 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, - 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, - 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, - 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, - 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, - 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, - 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, *, product_type, kind: str=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: - super(AppServiceCertificateOrderPatchResource, self).__init__(kind=kind, **kwargs) - self.certificates = certificates - self.distinguished_name = distinguished_name - self.domain_verification_token = None - self.validity_in_years = validity_in_years - self.key_size = key_size - self.product_type = product_type - self.auto_renew = auto_renew - self.provisioning_state = None - self.status = None - self.signed_certificate = None - self.csr = csr - self.intermediate = None - self.root = None - self.serial_number = None - self.last_certificate_issuance_time = None - self.expiration_time = None - self.is_private_key_external = None - self.app_service_certificate_not_renewable_reasons = None - self.next_auto_renewal_time_stamp = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_py3.py deleted file mode 100644 index f4c276d210b2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_order_py3.py +++ /dev/null @@ -1,157 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceCertificateOrder(Resource): - """SSL certificate purchase order. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param certificates: State of the Key Vault secret. - :type certificates: dict[str, - ~azure.mgmt.web.models.AppServiceCertificate] - :param distinguished_name: Certificate distinguished name. - :type distinguished_name: str - :ivar domain_verification_token: Domain verification token. - :vartype domain_verification_token: str - :param validity_in_years: Duration in years (must be between 1 and 3). - Default value: 1 . - :type validity_in_years: int - :param key_size: Certificate key size. Default value: 2048 . - :type key_size: int - :param product_type: Required. Certificate product type. Possible values - include: 'StandardDomainValidatedSsl', - 'StandardDomainValidatedWildCardSsl' - :type product_type: str or ~azure.mgmt.web.models.CertificateProductType - :param auto_renew: true if the certificate should be - automatically renewed when it expires; otherwise, false. - Default value: True . - :type auto_renew: bool - :ivar provisioning_state: Status of certificate order. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current order status. Possible values include: - 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', - 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' - :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus - :ivar signed_certificate: Signed certificate. - :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails - :param csr: Last CSR that was created for this order. - :type csr: str - :ivar intermediate: Intermediate certificate. - :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails - :ivar root: Root certificate. - :vartype root: ~azure.mgmt.web.models.CertificateDetails - :ivar serial_number: Current serial number of the certificate. - :vartype serial_number: str - :ivar last_certificate_issuance_time: Certificate last issuance time. - :vartype last_certificate_issuance_time: datetime - :ivar expiration_time: Certificate expiration time. - :vartype expiration_time: datetime - :ivar is_private_key_external: true if private key is - external; otherwise, false. - :vartype is_private_key_external: bool - :ivar app_service_certificate_not_renewable_reasons: Reasons why App - Service Certificate is not renewable at the current moment. - :vartype app_service_certificate_not_renewable_reasons: list[str] - :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would - be auto renewed next - :vartype next_auto_renewal_time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'domain_verification_token': {'readonly': True}, - 'validity_in_years': {'maximum': 3, 'minimum': 1}, - 'product_type': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'signed_certificate': {'readonly': True}, - 'intermediate': {'readonly': True}, - 'root': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'last_certificate_issuance_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'is_private_key_external': {'readonly': True}, - 'app_service_certificate_not_renewable_reasons': {'readonly': True}, - 'next_auto_renewal_time_stamp': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, - 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, - 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, - 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, - 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, - 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, - 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, - 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, - 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, *, location: str, product_type, kind: str=None, tags=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: - super(AppServiceCertificateOrder, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.certificates = certificates - self.distinguished_name = distinguished_name - self.domain_verification_token = None - self.validity_in_years = validity_in_years - self.key_size = key_size - self.product_type = product_type - self.auto_renew = auto_renew - self.provisioning_state = None - self.status = None - self.signed_certificate = None - self.csr = csr - self.intermediate = None - self.root = None - self.serial_number = None - self.last_certificate_issuance_time = None - self.expiration_time = None - self.is_private_key_external = None - self.app_service_certificate_not_renewable_reasons = None - self.next_auto_renewal_time_stamp = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource.py deleted file mode 100644 index fb6bea6358a4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AppServiceCertificatePatchResource(ProxyOnlyResource): - """Key Vault container ARM resource for a certificate that is purchased - through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, **kwargs): - super(AppServiceCertificatePatchResource, self).__init__(**kwargs) - self.key_vault_id = kwargs.get('key_vault_id', None) - self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource_py3.py deleted file mode 100644 index 73d3ebb90422..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_patch_resource_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AppServiceCertificatePatchResource(ProxyOnlyResource): - """Key Vault container ARM resource for a certificate that is purchased - through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, *, kind: str=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceCertificatePatchResource, self).__init__(kind=kind, **kwargs) - self.key_vault_id = key_vault_id - self.key_vault_secret_name = key_vault_secret_name - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_py3.py deleted file mode 100644 index e30db2b48566..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppServiceCertificate(Model): - """Key Vault container for a certificate that is purchased through Azure. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, *, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceCertificate, self).__init__(**kwargs) - self.key_vault_id = key_vault_id - self.key_vault_secret_name = key_vault_secret_name - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource.py deleted file mode 100644 index be01e27689f9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceCertificateResource(Resource): - """Key Vault container ARM resource for a certificate that is purchased - through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, **kwargs): - super(AppServiceCertificateResource, self).__init__(**kwargs) - self.key_vault_id = kwargs.get('key_vault_id', None) - self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_py3.py deleted file mode 100644 index 2b55619d18a3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_py3.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceCertificateResource(Resource): - """Key Vault container ARM resource for a certificate that is purchased - through Azure. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param key_vault_id: Key Vault resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar provisioning_state: Status of the Key Vault secret. Possible values - include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, - } - - def __init__(self, *, location: str, kind: str=None, tags=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceCertificateResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.key_vault_id = key_vault_id - self.key_vault_secret_name = key_vault_secret_name - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment.py deleted file mode 100644 index 357c0b6d603f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment.py +++ /dev/null @@ -1,246 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppServiceEnvironment(Model): - """Description of an App Service Environment. - - 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 name: Required. Name of the App Service Environment. - :type name: str - :param location: Required. Location of the App Service Environment, e.g. - "West US". - :type location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'name': {'required': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AppServiceEnvironment, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.location = kwargs.get('location', None) - self.provisioning_state = None - self.status = None - self.vnet_name = kwargs.get('vnet_name', None) - self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) - self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) - self.virtual_network = kwargs.get('virtual_network', None) - self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) - self.multi_size = kwargs.get('multi_size', None) - self.multi_role_count = kwargs.get('multi_role_count', None) - self.worker_pools = kwargs.get('worker_pools', None) - self.ipssl_address_count = kwargs.get('ipssl_address_count', None) - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = kwargs.get('dns_suffix', None) - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = kwargs.get('network_access_control_list', None) - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) - self.default_front_end_scale_factor = None - self.api_management_account_id = kwargs.get('api_management_account_id', None) - self.suspended = kwargs.get('suspended', None) - self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) - self.cluster_settings = kwargs.get('cluster_settings', None) - self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) - self.has_linux_workers = kwargs.get('has_linux_workers', None) - self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) - self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource.py deleted file mode 100644 index 2f8cb07faeaa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource.py +++ /dev/null @@ -1,262 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AppServiceEnvironmentPatchResource(ProxyOnlyResource): - """ARM resource for a app service environment. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param app_service_environment_patch_resource_name: Required. Name of the - App Service Environment. - :type app_service_environment_patch_resource_name: str - :param location: Required. Location of the App Service Environment, e.g. - "West US". - :type location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'app_service_environment_patch_resource_name': {'required': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, - 'location': {'key': 'properties.location', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AppServiceEnvironmentPatchResource, self).__init__(**kwargs) - self.app_service_environment_patch_resource_name = kwargs.get('app_service_environment_patch_resource_name', None) - self.location = kwargs.get('location', None) - self.provisioning_state = None - self.status = None - self.vnet_name = kwargs.get('vnet_name', None) - self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) - self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) - self.virtual_network = kwargs.get('virtual_network', None) - self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) - self.multi_size = kwargs.get('multi_size', None) - self.multi_role_count = kwargs.get('multi_role_count', None) - self.worker_pools = kwargs.get('worker_pools', None) - self.ipssl_address_count = kwargs.get('ipssl_address_count', None) - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = kwargs.get('dns_suffix', None) - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = kwargs.get('network_access_control_list', None) - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) - self.default_front_end_scale_factor = None - self.api_management_account_id = kwargs.get('api_management_account_id', None) - self.suspended = kwargs.get('suspended', None) - self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) - self.cluster_settings = kwargs.get('cluster_settings', None) - self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) - self.has_linux_workers = kwargs.get('has_linux_workers', None) - self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) - self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource_py3.py deleted file mode 100644 index 35f2b72733b1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_patch_resource_py3.py +++ /dev/null @@ -1,262 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AppServiceEnvironmentPatchResource(ProxyOnlyResource): - """ARM resource for a app service environment. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param app_service_environment_patch_resource_name: Required. Name of the - App Service Environment. - :type app_service_environment_patch_resource_name: str - :param location: Required. Location of the App Service Environment, e.g. - "West US". - :type location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'app_service_environment_patch_resource_name': {'required': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, - 'location': {'key': 'properties.location', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, *, app_service_environment_patch_resource_name: str, location: str, virtual_network, worker_pools, kind: str=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceEnvironmentPatchResource, self).__init__(kind=kind, **kwargs) - self.app_service_environment_patch_resource_name = app_service_environment_patch_resource_name - self.location = location - self.provisioning_state = None - self.status = None - self.vnet_name = vnet_name - self.vnet_resource_group_name = vnet_resource_group_name - self.vnet_subnet_name = vnet_subnet_name - self.virtual_network = virtual_network - self.internal_load_balancing_mode = internal_load_balancing_mode - self.multi_size = multi_size - self.multi_role_count = multi_role_count - self.worker_pools = worker_pools - self.ipssl_address_count = ipssl_address_count - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = dns_suffix - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = network_access_control_list - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = front_end_scale_factor - self.default_front_end_scale_factor = None - self.api_management_account_id = api_management_account_id - self.suspended = suspended - self.dynamic_cache_enabled = dynamic_cache_enabled - self.cluster_settings = cluster_settings - self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges - self.has_linux_workers = has_linux_workers - self.ssl_cert_key_vault_id = ssl_cert_key_vault_id - self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_py3.py deleted file mode 100644 index 7445b370c96d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_py3.py +++ /dev/null @@ -1,246 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AppServiceEnvironment(Model): - """Description of an App Service Environment. - - 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 name: Required. Name of the App Service Environment. - :type name: str - :param location: Required. Location of the App Service Environment, e.g. - "West US". - :type location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'name': {'required': True}, - 'location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, *, name: str, location: str, virtual_network, worker_pools, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceEnvironment, self).__init__(**kwargs) - self.name = name - self.location = location - self.provisioning_state = None - self.status = None - self.vnet_name = vnet_name - self.vnet_resource_group_name = vnet_resource_group_name - self.vnet_subnet_name = vnet_subnet_name - self.virtual_network = virtual_network - self.internal_load_balancing_mode = internal_load_balancing_mode - self.multi_size = multi_size - self.multi_role_count = multi_role_count - self.worker_pools = worker_pools - self.ipssl_address_count = ipssl_address_count - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = dns_suffix - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = network_access_control_list - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = front_end_scale_factor - self.default_front_end_scale_factor = None - self.api_management_account_id = api_management_account_id - self.suspended = suspended - self.dynamic_cache_enabled = dynamic_cache_enabled - self.cluster_settings = cluster_settings - self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges - self.has_linux_workers = has_linux_workers - self.ssl_cert_key_vault_id = ssl_cert_key_vault_id - self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource.py deleted file mode 100644 index 5f48a8459372..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource.py +++ /dev/null @@ -1,269 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceEnvironmentResource(Resource): - """App Service Environment ARM resource. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param app_service_environment_resource_name: Required. Name of the App - Service Environment. - :type app_service_environment_resource_name: str - :param app_service_environment_resource_location: Required. Location of - the App Service Environment, e.g. "West US". - :type app_service_environment_resource_location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'app_service_environment_resource_name': {'required': True}, - 'app_service_environment_resource_location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, - 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AppServiceEnvironmentResource, self).__init__(**kwargs) - self.app_service_environment_resource_name = kwargs.get('app_service_environment_resource_name', None) - self.app_service_environment_resource_location = kwargs.get('app_service_environment_resource_location', None) - self.provisioning_state = None - self.status = None - self.vnet_name = kwargs.get('vnet_name', None) - self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) - self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) - self.virtual_network = kwargs.get('virtual_network', None) - self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) - self.multi_size = kwargs.get('multi_size', None) - self.multi_role_count = kwargs.get('multi_role_count', None) - self.worker_pools = kwargs.get('worker_pools', None) - self.ipssl_address_count = kwargs.get('ipssl_address_count', None) - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = kwargs.get('dns_suffix', None) - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = kwargs.get('network_access_control_list', None) - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) - self.default_front_end_scale_factor = None - self.api_management_account_id = kwargs.get('api_management_account_id', None) - self.suspended = kwargs.get('suspended', None) - self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) - self.cluster_settings = kwargs.get('cluster_settings', None) - self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) - self.has_linux_workers = kwargs.get('has_linux_workers', None) - self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) - self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_paged.py deleted file mode 100644 index def144a4dd23..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 AppServiceEnvironmentResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`AppServiceEnvironmentResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AppServiceEnvironmentResource]'} - } - - def __init__(self, *args, **kwargs): - - super(AppServiceEnvironmentResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_py3.py deleted file mode 100644 index 5ae07af3ea8b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_environment_resource_py3.py +++ /dev/null @@ -1,269 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServiceEnvironmentResource(Resource): - """App Service Environment ARM resource. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param app_service_environment_resource_name: Required. Name of the App - Service Environment. - :type app_service_environment_resource_name: str - :param app_service_environment_resource_location: Required. Location of - the App Service Environment, e.g. "West US". - :type app_service_environment_resource_location: str - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar status: Current status of the App Service Environment. Possible - values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' - :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus - :param vnet_name: Name of the Virtual Network for the App Service - Environment. - :type vnet_name: str - :param vnet_resource_group_name: Resource group of the Virtual Network. - :type vnet_resource_group_name: str - :param vnet_subnet_name: Subnet of the Virtual Network. - :type vnet_subnet_name: str - :param virtual_network: Required. Description of the Virtual Network. - :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile - :param internal_load_balancing_mode: Specifies which endpoints to serve - internally in the Virtual Network for the App Service Environment. - Possible values include: 'None', 'Web', 'Publishing' - :type internal_load_balancing_mode: str or - ~azure.mgmt.web.models.InternalLoadBalancingMode - :param multi_size: Front-end VM size, e.g. "Medium", "Large". - :type multi_size: str - :param multi_role_count: Number of front-end instances. - :type multi_role_count: int - :param worker_pools: Required. Description of worker pools with worker - size IDs, VM sizes, and number of workers in each pool. - :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] - :param ipssl_address_count: Number of IP SSL addresses reserved for the - App Service Environment. - :type ipssl_address_count: int - :ivar database_edition: Edition of the metadata database for the App - Service Environment, e.g. "Standard". - :vartype database_edition: str - :ivar database_service_objective: Service objective of the metadata - database for the App Service Environment, e.g. "S0". - :vartype database_service_objective: str - :ivar upgrade_domains: Number of upgrade domains of the App Service - Environment. - :vartype upgrade_domains: int - :ivar subscription_id: Subscription of the App Service Environment. - :vartype subscription_id: str - :param dns_suffix: DNS suffix of the App Service Environment. - :type dns_suffix: str - :ivar last_action: Last deployment action on the App Service Environment. - :vartype last_action: str - :ivar last_action_result: Result of the last deployment action on the App - Service Environment. - :vartype last_action_result: str - :ivar allowed_multi_sizes: List of comma separated strings describing - which VM sizes are allowed for front-ends. - :vartype allowed_multi_sizes: str - :ivar allowed_worker_sizes: List of comma separated strings describing - which VM sizes are allowed for workers. - :vartype allowed_worker_sizes: str - :ivar maximum_number_of_machines: Maximum number of VMs in the App Service - Environment. - :vartype maximum_number_of_machines: int - :ivar vip_mappings: Description of IP SSL mapping for the App Service - Environment. - :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] - :ivar environment_capacities: Current total, used, and available worker - capacities. - :vartype environment_capacities: - list[~azure.mgmt.web.models.StampCapacity] - :param network_access_control_list: Access control list for controlling - traffic to the App Service Environment. - :type network_access_control_list: - list[~azure.mgmt.web.models.NetworkAccessControlEntry] - :ivar environment_is_healthy: True/false indicating whether the App - Service Environment is healthy. - :vartype environment_is_healthy: bool - :ivar environment_status: Detailed message about with results of the last - check of the App Service Environment. - :vartype environment_status: str - :ivar resource_group: Resource group of the App Service Environment. - :vartype resource_group: str - :param front_end_scale_factor: Scale factor for front-ends. - :type front_end_scale_factor: int - :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. - :vartype default_front_end_scale_factor: int - :param api_management_account_id: API Management Account associated with - the App Service Environment. - :type api_management_account_id: str - :param suspended: true if the App Service Environment is - suspended; otherwise, false. The environment can be - suspended, e.g. when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type suspended: bool - :param dynamic_cache_enabled: True/false indicating whether the App - Service Environment is suspended. The environment can be suspended e.g. - when the management endpoint is no longer available - (most likely because NSG blocked the incoming traffic). - :type dynamic_cache_enabled: bool - :param cluster_settings: Custom settings for changing the behavior of the - App Service Environment. - :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] - :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on - ASE db - :type user_whitelisted_ip_ranges: list[str] - :param has_linux_workers: Flag that displays whether an ASE has linux - workers or not - :type has_linux_workers: bool - :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment - default SSL certificate - :type ssl_cert_key_vault_id: str - :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App - Service Environment default SSL certificate - :type ssl_cert_key_vault_secret_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'app_service_environment_resource_name': {'required': True}, - 'app_service_environment_resource_location': {'required': True}, - 'provisioning_state': {'readonly': True}, - 'status': {'readonly': True}, - 'virtual_network': {'required': True}, - 'worker_pools': {'required': True}, - 'database_edition': {'readonly': True}, - 'database_service_objective': {'readonly': True}, - 'upgrade_domains': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'last_action': {'readonly': True}, - 'last_action_result': {'readonly': True}, - 'allowed_multi_sizes': {'readonly': True}, - 'allowed_worker_sizes': {'readonly': True}, - 'maximum_number_of_machines': {'readonly': True}, - 'vip_mappings': {'readonly': True}, - 'environment_capacities': {'readonly': True}, - 'environment_is_healthy': {'readonly': True}, - 'environment_status': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'default_front_end_scale_factor': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, - 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, - 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, - 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, - 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, - 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, - 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, - 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, - 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, - 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, - 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, - 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, - 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, - 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, - 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, - 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, - 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, - 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, - 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, - 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, - 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, - 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, - 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, - 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, - 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, - 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, - 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, - 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, - 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, - 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, - 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, - } - - def __init__(self, *, location: str, app_service_environment_resource_name: str, app_service_environment_resource_location: str, virtual_network, worker_pools, kind: str=None, tags=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: - super(AppServiceEnvironmentResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.app_service_environment_resource_name = app_service_environment_resource_name - self.app_service_environment_resource_location = app_service_environment_resource_location - self.provisioning_state = None - self.status = None - self.vnet_name = vnet_name - self.vnet_resource_group_name = vnet_resource_group_name - self.vnet_subnet_name = vnet_subnet_name - self.virtual_network = virtual_network - self.internal_load_balancing_mode = internal_load_balancing_mode - self.multi_size = multi_size - self.multi_role_count = multi_role_count - self.worker_pools = worker_pools - self.ipssl_address_count = ipssl_address_count - self.database_edition = None - self.database_service_objective = None - self.upgrade_domains = None - self.subscription_id = None - self.dns_suffix = dns_suffix - self.last_action = None - self.last_action_result = None - self.allowed_multi_sizes = None - self.allowed_worker_sizes = None - self.maximum_number_of_machines = None - self.vip_mappings = None - self.environment_capacities = None - self.network_access_control_list = network_access_control_list - self.environment_is_healthy = None - self.environment_status = None - self.resource_group = None - self.front_end_scale_factor = front_end_scale_factor - self.default_front_end_scale_factor = None - self.api_management_account_id = api_management_account_id - self.suspended = suspended - self.dynamic_cache_enabled = dynamic_cache_enabled - self.cluster_settings = cluster_settings - self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges - self.has_linux_workers = has_linux_workers - self.ssl_cert_key_vault_id = ssl_cert_key_vault_id - self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan.py deleted file mode 100644 index f0095b3c83b9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan.py +++ /dev/null @@ -1,159 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServicePlan(Resource): - """App Service plan. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param worker_tier_name: Target worker tier assigned to the App Service - plan. - :type worker_tier_name: str - :ivar status: App Service plan status. Possible values include: 'Ready', - 'Pending', 'Creating' - :vartype status: str or ~azure.mgmt.web.models.StatusOptions - :ivar subscription: App Service plan subscription. - :vartype subscription: str - :param hosting_environment_profile: Specification for the App Service - Environment to use for the App Service plan. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :ivar maximum_number_of_workers: Maximum number of instances that can be - assigned to this App Service plan. - :vartype maximum_number_of_workers: int - :ivar geo_region: Geographical location for the App Service plan. - :vartype geo_region: str - :param per_site_scaling: If true, apps assigned to this App - Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale - to all instances of the plan. Default value: False . - :type per_site_scaling: bool - :param maximum_elastic_worker_count: Maximum number of total workers - allowed for this ElasticScaleEnabled App Service Plan - :type maximum_elastic_worker_count: int - :ivar number_of_sites: Number of apps assigned to this App Service plan. - :vartype number_of_sites: int - :param is_spot: If true, this App Service Plan owns spot - instances. - :type is_spot: bool - :param spot_expiration_time: The time when the server farm expires. Valid - only if it is a spot server farm. - :type spot_expiration_time: datetime - :param free_offer_expiration_time: The time when the server farm free - offer expires. - :type free_offer_expiration_time: datetime - :ivar resource_group: Resource group of the App Service plan. - :vartype resource_group: str - :param reserved: If Linux app service plan true, - false otherwise. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: If Hyper-V container app service plan - true, false otherwise. Default value: False . - :type is_xenon: bool - :param hyper_v: If Hyper-V container app service plan true, - false otherwise. Default value: False . - :type hyper_v: bool - :param target_worker_count: Scaling worker count. - :type target_worker_count: int - :param target_worker_size_id: Scaling worker size ID. - :type target_worker_size_id: int - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :param sku: - :type sku: ~azure.mgmt.web.models.SkuDescription - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'subscription': {'readonly': True}, - 'maximum_number_of_workers': {'readonly': True}, - 'geo_region': {'readonly': True}, - 'number_of_sites': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, - 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, - 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, - 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, - 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, - 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, - 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - } - - def __init__(self, **kwargs): - super(AppServicePlan, self).__init__(**kwargs) - self.worker_tier_name = kwargs.get('worker_tier_name', None) - self.status = None - self.subscription = None - self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) - self.maximum_number_of_workers = None - self.geo_region = None - self.per_site_scaling = kwargs.get('per_site_scaling', False) - self.maximum_elastic_worker_count = kwargs.get('maximum_elastic_worker_count', None) - self.number_of_sites = None - self.is_spot = kwargs.get('is_spot', None) - self.spot_expiration_time = kwargs.get('spot_expiration_time', None) - self.free_offer_expiration_time = kwargs.get('free_offer_expiration_time', None) - self.resource_group = None - self.reserved = kwargs.get('reserved', False) - self.is_xenon = kwargs.get('is_xenon', False) - self.hyper_v = kwargs.get('hyper_v', False) - self.target_worker_count = kwargs.get('target_worker_count', None) - self.target_worker_size_id = kwargs.get('target_worker_size_id', None) - self.provisioning_state = None - self.sku = kwargs.get('sku', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_paged.py deleted file mode 100644 index 240de20bf22d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 AppServicePlanPaged(Paged): - """ - A paging container for iterating over a list of :class:`AppServicePlan ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AppServicePlan]'} - } - - def __init__(self, *args, **kwargs): - - super(AppServicePlanPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource.py deleted file mode 100644 index 4ae9d3769c03..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource.py +++ /dev/null @@ -1,146 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AppServicePlanPatchResource(ProxyOnlyResource): - """ARM resource for a app service plan. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param worker_tier_name: Target worker tier assigned to the App Service - plan. - :type worker_tier_name: str - :ivar status: App Service plan status. Possible values include: 'Ready', - 'Pending', 'Creating' - :vartype status: str or ~azure.mgmt.web.models.StatusOptions - :ivar subscription: App Service plan subscription. - :vartype subscription: str - :param hosting_environment_profile: Specification for the App Service - Environment to use for the App Service plan. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :ivar maximum_number_of_workers: Maximum number of instances that can be - assigned to this App Service plan. - :vartype maximum_number_of_workers: int - :ivar geo_region: Geographical location for the App Service plan. - :vartype geo_region: str - :param per_site_scaling: If true, apps assigned to this App - Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale - to all instances of the plan. Default value: False . - :type per_site_scaling: bool - :param maximum_elastic_worker_count: Maximum number of total workers - allowed for this ElasticScaleEnabled App Service Plan - :type maximum_elastic_worker_count: int - :ivar number_of_sites: Number of apps assigned to this App Service plan. - :vartype number_of_sites: int - :param is_spot: If true, this App Service Plan owns spot - instances. - :type is_spot: bool - :param spot_expiration_time: The time when the server farm expires. Valid - only if it is a spot server farm. - :type spot_expiration_time: datetime - :param free_offer_expiration_time: The time when the server farm free - offer expires. - :type free_offer_expiration_time: datetime - :ivar resource_group: Resource group of the App Service plan. - :vartype resource_group: str - :param reserved: If Linux app service plan true, - false otherwise. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: If Hyper-V container app service plan - true, false otherwise. Default value: False . - :type is_xenon: bool - :param hyper_v: If Hyper-V container app service plan true, - false otherwise. Default value: False . - :type hyper_v: bool - :param target_worker_count: Scaling worker count. - :type target_worker_count: int - :param target_worker_size_id: Scaling worker size ID. - :type target_worker_size_id: int - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'subscription': {'readonly': True}, - 'maximum_number_of_workers': {'readonly': True}, - 'geo_region': {'readonly': True}, - 'number_of_sites': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, - 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, - 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, - 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, - 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, - 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, - 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - } - - def __init__(self, **kwargs): - super(AppServicePlanPatchResource, self).__init__(**kwargs) - self.worker_tier_name = kwargs.get('worker_tier_name', None) - self.status = None - self.subscription = None - self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) - self.maximum_number_of_workers = None - self.geo_region = None - self.per_site_scaling = kwargs.get('per_site_scaling', False) - self.maximum_elastic_worker_count = kwargs.get('maximum_elastic_worker_count', None) - self.number_of_sites = None - self.is_spot = kwargs.get('is_spot', None) - self.spot_expiration_time = kwargs.get('spot_expiration_time', None) - self.free_offer_expiration_time = kwargs.get('free_offer_expiration_time', None) - self.resource_group = None - self.reserved = kwargs.get('reserved', False) - self.is_xenon = kwargs.get('is_xenon', False) - self.hyper_v = kwargs.get('hyper_v', False) - self.target_worker_count = kwargs.get('target_worker_count', None) - self.target_worker_size_id = kwargs.get('target_worker_size_id', None) - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource_py3.py deleted file mode 100644 index 626784de7625..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_patch_resource_py3.py +++ /dev/null @@ -1,146 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AppServicePlanPatchResource(ProxyOnlyResource): - """ARM resource for a app service plan. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param worker_tier_name: Target worker tier assigned to the App Service - plan. - :type worker_tier_name: str - :ivar status: App Service plan status. Possible values include: 'Ready', - 'Pending', 'Creating' - :vartype status: str or ~azure.mgmt.web.models.StatusOptions - :ivar subscription: App Service plan subscription. - :vartype subscription: str - :param hosting_environment_profile: Specification for the App Service - Environment to use for the App Service plan. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :ivar maximum_number_of_workers: Maximum number of instances that can be - assigned to this App Service plan. - :vartype maximum_number_of_workers: int - :ivar geo_region: Geographical location for the App Service plan. - :vartype geo_region: str - :param per_site_scaling: If true, apps assigned to this App - Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale - to all instances of the plan. Default value: False . - :type per_site_scaling: bool - :param maximum_elastic_worker_count: Maximum number of total workers - allowed for this ElasticScaleEnabled App Service Plan - :type maximum_elastic_worker_count: int - :ivar number_of_sites: Number of apps assigned to this App Service plan. - :vartype number_of_sites: int - :param is_spot: If true, this App Service Plan owns spot - instances. - :type is_spot: bool - :param spot_expiration_time: The time when the server farm expires. Valid - only if it is a spot server farm. - :type spot_expiration_time: datetime - :param free_offer_expiration_time: The time when the server farm free - offer expires. - :type free_offer_expiration_time: datetime - :ivar resource_group: Resource group of the App Service plan. - :vartype resource_group: str - :param reserved: If Linux app service plan true, - false otherwise. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: If Hyper-V container app service plan - true, false otherwise. Default value: False . - :type is_xenon: bool - :param hyper_v: If Hyper-V container app service plan true, - false otherwise. Default value: False . - :type hyper_v: bool - :param target_worker_count: Scaling worker count. - :type target_worker_count: int - :param target_worker_size_id: Scaling worker size ID. - :type target_worker_size_id: int - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'subscription': {'readonly': True}, - 'maximum_number_of_workers': {'readonly': True}, - 'geo_region': {'readonly': True}, - 'number_of_sites': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, - 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, - 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, - 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, - 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, - 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, - 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - } - - def __init__(self, *, kind: str=None, worker_tier_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, maximum_elastic_worker_count: int=None, is_spot: bool=None, spot_expiration_time=None, free_offer_expiration_time=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, **kwargs) -> None: - super(AppServicePlanPatchResource, self).__init__(kind=kind, **kwargs) - self.worker_tier_name = worker_tier_name - self.status = None - self.subscription = None - self.hosting_environment_profile = hosting_environment_profile - self.maximum_number_of_workers = None - self.geo_region = None - self.per_site_scaling = per_site_scaling - self.maximum_elastic_worker_count = maximum_elastic_worker_count - self.number_of_sites = None - self.is_spot = is_spot - self.spot_expiration_time = spot_expiration_time - self.free_offer_expiration_time = free_offer_expiration_time - self.resource_group = None - self.reserved = reserved - self.is_xenon = is_xenon - self.hyper_v = hyper_v - self.target_worker_count = target_worker_count - self.target_worker_size_id = target_worker_size_id - self.provisioning_state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_py3.py deleted file mode 100644 index 5f6f9176cf20..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_plan_py3.py +++ /dev/null @@ -1,159 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 AppServicePlan(Resource): - """App Service plan. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param worker_tier_name: Target worker tier assigned to the App Service - plan. - :type worker_tier_name: str - :ivar status: App Service plan status. Possible values include: 'Ready', - 'Pending', 'Creating' - :vartype status: str or ~azure.mgmt.web.models.StatusOptions - :ivar subscription: App Service plan subscription. - :vartype subscription: str - :param hosting_environment_profile: Specification for the App Service - Environment to use for the App Service plan. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :ivar maximum_number_of_workers: Maximum number of instances that can be - assigned to this App Service plan. - :vartype maximum_number_of_workers: int - :ivar geo_region: Geographical location for the App Service plan. - :vartype geo_region: str - :param per_site_scaling: If true, apps assigned to this App - Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale - to all instances of the plan. Default value: False . - :type per_site_scaling: bool - :param maximum_elastic_worker_count: Maximum number of total workers - allowed for this ElasticScaleEnabled App Service Plan - :type maximum_elastic_worker_count: int - :ivar number_of_sites: Number of apps assigned to this App Service plan. - :vartype number_of_sites: int - :param is_spot: If true, this App Service Plan owns spot - instances. - :type is_spot: bool - :param spot_expiration_time: The time when the server farm expires. Valid - only if it is a spot server farm. - :type spot_expiration_time: datetime - :param free_offer_expiration_time: The time when the server farm free - offer expires. - :type free_offer_expiration_time: datetime - :ivar resource_group: Resource group of the App Service plan. - :vartype resource_group: str - :param reserved: If Linux app service plan true, - false otherwise. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: If Hyper-V container app service plan - true, false otherwise. Default value: False . - :type is_xenon: bool - :param hyper_v: If Hyper-V container app service plan true, - false otherwise. Default value: False . - :type hyper_v: bool - :param target_worker_count: Scaling worker count. - :type target_worker_count: int - :param target_worker_size_id: Scaling worker size ID. - :type target_worker_size_id: int - :ivar provisioning_state: Provisioning state of the App Service - Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', - 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :param sku: - :type sku: ~azure.mgmt.web.models.SkuDescription - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'status': {'readonly': True}, - 'subscription': {'readonly': True}, - 'maximum_number_of_workers': {'readonly': True}, - 'geo_region': {'readonly': True}, - 'number_of_sites': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, - 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, - 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, - 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, - 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, - 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, - 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - } - - def __init__(self, *, location: str, kind: str=None, tags=None, worker_tier_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, maximum_elastic_worker_count: int=None, is_spot: bool=None, spot_expiration_time=None, free_offer_expiration_time=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: - super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.worker_tier_name = worker_tier_name - self.status = None - self.subscription = None - self.hosting_environment_profile = hosting_environment_profile - self.maximum_number_of_workers = None - self.geo_region = None - self.per_site_scaling = per_site_scaling - self.maximum_elastic_worker_count = maximum_elastic_worker_count - self.number_of_sites = None - self.is_spot = is_spot - self.spot_expiration_time = spot_expiration_time - self.free_offer_expiration_time = free_offer_expiration_time - self.resource_group = None - self.reserved = reserved - self.is_xenon = is_xenon - self.hyper_v = hyper_v - self.target_worker_count = target_worker_count - self.target_worker_size_id = target_worker_size_id - self.provisioning_state = None - self.sku = sku diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config.py deleted file mode 100644 index d6a74fa876db..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationLogsConfig(Model): - """Application logs configuration. - - :param file_system: Application logs to file system configuration. - :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig - :param azure_table_storage: Application logs to azure table storage - configuration. - :type azure_table_storage: - ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig - :param azure_blob_storage: Application logs to blob storage configuration. - :type azure_blob_storage: - ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig - """ - - _attribute_map = { - 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, - 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, - 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, - } - - def __init__(self, **kwargs): - super(ApplicationLogsConfig, self).__init__(**kwargs) - self.file_system = kwargs.get('file_system', None) - self.azure_table_storage = kwargs.get('azure_table_storage', None) - self.azure_blob_storage = kwargs.get('azure_blob_storage', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config_py3.py deleted file mode 100644 index a548ed73ad7c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_logs_config_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationLogsConfig(Model): - """Application logs configuration. - - :param file_system: Application logs to file system configuration. - :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig - :param azure_table_storage: Application logs to azure table storage - configuration. - :type azure_table_storage: - ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig - :param azure_blob_storage: Application logs to blob storage configuration. - :type azure_blob_storage: - ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig - """ - - _attribute_map = { - 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, - 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, - 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, - } - - def __init__(self, *, file_system=None, azure_table_storage=None, azure_blob_storage=None, **kwargs) -> None: - super(ApplicationLogsConfig, self).__init__(**kwargs) - self.file_system = file_system - self.azure_table_storage = azure_table_storage - self.azure_blob_storage = azure_blob_storage diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack.py deleted file mode 100644 index 5611a8e82717..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationStack(Model): - """Application stack. - - :param name: Application stack name. - :type name: str - :param display: Application stack display name. - :type display: str - :param dependency: Application stack dependency. - :type dependency: str - :param major_versions: List of major versions available. - :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] - :param frameworks: List of frameworks associated with application stack. - :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'str'}, - 'dependency': {'key': 'dependency', 'type': 'str'}, - 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, - 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, - } - - def __init__(self, **kwargs): - super(ApplicationStack, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.dependency = kwargs.get('dependency', None) - self.major_versions = kwargs.get('major_versions', None) - self.frameworks = kwargs.get('frameworks', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_paged.py deleted file mode 100644 index 6292afd01b7c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ApplicationStackPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApplicationStack ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApplicationStack]'} - } - - def __init__(self, *args, **kwargs): - - super(ApplicationStackPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_py3.py deleted file mode 100644 index 38aac1d8aa47..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/application_stack_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ApplicationStack(Model): - """Application stack. - - :param name: Application stack name. - :type name: str - :param display: Application stack display name. - :type display: str - :param dependency: Application stack dependency. - :type dependency: str - :param major_versions: List of major versions available. - :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] - :param frameworks: List of frameworks associated with application stack. - :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'str'}, - 'dependency': {'key': 'dependency', 'type': 'str'}, - 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, - 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, - } - - def __init__(self, *, name: str=None, display: str=None, dependency: str=None, major_versions=None, frameworks=None, **kwargs) -> None: - super(ApplicationStack, self).__init__(**kwargs) - self.name = name - self.display = display - self.dependency = dependency - self.major_versions = major_versions - self.frameworks = frameworks diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions.py deleted file mode 100644 index 01626a1790e4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealActions(Model): - """Actions which to take by the auto-heal module when a rule is triggered. - - :param action_type: Predefined action to be taken. Possible values - include: 'Recycle', 'LogEvent', 'CustomAction' - :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType - :param custom_action: Custom action to be taken. - :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction - :param min_process_execution_time: Minimum time the process must execute - before taking the action - :type min_process_execution_time: str - """ - - _attribute_map = { - 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, - 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, - 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AutoHealActions, self).__init__(**kwargs) - self.action_type = kwargs.get('action_type', None) - self.custom_action = kwargs.get('custom_action', None) - self.min_process_execution_time = kwargs.get('min_process_execution_time', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions_py3.py deleted file mode 100644 index c02ab3fea6f9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_actions_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealActions(Model): - """Actions which to take by the auto-heal module when a rule is triggered. - - :param action_type: Predefined action to be taken. Possible values - include: 'Recycle', 'LogEvent', 'CustomAction' - :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType - :param custom_action: Custom action to be taken. - :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction - :param min_process_execution_time: Minimum time the process must execute - before taking the action - :type min_process_execution_time: str - """ - - _attribute_map = { - 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, - 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, - 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, - } - - def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: - super(AutoHealActions, self).__init__(**kwargs) - self.action_type = action_type - self.custom_action = custom_action - self.min_process_execution_time = min_process_execution_time diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action.py deleted file mode 100644 index d034dc301007..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealCustomAction(Model): - """Custom action to be executed - when an auto heal rule is triggered. - - :param exe: Executable to be run. - :type exe: str - :param parameters: Parameters for the executable. - :type parameters: str - """ - - _attribute_map = { - 'exe': {'key': 'exe', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AutoHealCustomAction, self).__init__(**kwargs) - self.exe = kwargs.get('exe', None) - self.parameters = kwargs.get('parameters', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action_py3.py deleted file mode 100644 index bd1f4208adb2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_custom_action_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealCustomAction(Model): - """Custom action to be executed - when an auto heal rule is triggered. - - :param exe: Executable to be run. - :type exe: str - :param parameters: Parameters for the executable. - :type parameters: str - """ - - _attribute_map = { - 'exe': {'key': 'exe', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': 'str'}, - } - - def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: - super(AutoHealCustomAction, self).__init__(**kwargs) - self.exe = exe - self.parameters = parameters diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules.py deleted file mode 100644 index 0c751d639275..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealRules(Model): - """Rules that can be defined for auto-heal. - - :param triggers: Conditions that describe when to execute the auto-heal - actions. - :type triggers: ~azure.mgmt.web.models.AutoHealTriggers - :param actions: Actions to be executed when a rule is triggered. - :type actions: ~azure.mgmt.web.models.AutoHealActions - """ - - _attribute_map = { - 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, - 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, - } - - def __init__(self, **kwargs): - super(AutoHealRules, self).__init__(**kwargs) - self.triggers = kwargs.get('triggers', None) - self.actions = kwargs.get('actions', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules_py3.py deleted file mode 100644 index 38fe260c3d88..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_rules_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealRules(Model): - """Rules that can be defined for auto-heal. - - :param triggers: Conditions that describe when to execute the auto-heal - actions. - :type triggers: ~azure.mgmt.web.models.AutoHealTriggers - :param actions: Actions to be executed when a rule is triggered. - :type actions: ~azure.mgmt.web.models.AutoHealActions - """ - - _attribute_map = { - 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, - 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, - } - - def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: - super(AutoHealRules, self).__init__(**kwargs) - self.triggers = triggers - self.actions = actions diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers.py deleted file mode 100644 index 6e86339d57eb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealTriggers(Model): - """Triggers for auto-heal. - - :param requests: A rule based on total requests. - :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger - :param private_bytes_in_kb: A rule based on private bytes. - :type private_bytes_in_kb: int - :param status_codes: A rule based on status codes. - :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] - :param slow_requests: A rule based on request execution time. - :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger - """ - - _attribute_map = { - 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, - 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, - 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, - 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, - } - - def __init__(self, **kwargs): - super(AutoHealTriggers, self).__init__(**kwargs) - self.requests = kwargs.get('requests', None) - self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) - self.status_codes = kwargs.get('status_codes', None) - self.slow_requests = kwargs.get('slow_requests', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers_py3.py deleted file mode 100644 index 59947d2fc4b3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/auto_heal_triggers_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AutoHealTriggers(Model): - """Triggers for auto-heal. - - :param requests: A rule based on total requests. - :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger - :param private_bytes_in_kb: A rule based on private bytes. - :type private_bytes_in_kb: int - :param status_codes: A rule based on status codes. - :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] - :param slow_requests: A rule based on request execution time. - :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger - """ - - _attribute_map = { - 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, - 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, - 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, - 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, - } - - def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: - super(AutoHealTriggers, self).__init__(**kwargs) - self.requests = requests - self.private_bytes_in_kb = private_bytes_in_kb - self.status_codes = status_codes - self.slow_requests = slow_requests diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config.py deleted file mode 100644 index f159f61ec92d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureBlobStorageApplicationLogsConfig(Model): - """Application logs azure blob storage configuration. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error' - :type level: str or ~azure.mgmt.web.models.LogLevel - :param sas_url: SAS url to a azure blob container with - read/write/list/delete permissions. - :type sas_url: str - :param retention_in_days: Retention in days. - Remove blobs older than X days. - 0 or lower means no retention. - :type retention_in_days: int - """ - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) - self.level = kwargs.get('level', None) - self.sas_url = kwargs.get('sas_url', None) - self.retention_in_days = kwargs.get('retention_in_days', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config_py3.py deleted file mode 100644 index 9d8ec9a8d181..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_application_logs_config_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureBlobStorageApplicationLogsConfig(Model): - """Application logs azure blob storage configuration. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error' - :type level: str or ~azure.mgmt.web.models.LogLevel - :param sas_url: SAS url to a azure blob container with - read/write/list/delete permissions. - :type sas_url: str - :param retention_in_days: Retention in days. - Remove blobs older than X days. - 0 or lower means no retention. - :type retention_in_days: int - """ - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - } - - def __init__(self, *, level=None, sas_url: str=None, retention_in_days: int=None, **kwargs) -> None: - super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) - self.level = level - self.sas_url = sas_url - self.retention_in_days = retention_in_days diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config.py deleted file mode 100644 index 23b4be2198f2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureBlobStorageHttpLogsConfig(Model): - """Http logs to azure blob storage configuration. - - :param sas_url: SAS url to a azure blob container with - read/write/list/delete permissions. - :type sas_url: str - :param retention_in_days: Retention in days. - Remove blobs older than X days. - 0 or lower means no retention. - :type retention_in_days: int - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) - self.sas_url = kwargs.get('sas_url', None) - self.retention_in_days = kwargs.get('retention_in_days', None) - self.enabled = kwargs.get('enabled', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config_py3.py deleted file mode 100644 index 92ceaa1208a6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_blob_storage_http_logs_config_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureBlobStorageHttpLogsConfig(Model): - """Http logs to azure blob storage configuration. - - :param sas_url: SAS url to a azure blob container with - read/write/list/delete permissions. - :type sas_url: str - :param retention_in_days: Retention in days. - Remove blobs older than X days. - 0 or lower means no retention. - :type retention_in_days: int - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _attribute_map = { - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, sas_url: str=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: - super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) - self.sas_url = sas_url - self.retention_in_days = retention_in_days - self.enabled = enabled diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value.py deleted file mode 100644 index 82f36284d597..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureStorageInfoValue(Model): - """Azure Files or Blob Storage access information value for dictionary - storage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param type: Type of storage. Possible values include: 'AzureFiles', - 'AzureBlob' - :type type: str or ~azure.mgmt.web.models.AzureStorageType - :param account_name: Name of the storage account. - :type account_name: str - :param share_name: Name of the file share (container name, for Blob - storage). - :type share_name: str - :param access_key: Access key for the storage account. - :type access_key: str - :param mount_path: Path to mount the storage within the site's runtime - environment. - :type mount_path: str - :ivar state: State of the storage account. Possible values include: 'Ok', - 'InvalidCredentials', 'InvalidShare' - :vartype state: str or ~azure.mgmt.web.models.AzureStorageState - """ - - _validation = { - 'state': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'AzureStorageType'}, - 'account_name': {'key': 'accountName', 'type': 'str'}, - 'share_name': {'key': 'shareName', 'type': 'str'}, - 'access_key': {'key': 'accessKey', 'type': 'str'}, - 'mount_path': {'key': 'mountPath', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'AzureStorageState'}, - } - - def __init__(self, **kwargs): - super(AzureStorageInfoValue, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - self.account_name = kwargs.get('account_name', None) - self.share_name = kwargs.get('share_name', None) - self.access_key = kwargs.get('access_key', None) - self.mount_path = kwargs.get('mount_path', None) - self.state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value_py3.py deleted file mode 100644 index dfe58a7bbf0e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_info_value_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureStorageInfoValue(Model): - """Azure Files or Blob Storage access information value for dictionary - storage. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param type: Type of storage. Possible values include: 'AzureFiles', - 'AzureBlob' - :type type: str or ~azure.mgmt.web.models.AzureStorageType - :param account_name: Name of the storage account. - :type account_name: str - :param share_name: Name of the file share (container name, for Blob - storage). - :type share_name: str - :param access_key: Access key for the storage account. - :type access_key: str - :param mount_path: Path to mount the storage within the site's runtime - environment. - :type mount_path: str - :ivar state: State of the storage account. Possible values include: 'Ok', - 'InvalidCredentials', 'InvalidShare' - :vartype state: str or ~azure.mgmt.web.models.AzureStorageState - """ - - _validation = { - 'state': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'AzureStorageType'}, - 'account_name': {'key': 'accountName', 'type': 'str'}, - 'share_name': {'key': 'shareName', 'type': 'str'}, - 'access_key': {'key': 'accessKey', 'type': 'str'}, - 'mount_path': {'key': 'mountPath', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'AzureStorageState'}, - } - - def __init__(self, *, type=None, account_name: str=None, share_name: str=None, access_key: str=None, mount_path: str=None, **kwargs) -> None: - super(AzureStorageInfoValue, self).__init__(**kwargs) - self.type = type - self.account_name = account_name - self.share_name = share_name - self.access_key = access_key - self.mount_path = mount_path - self.state = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource.py deleted file mode 100644 index c3b0153b8d54..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class AzureStoragePropertyDictionaryResource(ProxyOnlyResource): - """AzureStorageInfo dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Azure storage accounts. - :type properties: dict[str, ~azure.mgmt.web.models.AzureStorageInfoValue] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{AzureStorageInfoValue}'}, - } - - def __init__(self, **kwargs): - super(AzureStoragePropertyDictionaryResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource_py3.py deleted file mode 100644 index d00f95cb753f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_storage_property_dictionary_resource_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class AzureStoragePropertyDictionaryResource(ProxyOnlyResource): - """AzureStorageInfo dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Azure storage accounts. - :type properties: dict[str, ~azure.mgmt.web.models.AzureStorageInfoValue] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{AzureStorageInfoValue}'}, - } - - def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: - super(AzureStoragePropertyDictionaryResource, self).__init__(kind=kind, **kwargs) - self.properties = properties diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config.py deleted file mode 100644 index 0586a88e2334..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureTableStorageApplicationLogsConfig(Model): - """Application logs to Azure table storage configuration. - - All required parameters must be populated in order to send to Azure. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error' - :type level: str or ~azure.mgmt.web.models.LogLevel - :param sas_url: Required. SAS URL to an Azure table with add/query/delete - permissions. - :type sas_url: str - """ - - _validation = { - 'sas_url': {'required': True}, - } - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) - self.level = kwargs.get('level', None) - self.sas_url = kwargs.get('sas_url', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config_py3.py deleted file mode 100644 index 5ebf91d3de72..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/azure_table_storage_application_logs_config_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class AzureTableStorageApplicationLogsConfig(Model): - """Application logs to Azure table storage configuration. - - All required parameters must be populated in order to send to Azure. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error' - :type level: str or ~azure.mgmt.web.models.LogLevel - :param sas_url: Required. SAS URL to an Azure table with add/query/delete - permissions. - :type sas_url: str - """ - - _validation = { - 'sas_url': {'required': True}, - } - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - 'sas_url': {'key': 'sasUrl', 'type': 'str'}, - } - - def __init__(self, *, sas_url: str, level=None, **kwargs) -> None: - super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) - self.level = level - self.sas_url = sas_url diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item.py deleted file mode 100644 index 0ad7297687cb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item.py +++ /dev/null @@ -1,122 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class BackupItem(ProxyOnlyResource): - """Backup description. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar backup_id: Id of the backup. - :vartype backup_id: int - :ivar storage_account_url: SAS URL for the storage account container which - contains this backup. - :vartype storage_account_url: str - :ivar blob_name: Name of the blob which contains data for this backup. - :vartype blob_name: str - :ivar backup_item_name: Name of this backup. - :vartype backup_item_name: str - :ivar status: Backup status. Possible values include: 'InProgress', - 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', - 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' - :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus - :ivar size_in_bytes: Size of the backup in bytes. - :vartype size_in_bytes: long - :ivar created: Timestamp of the backup creation. - :vartype created: datetime - :ivar log: Details regarding this backup. Might contain an error message. - :vartype log: str - :ivar databases: List of databases included in the backup. - :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - :ivar scheduled: True if this backup has been created due to a schedule - being triggered. - :vartype scheduled: bool - :ivar last_restore_time_stamp: Timestamp of a last restore operation which - used this backup. - :vartype last_restore_time_stamp: datetime - :ivar finished_time_stamp: Timestamp when this backup finished. - :vartype finished_time_stamp: datetime - :ivar correlation_id: Unique correlation identifier. Please use this along - with the timestamp while communicating with Azure support. - :vartype correlation_id: str - :ivar website_size_in_bytes: Size of the original web app which has been - backed up. - :vartype website_size_in_bytes: long - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'backup_id': {'readonly': True}, - 'storage_account_url': {'readonly': True}, - 'blob_name': {'readonly': True}, - 'backup_item_name': {'readonly': True}, - 'status': {'readonly': True}, - 'size_in_bytes': {'readonly': True}, - 'created': {'readonly': True}, - 'log': {'readonly': True}, - 'databases': {'readonly': True}, - 'scheduled': {'readonly': True}, - 'last_restore_time_stamp': {'readonly': True}, - 'finished_time_stamp': {'readonly': True}, - 'correlation_id': {'readonly': True}, - 'website_size_in_bytes': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'backup_id': {'key': 'properties.id', 'type': 'int'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, - 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, - 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, - 'created': {'key': 'properties.created', 'type': 'iso-8601'}, - 'log': {'key': 'properties.log', 'type': 'str'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, - 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, - 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, - 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, - 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(BackupItem, self).__init__(**kwargs) - self.backup_id = None - self.storage_account_url = None - self.blob_name = None - self.backup_item_name = None - self.status = None - self.size_in_bytes = None - self.created = None - self.log = None - self.databases = None - self.scheduled = None - self.last_restore_time_stamp = None - self.finished_time_stamp = None - self.correlation_id = None - self.website_size_in_bytes = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_paged.py deleted file mode 100644 index 1530489f5d56..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 BackupItemPaged(Paged): - """ - A paging container for iterating over a list of :class:`BackupItem ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BackupItem]'} - } - - def __init__(self, *args, **kwargs): - - super(BackupItemPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_py3.py deleted file mode 100644 index 24d6406bef80..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_item_py3.py +++ /dev/null @@ -1,122 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class BackupItem(ProxyOnlyResource): - """Backup description. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar backup_id: Id of the backup. - :vartype backup_id: int - :ivar storage_account_url: SAS URL for the storage account container which - contains this backup. - :vartype storage_account_url: str - :ivar blob_name: Name of the blob which contains data for this backup. - :vartype blob_name: str - :ivar backup_item_name: Name of this backup. - :vartype backup_item_name: str - :ivar status: Backup status. Possible values include: 'InProgress', - 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', - 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' - :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus - :ivar size_in_bytes: Size of the backup in bytes. - :vartype size_in_bytes: long - :ivar created: Timestamp of the backup creation. - :vartype created: datetime - :ivar log: Details regarding this backup. Might contain an error message. - :vartype log: str - :ivar databases: List of databases included in the backup. - :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - :ivar scheduled: True if this backup has been created due to a schedule - being triggered. - :vartype scheduled: bool - :ivar last_restore_time_stamp: Timestamp of a last restore operation which - used this backup. - :vartype last_restore_time_stamp: datetime - :ivar finished_time_stamp: Timestamp when this backup finished. - :vartype finished_time_stamp: datetime - :ivar correlation_id: Unique correlation identifier. Please use this along - with the timestamp while communicating with Azure support. - :vartype correlation_id: str - :ivar website_size_in_bytes: Size of the original web app which has been - backed up. - :vartype website_size_in_bytes: long - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'backup_id': {'readonly': True}, - 'storage_account_url': {'readonly': True}, - 'blob_name': {'readonly': True}, - 'backup_item_name': {'readonly': True}, - 'status': {'readonly': True}, - 'size_in_bytes': {'readonly': True}, - 'created': {'readonly': True}, - 'log': {'readonly': True}, - 'databases': {'readonly': True}, - 'scheduled': {'readonly': True}, - 'last_restore_time_stamp': {'readonly': True}, - 'finished_time_stamp': {'readonly': True}, - 'correlation_id': {'readonly': True}, - 'website_size_in_bytes': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'backup_id': {'key': 'properties.id', 'type': 'int'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, - 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, - 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, - 'created': {'key': 'properties.created', 'type': 'iso-8601'}, - 'log': {'key': 'properties.log', 'type': 'str'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, - 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, - 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, - 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, - 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(BackupItem, self).__init__(kind=kind, **kwargs) - self.backup_id = None - self.storage_account_url = None - self.blob_name = None - self.backup_item_name = None - self.status = None - self.size_in_bytes = None - self.created = None - self.log = None - self.databases = None - self.scheduled = None - self.last_restore_time_stamp = None - self.finished_time_stamp = None - self.correlation_id = None - self.website_size_in_bytes = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request.py deleted file mode 100644 index 496fc5bd9251..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class BackupRequest(ProxyOnlyResource): - """Description of a backup which will be performed. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param backup_name: Name of the backup. - :type backup_name: str - :param enabled: True if the backup schedule is enabled (must be included - in that case), false if the backup schedule should be disabled. - :type enabled: bool - :param storage_account_url: Required. SAS URL to the container. - :type storage_account_url: str - :param backup_schedule: Schedule for the backup if it is executed - periodically. - :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule - :param databases: Databases included in the backup. - :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'storage_account_url': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'backup_name': {'key': 'properties.backupName', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - } - - def __init__(self, **kwargs): - super(BackupRequest, self).__init__(**kwargs) - self.backup_name = kwargs.get('backup_name', None) - self.enabled = kwargs.get('enabled', None) - self.storage_account_url = kwargs.get('storage_account_url', None) - self.backup_schedule = kwargs.get('backup_schedule', None) - self.databases = kwargs.get('databases', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request_py3.py deleted file mode 100644 index 9eaad232bb94..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_request_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class BackupRequest(ProxyOnlyResource): - """Description of a backup which will be performed. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param backup_name: Name of the backup. - :type backup_name: str - :param enabled: True if the backup schedule is enabled (must be included - in that case), false if the backup schedule should be disabled. - :type enabled: bool - :param storage_account_url: Required. SAS URL to the container. - :type storage_account_url: str - :param backup_schedule: Schedule for the backup if it is executed - periodically. - :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule - :param databases: Databases included in the backup. - :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'storage_account_url': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'backup_name': {'key': 'properties.backupName', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - } - - def __init__(self, *, storage_account_url: str, kind: str=None, backup_name: str=None, enabled: bool=None, backup_schedule=None, databases=None, **kwargs) -> None: - super(BackupRequest, self).__init__(kind=kind, **kwargs) - self.backup_name = backup_name - self.enabled = enabled - self.storage_account_url = storage_account_url - self.backup_schedule = backup_schedule - self.databases = databases diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule.py deleted file mode 100644 index 12cda3fe6bc1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackupSchedule(Model): - """Description of a backup schedule. Describes how often should be the backup - performed and what should be the retention policy. - - 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 frequency_interval: Required. How often the backup should be - executed (e.g. for weekly backup, this should be set to 7 and - FrequencyUnit should be set to Day). Default value: 7 . - :type frequency_interval: int - :param frequency_unit: Required. The unit of time for how often the backup - should be executed (e.g. for weekly backup, this should be set to Day and - FrequencyInterval should be set to 7). Possible values include: 'Day', - 'Hour'. Default value: "Day" . - :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit - :param keep_at_least_one_backup: Required. True if the retention policy - should always keep at least one backup in the storage account, regardless - how old it is; false otherwise. Default value: True . - :type keep_at_least_one_backup: bool - :param retention_period_in_days: Required. After how many days backups - should be deleted. Default value: 30 . - :type retention_period_in_days: int - :param start_time: When the schedule should start working. - :type start_time: datetime - :ivar last_execution_time: Last time when this schedule was triggered. - :vartype last_execution_time: datetime - """ - - _validation = { - 'frequency_interval': {'required': True}, - 'frequency_unit': {'required': True}, - 'keep_at_least_one_backup': {'required': True}, - 'retention_period_in_days': {'required': True}, - 'last_execution_time': {'readonly': True}, - } - - _attribute_map = { - 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, - 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, - 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, - 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(BackupSchedule, self).__init__(**kwargs) - self.frequency_interval = kwargs.get('frequency_interval', 7) - self.frequency_unit = kwargs.get('frequency_unit', "Day") - self.keep_at_least_one_backup = kwargs.get('keep_at_least_one_backup', True) - self.retention_period_in_days = kwargs.get('retention_period_in_days', 30) - self.start_time = kwargs.get('start_time', None) - self.last_execution_time = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule_py3.py deleted file mode 100644 index 4b8b0d39d163..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/backup_schedule_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class BackupSchedule(Model): - """Description of a backup schedule. Describes how often should be the backup - performed and what should be the retention policy. - - 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 frequency_interval: Required. How often the backup should be - executed (e.g. for weekly backup, this should be set to 7 and - FrequencyUnit should be set to Day). Default value: 7 . - :type frequency_interval: int - :param frequency_unit: Required. The unit of time for how often the backup - should be executed (e.g. for weekly backup, this should be set to Day and - FrequencyInterval should be set to 7). Possible values include: 'Day', - 'Hour'. Default value: "Day" . - :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit - :param keep_at_least_one_backup: Required. True if the retention policy - should always keep at least one backup in the storage account, regardless - how old it is; false otherwise. Default value: True . - :type keep_at_least_one_backup: bool - :param retention_period_in_days: Required. After how many days backups - should be deleted. Default value: 30 . - :type retention_period_in_days: int - :param start_time: When the schedule should start working. - :type start_time: datetime - :ivar last_execution_time: Last time when this schedule was triggered. - :vartype last_execution_time: datetime - """ - - _validation = { - 'frequency_interval': {'required': True}, - 'frequency_unit': {'required': True}, - 'keep_at_least_one_backup': {'required': True}, - 'retention_period_in_days': {'required': True}, - 'last_execution_time': {'readonly': True}, - } - - _attribute_map = { - 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, - 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, - 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, - 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, frequency_interval: int=7, frequency_unit="Day", keep_at_least_one_backup: bool=True, retention_period_in_days: int=30, start_time=None, **kwargs) -> None: - super(BackupSchedule, self).__init__(**kwargs) - self.frequency_interval = frequency_interval - self.frequency_unit = frequency_unit - self.keep_at_least_one_backup = keep_at_least_one_backup - self.retention_period_in_days = retention_period_in_days - self.start_time = start_time - self.last_execution_time = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter.py deleted file mode 100644 index 580c168f394a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class BillingMeter(ProxyOnlyResource): - """App Service billing entity that contains information about meter which the - Azure billing system utilizes to charge users for services. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param meter_id: Meter GUID onboarded in Commerce - :type meter_id: str - :param billing_location: Azure Location of billable resource - :type billing_location: str - :param short_name: Short Name from App Service Azure pricing Page - :type short_name: str - :param friendly_name: Friendly name of the meter - :type friendly_name: str - :param resource_type: App Service ResourceType meter used for - :type resource_type: str - :param os_type: App Service OS type meter used for - :type os_type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, - 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, - 'short_name': {'key': 'properties.shortName', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(BillingMeter, self).__init__(**kwargs) - self.meter_id = kwargs.get('meter_id', None) - self.billing_location = kwargs.get('billing_location', None) - self.short_name = kwargs.get('short_name', None) - self.friendly_name = kwargs.get('friendly_name', None) - self.resource_type = kwargs.get('resource_type', None) - self.os_type = kwargs.get('os_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_paged.py deleted file mode 100644 index cb7b9103b59d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 BillingMeterPaged(Paged): - """ - A paging container for iterating over a list of :class:`BillingMeter ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[BillingMeter]'} - } - - def __init__(self, *args, **kwargs): - - super(BillingMeterPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_py3.py deleted file mode 100644 index 4d44fbd9f2df..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/billing_meter_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class BillingMeter(ProxyOnlyResource): - """App Service billing entity that contains information about meter which the - Azure billing system utilizes to charge users for services. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param meter_id: Meter GUID onboarded in Commerce - :type meter_id: str - :param billing_location: Azure Location of billable resource - :type billing_location: str - :param short_name: Short Name from App Service Azure pricing Page - :type short_name: str - :param friendly_name: Friendly name of the meter - :type friendly_name: str - :param resource_type: App Service ResourceType meter used for - :type resource_type: str - :param os_type: App Service OS type meter used for - :type os_type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, - 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, - 'short_name': {'key': 'properties.shortName', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, meter_id: str=None, billing_location: str=None, short_name: str=None, friendly_name: str=None, resource_type: str=None, os_type: str=None, **kwargs) -> None: - super(BillingMeter, self).__init__(kind=kind, **kwargs) - self.meter_id = meter_id - self.billing_location = billing_location - self.short_name = short_name - self.friendly_name = friendly_name - self.resource_type = resource_type - self.os_type = os_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability.py deleted file mode 100644 index 798ed866cbcf..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Capability(Model): - """Describes the capabilities/features allowed for a specific SKU. - - :param name: Name of the SKU capability. - :type name: str - :param value: Value of the SKU capability. - :type value: str - :param reason: Reason of the SKU capability. - :type reason: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Capability, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) - self.reason = kwargs.get('reason', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability_py3.py deleted file mode 100644 index 3445faa1b7c8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/capability_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Capability(Model): - """Describes the capabilities/features allowed for a specific SKU. - - :param name: Name of the SKU capability. - :type name: str - :param value: Value of the SKU capability. - :type value: str - :param reason: Reason of the SKU capability. - :type reason: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: - super(Capability, self).__init__(**kwargs) - self.name = name - self.value = value - self.reason = reason diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate.py deleted file mode 100644 index d05513dc8764..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate.py +++ /dev/null @@ -1,154 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Certificate(Resource): - """SSL certificate for an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar friendly_name: Friendly name of the certificate. - :vartype friendly_name: str - :ivar subject_name: Subject name of the certificate. - :vartype subject_name: str - :param host_names: Host names the certificate applies to. - :type host_names: list[str] - :param pfx_blob: Pfx blob. - :type pfx_blob: bytearray - :ivar site_name: App name. - :vartype site_name: str - :ivar self_link: Self link. - :vartype self_link: str - :ivar issuer: Certificate issuer. - :vartype issuer: str - :ivar issue_date: Certificate issue Date. - :vartype issue_date: datetime - :ivar expiration_date: Certificate expiration date. - :vartype expiration_date: datetime - :param password: Required. Certificate password. - :type password: str - :ivar thumbprint: Certificate thumbprint. - :vartype thumbprint: str - :ivar valid: Is the certificate valid?. - :vartype valid: bool - :ivar cer_blob: Raw bytes of .cer file - :vartype cer_blob: bytearray - :ivar public_key_hash: Public key hash. - :vartype public_key_hash: str - :ivar hosting_environment_profile: Specification for the App Service - Environment to use for the certificate. - :vartype hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param key_vault_id: Key Vault Csm resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar key_vault_secret_status: Status of the Key Vault secret. Possible - values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype key_vault_secret_status: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'friendly_name': {'readonly': True}, - 'subject_name': {'readonly': True}, - 'site_name': {'readonly': True}, - 'self_link': {'readonly': True}, - 'issuer': {'readonly': True}, - 'issue_date': {'readonly': True}, - 'expiration_date': {'readonly': True}, - 'password': {'required': True}, - 'thumbprint': {'readonly': True}, - 'valid': {'readonly': True}, - 'cer_blob': {'readonly': True}, - 'public_key_hash': {'readonly': True}, - 'hosting_environment_profile': {'readonly': True}, - 'key_vault_secret_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, - 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'valid': {'key': 'properties.valid', 'type': 'bool'}, - 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, - 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Certificate, self).__init__(**kwargs) - self.friendly_name = None - self.subject_name = None - self.host_names = kwargs.get('host_names', None) - self.pfx_blob = kwargs.get('pfx_blob', None) - self.site_name = None - self.self_link = None - self.issuer = None - self.issue_date = None - self.expiration_date = None - self.password = kwargs.get('password', None) - self.thumbprint = None - self.valid = None - self.cer_blob = None - self.public_key_hash = None - self.hosting_environment_profile = None - self.key_vault_id = kwargs.get('key_vault_id', None) - self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) - self.key_vault_secret_status = None - self.server_farm_id = kwargs.get('server_farm_id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details.py deleted file mode 100644 index 847767cc4b40..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CertificateDetails(Model): - """SSL certificate details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar version: Certificate Version. - :vartype version: int - :ivar serial_number: Certificate Serial Number. - :vartype serial_number: str - :ivar thumbprint: Certificate Thumbprint. - :vartype thumbprint: str - :ivar subject: Certificate Subject. - :vartype subject: str - :ivar not_before: Date Certificate is valid from. - :vartype not_before: datetime - :ivar not_after: Date Certificate is valid to. - :vartype not_after: datetime - :ivar signature_algorithm: Certificate Signature algorithm. - :vartype signature_algorithm: str - :ivar issuer: Certificate Issuer. - :vartype issuer: str - :ivar raw_data: Raw certificate data. - :vartype raw_data: str - """ - - _validation = { - 'version': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'thumbprint': {'readonly': True}, - 'subject': {'readonly': True}, - 'not_before': {'readonly': True}, - 'not_after': {'readonly': True}, - 'signature_algorithm': {'readonly': True}, - 'issuer': {'readonly': True}, - 'raw_data': {'readonly': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'int'}, - 'serial_number': {'key': 'serialNumber', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - 'subject': {'key': 'subject', 'type': 'str'}, - 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, - 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, - 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, - 'issuer': {'key': 'issuer', 'type': 'str'}, - 'raw_data': {'key': 'rawData', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CertificateDetails, self).__init__(**kwargs) - self.version = None - self.serial_number = None - self.thumbprint = None - self.subject = None - self.not_before = None - self.not_after = None - self.signature_algorithm = None - self.issuer = None - self.raw_data = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details_py3.py deleted file mode 100644 index 6ea61e10ca94..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_details_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CertificateDetails(Model): - """SSL certificate details. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar version: Certificate Version. - :vartype version: int - :ivar serial_number: Certificate Serial Number. - :vartype serial_number: str - :ivar thumbprint: Certificate Thumbprint. - :vartype thumbprint: str - :ivar subject: Certificate Subject. - :vartype subject: str - :ivar not_before: Date Certificate is valid from. - :vartype not_before: datetime - :ivar not_after: Date Certificate is valid to. - :vartype not_after: datetime - :ivar signature_algorithm: Certificate Signature algorithm. - :vartype signature_algorithm: str - :ivar issuer: Certificate Issuer. - :vartype issuer: str - :ivar raw_data: Raw certificate data. - :vartype raw_data: str - """ - - _validation = { - 'version': {'readonly': True}, - 'serial_number': {'readonly': True}, - 'thumbprint': {'readonly': True}, - 'subject': {'readonly': True}, - 'not_before': {'readonly': True}, - 'not_after': {'readonly': True}, - 'signature_algorithm': {'readonly': True}, - 'issuer': {'readonly': True}, - 'raw_data': {'readonly': True}, - } - - _attribute_map = { - 'version': {'key': 'version', 'type': 'int'}, - 'serial_number': {'key': 'serialNumber', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - 'subject': {'key': 'subject', 'type': 'str'}, - 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, - 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, - 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, - 'issuer': {'key': 'issuer', 'type': 'str'}, - 'raw_data': {'key': 'rawData', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(CertificateDetails, self).__init__(**kwargs) - self.version = None - self.serial_number = None - self.thumbprint = None - self.subject = None - self.not_before = None - self.not_after = None - self.signature_algorithm = None - self.issuer = None - self.raw_data = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email.py deleted file mode 100644 index a7a1b8666e48..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class CertificateEmail(ProxyOnlyResource): - """SSL certificate email. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param email_id: Email id. - :type email_id: str - :param time_stamp: Time stamp. - :type time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'email_id': {'key': 'properties.emailId', 'type': 'str'}, - 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(CertificateEmail, self).__init__(**kwargs) - self.email_id = kwargs.get('email_id', None) - self.time_stamp = kwargs.get('time_stamp', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email_py3.py deleted file mode 100644 index 32255dff53a6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_email_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class CertificateEmail(ProxyOnlyResource): - """SSL certificate email. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param email_id: Email id. - :type email_id: str - :param time_stamp: Time stamp. - :type time_stamp: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'email_id': {'key': 'properties.emailId', 'type': 'str'}, - 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, - } - - def __init__(self, *, kind: str=None, email_id: str=None, time_stamp=None, **kwargs) -> None: - super(CertificateEmail, self).__init__(kind=kind, **kwargs) - self.email_id = email_id - self.time_stamp = time_stamp diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action.py deleted file mode 100644 index 2331dd37d7f8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class CertificateOrderAction(ProxyOnlyResource): - """Certificate order action. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar action_type: Action type. Possible values include: - 'CertificateIssued', 'CertificateOrderCanceled', - 'CertificateOrderCreated', 'CertificateRevoked', - 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', - 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', - 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' - :vartype action_type: str or - ~azure.mgmt.web.models.CertificateOrderActionType - :ivar created_at: Time at which the certificate action was performed. - :vartype created_at: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'action_type': {'readonly': True}, - 'created_at': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'action_type': {'key': 'properties.actionType', 'type': 'CertificateOrderActionType'}, - 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(CertificateOrderAction, self).__init__(**kwargs) - self.action_type = None - self.created_at = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action_py3.py deleted file mode 100644 index d6bc846e4ab1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_order_action_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class CertificateOrderAction(ProxyOnlyResource): - """Certificate order action. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar action_type: Action type. Possible values include: - 'CertificateIssued', 'CertificateOrderCanceled', - 'CertificateOrderCreated', 'CertificateRevoked', - 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', - 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', - 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' - :vartype action_type: str or - ~azure.mgmt.web.models.CertificateOrderActionType - :ivar created_at: Time at which the certificate action was performed. - :vartype created_at: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'action_type': {'readonly': True}, - 'created_at': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'action_type': {'key': 'properties.actionType', 'type': 'CertificateOrderActionType'}, - 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(CertificateOrderAction, self).__init__(kind=kind, **kwargs) - self.action_type = None - self.created_at = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource.py deleted file mode 100644 index 2c8d4dd7b8d4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource.py +++ /dev/null @@ -1,147 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class CertificatePatchResource(ProxyOnlyResource): - """ARM resource for a certificate. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar friendly_name: Friendly name of the certificate. - :vartype friendly_name: str - :ivar subject_name: Subject name of the certificate. - :vartype subject_name: str - :param host_names: Host names the certificate applies to. - :type host_names: list[str] - :param pfx_blob: Pfx blob. - :type pfx_blob: bytearray - :ivar site_name: App name. - :vartype site_name: str - :ivar self_link: Self link. - :vartype self_link: str - :ivar issuer: Certificate issuer. - :vartype issuer: str - :ivar issue_date: Certificate issue Date. - :vartype issue_date: datetime - :ivar expiration_date: Certificate expiration date. - :vartype expiration_date: datetime - :param password: Required. Certificate password. - :type password: str - :ivar thumbprint: Certificate thumbprint. - :vartype thumbprint: str - :ivar valid: Is the certificate valid?. - :vartype valid: bool - :ivar cer_blob: Raw bytes of .cer file - :vartype cer_blob: bytearray - :ivar public_key_hash: Public key hash. - :vartype public_key_hash: str - :ivar hosting_environment_profile: Specification for the App Service - Environment to use for the certificate. - :vartype hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param key_vault_id: Key Vault Csm resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar key_vault_secret_status: Status of the Key Vault secret. Possible - values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype key_vault_secret_status: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'friendly_name': {'readonly': True}, - 'subject_name': {'readonly': True}, - 'site_name': {'readonly': True}, - 'self_link': {'readonly': True}, - 'issuer': {'readonly': True}, - 'issue_date': {'readonly': True}, - 'expiration_date': {'readonly': True}, - 'password': {'required': True}, - 'thumbprint': {'readonly': True}, - 'valid': {'readonly': True}, - 'cer_blob': {'readonly': True}, - 'public_key_hash': {'readonly': True}, - 'hosting_environment_profile': {'readonly': True}, - 'key_vault_secret_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, - 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'valid': {'key': 'properties.valid', 'type': 'bool'}, - 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, - 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CertificatePatchResource, self).__init__(**kwargs) - self.friendly_name = None - self.subject_name = None - self.host_names = kwargs.get('host_names', None) - self.pfx_blob = kwargs.get('pfx_blob', None) - self.site_name = None - self.self_link = None - self.issuer = None - self.issue_date = None - self.expiration_date = None - self.password = kwargs.get('password', None) - self.thumbprint = None - self.valid = None - self.cer_blob = None - self.public_key_hash = None - self.hosting_environment_profile = None - self.key_vault_id = kwargs.get('key_vault_id', None) - self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) - self.key_vault_secret_status = None - self.server_farm_id = kwargs.get('server_farm_id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource_py3.py deleted file mode 100644 index 509a96b8f663..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_patch_resource_py3.py +++ /dev/null @@ -1,147 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class CertificatePatchResource(ProxyOnlyResource): - """ARM resource for a certificate. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar friendly_name: Friendly name of the certificate. - :vartype friendly_name: str - :ivar subject_name: Subject name of the certificate. - :vartype subject_name: str - :param host_names: Host names the certificate applies to. - :type host_names: list[str] - :param pfx_blob: Pfx blob. - :type pfx_blob: bytearray - :ivar site_name: App name. - :vartype site_name: str - :ivar self_link: Self link. - :vartype self_link: str - :ivar issuer: Certificate issuer. - :vartype issuer: str - :ivar issue_date: Certificate issue Date. - :vartype issue_date: datetime - :ivar expiration_date: Certificate expiration date. - :vartype expiration_date: datetime - :param password: Required. Certificate password. - :type password: str - :ivar thumbprint: Certificate thumbprint. - :vartype thumbprint: str - :ivar valid: Is the certificate valid?. - :vartype valid: bool - :ivar cer_blob: Raw bytes of .cer file - :vartype cer_blob: bytearray - :ivar public_key_hash: Public key hash. - :vartype public_key_hash: str - :ivar hosting_environment_profile: Specification for the App Service - Environment to use for the certificate. - :vartype hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param key_vault_id: Key Vault Csm resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar key_vault_secret_status: Status of the Key Vault secret. Possible - values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype key_vault_secret_status: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'friendly_name': {'readonly': True}, - 'subject_name': {'readonly': True}, - 'site_name': {'readonly': True}, - 'self_link': {'readonly': True}, - 'issuer': {'readonly': True}, - 'issue_date': {'readonly': True}, - 'expiration_date': {'readonly': True}, - 'password': {'required': True}, - 'thumbprint': {'readonly': True}, - 'valid': {'readonly': True}, - 'cer_blob': {'readonly': True}, - 'public_key_hash': {'readonly': True}, - 'hosting_environment_profile': {'readonly': True}, - 'key_vault_secret_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, - 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'valid': {'key': 'properties.valid', 'type': 'bool'}, - 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, - 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - } - - def __init__(self, *, password: str, kind: str=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: - super(CertificatePatchResource, self).__init__(kind=kind, **kwargs) - self.friendly_name = None - self.subject_name = None - self.host_names = host_names - self.pfx_blob = pfx_blob - self.site_name = None - self.self_link = None - self.issuer = None - self.issue_date = None - self.expiration_date = None - self.password = password - self.thumbprint = None - self.valid = None - self.cer_blob = None - self.public_key_hash = None - self.hosting_environment_profile = None - self.key_vault_id = key_vault_id - self.key_vault_secret_name = key_vault_secret_name - self.key_vault_secret_status = None - self.server_farm_id = server_farm_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_py3.py deleted file mode 100644 index 72c91584d182..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_py3.py +++ /dev/null @@ -1,154 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Certificate(Resource): - """SSL certificate for an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar friendly_name: Friendly name of the certificate. - :vartype friendly_name: str - :ivar subject_name: Subject name of the certificate. - :vartype subject_name: str - :param host_names: Host names the certificate applies to. - :type host_names: list[str] - :param pfx_blob: Pfx blob. - :type pfx_blob: bytearray - :ivar site_name: App name. - :vartype site_name: str - :ivar self_link: Self link. - :vartype self_link: str - :ivar issuer: Certificate issuer. - :vartype issuer: str - :ivar issue_date: Certificate issue Date. - :vartype issue_date: datetime - :ivar expiration_date: Certificate expiration date. - :vartype expiration_date: datetime - :param password: Required. Certificate password. - :type password: str - :ivar thumbprint: Certificate thumbprint. - :vartype thumbprint: str - :ivar valid: Is the certificate valid?. - :vartype valid: bool - :ivar cer_blob: Raw bytes of .cer file - :vartype cer_blob: bytearray - :ivar public_key_hash: Public key hash. - :vartype public_key_hash: str - :ivar hosting_environment_profile: Specification for the App Service - Environment to use for the certificate. - :vartype hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param key_vault_id: Key Vault Csm resource Id. - :type key_vault_id: str - :param key_vault_secret_name: Key Vault secret name. - :type key_vault_secret_name: str - :ivar key_vault_secret_status: Status of the Key Vault secret. Possible - values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', - 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', - 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', - 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', - 'Unknown' - :vartype key_vault_secret_status: str or - ~azure.mgmt.web.models.KeyVaultSecretStatus - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'friendly_name': {'readonly': True}, - 'subject_name': {'readonly': True}, - 'site_name': {'readonly': True}, - 'self_link': {'readonly': True}, - 'issuer': {'readonly': True}, - 'issue_date': {'readonly': True}, - 'expiration_date': {'readonly': True}, - 'password': {'required': True}, - 'thumbprint': {'readonly': True}, - 'valid': {'readonly': True}, - 'cer_blob': {'readonly': True}, - 'public_key_hash': {'readonly': True}, - 'hosting_environment_profile': {'readonly': True}, - 'key_vault_secret_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, - 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, - 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, - 'password': {'key': 'properties.password', 'type': 'str'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'valid': {'key': 'properties.valid', 'type': 'bool'}, - 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, - 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, - 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, - 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - } - - def __init__(self, *, location: str, password: str, kind: str=None, tags=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: - super(Certificate, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.friendly_name = None - self.subject_name = None - self.host_names = host_names - self.pfx_blob = pfx_blob - self.site_name = None - self.self_link = None - self.issuer = None - self.issue_date = None - self.expiration_date = None - self.password = password - self.thumbprint = None - self.valid = None - self.cer_blob = None - self.public_key_hash = None - self.hosting_environment_profile = None - self.key_vault_id = key_vault_id - self.key_vault_secret_name = key_vault_secret_name - self.key_vault_secret_status = None - self.server_farm_id = server_farm_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info.py deleted file mode 100644 index cb17ed2ddd6c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info.py +++ /dev/null @@ -1,93 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CloningInfo(Model): - """Information needed for cloning operation. - - All required parameters must be populated in order to send to Azure. - - :param correlation_id: Correlation ID of cloning operation. This ID ties - multiple cloning operations - together to use the same snapshot. - :type correlation_id: str - :param overwrite: true to overwrite destination app; - otherwise, false. - :type overwrite: bool - :param clone_custom_host_names: true to clone custom - hostnames from source app; otherwise, false. - :type clone_custom_host_names: bool - :param clone_source_control: true to clone source control - from source app; otherwise, false. - :type clone_source_control: bool - :param source_web_app_id: Required. ARM resource ID of the source app. App - resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - for production slots and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - for other slots. - :type source_web_app_id: str - :param source_web_app_location: Location of source app ex: West US or - North Europe - :type source_web_app_location: str - :param hosting_environment: App Service Environment. - :type hosting_environment: str - :param app_settings_overrides: Application setting overrides for cloned - app. If specified, these settings override the settings cloned - from source app. Otherwise, application settings from source app are - retained. - :type app_settings_overrides: dict[str, str] - :param configure_load_balancing: true to configure load - balancing for source and destination app. - :type configure_load_balancing: bool - :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager - profile to use, if it exists. Traffic Manager resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. - :type traffic_manager_profile_id: str - :param traffic_manager_profile_name: Name of Traffic Manager profile to - create. This is only needed if Traffic Manager profile does not already - exist. - :type traffic_manager_profile_name: str - """ - - _validation = { - 'source_web_app_id': {'required': True}, - } - - _attribute_map = { - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'overwrite': {'key': 'overwrite', 'type': 'bool'}, - 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, - 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, - 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, - 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, - 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, - 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, - 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, - 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, - 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CloningInfo, self).__init__(**kwargs) - self.correlation_id = kwargs.get('correlation_id', None) - self.overwrite = kwargs.get('overwrite', None) - self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) - self.clone_source_control = kwargs.get('clone_source_control', None) - self.source_web_app_id = kwargs.get('source_web_app_id', None) - self.source_web_app_location = kwargs.get('source_web_app_location', None) - self.hosting_environment = kwargs.get('hosting_environment', None) - self.app_settings_overrides = kwargs.get('app_settings_overrides', None) - self.configure_load_balancing = kwargs.get('configure_load_balancing', None) - self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) - self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info_py3.py deleted file mode 100644 index 7afe81fe9d66..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cloning_info_py3.py +++ /dev/null @@ -1,93 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CloningInfo(Model): - """Information needed for cloning operation. - - All required parameters must be populated in order to send to Azure. - - :param correlation_id: Correlation ID of cloning operation. This ID ties - multiple cloning operations - together to use the same snapshot. - :type correlation_id: str - :param overwrite: true to overwrite destination app; - otherwise, false. - :type overwrite: bool - :param clone_custom_host_names: true to clone custom - hostnames from source app; otherwise, false. - :type clone_custom_host_names: bool - :param clone_source_control: true to clone source control - from source app; otherwise, false. - :type clone_source_control: bool - :param source_web_app_id: Required. ARM resource ID of the source app. App - resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - for production slots and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - for other slots. - :type source_web_app_id: str - :param source_web_app_location: Location of source app ex: West US or - North Europe - :type source_web_app_location: str - :param hosting_environment: App Service Environment. - :type hosting_environment: str - :param app_settings_overrides: Application setting overrides for cloned - app. If specified, these settings override the settings cloned - from source app. Otherwise, application settings from source app are - retained. - :type app_settings_overrides: dict[str, str] - :param configure_load_balancing: true to configure load - balancing for source and destination app. - :type configure_load_balancing: bool - :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager - profile to use, if it exists. Traffic Manager resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. - :type traffic_manager_profile_id: str - :param traffic_manager_profile_name: Name of Traffic Manager profile to - create. This is only needed if Traffic Manager profile does not already - exist. - :type traffic_manager_profile_name: str - """ - - _validation = { - 'source_web_app_id': {'required': True}, - } - - _attribute_map = { - 'correlation_id': {'key': 'correlationId', 'type': 'str'}, - 'overwrite': {'key': 'overwrite', 'type': 'bool'}, - 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, - 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, - 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, - 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, - 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, - 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, - 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, - 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, - 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, - } - - def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, source_web_app_location: str=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, **kwargs) -> None: - super(CloningInfo, self).__init__(**kwargs) - self.correlation_id = correlation_id - self.overwrite = overwrite - self.clone_custom_host_names = clone_custom_host_names - self.clone_source_control = clone_source_control - self.source_web_app_id = source_web_app_id - self.source_web_app_location = source_web_app_location - self.hosting_environment = hosting_environment - self.app_settings_overrides = app_settings_overrides - self.configure_load_balancing = configure_load_balancing - self.traffic_manager_profile_id = traffic_manager_profile_id - self.traffic_manager_profile_name = traffic_manager_profile_name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info.py deleted file mode 100644 index 040fbea5e920..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnStringInfo(Model): - """Database connection string information. - - :param name: Name of connection string. - :type name: str - :param connection_string: Connection string value. - :type connection_string: str - :param type: Type of database. Possible values include: 'MySql', - 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', - 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - :type type: str or ~azure.mgmt.web.models.ConnectionStringType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'connection_string': {'key': 'connectionString', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ConnectionStringType'}, - } - - def __init__(self, **kwargs): - super(ConnStringInfo, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.connection_string = kwargs.get('connection_string', None) - self.type = kwargs.get('type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info_py3.py deleted file mode 100644 index 24d38593fded..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_info_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnStringInfo(Model): - """Database connection string information. - - :param name: Name of connection string. - :type name: str - :param connection_string: Connection string value. - :type connection_string: str - :param type: Type of database. Possible values include: 'MySql', - 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', - 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - :type type: str or ~azure.mgmt.web.models.ConnectionStringType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'connection_string': {'key': 'connectionString', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ConnectionStringType'}, - } - - def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: - super(ConnStringInfo, self).__init__(**kwargs) - self.name = name - self.connection_string = connection_string - self.type = type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair.py deleted file mode 100644 index 8fc0ffe591dd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnStringValueTypePair(Model): - """Database connection string value to type pair. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. Value of pair. - :type value: str - :param type: Required. Type of database. Possible values include: 'MySql', - 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', - 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - :type type: str or ~azure.mgmt.web.models.ConnectionStringType - """ - - _validation = { - 'value': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ConnectionStringType'}, - } - - def __init__(self, **kwargs): - super(ConnStringValueTypePair, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.type = kwargs.get('type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair_py3.py deleted file mode 100644 index e45cabb73a39..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/conn_string_value_type_pair_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ConnStringValueTypePair(Model): - """Database connection string value to type pair. - - All required parameters must be populated in order to send to Azure. - - :param value: Required. Value of pair. - :type value: str - :param type: Required. Type of database. Possible values include: 'MySql', - 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', - 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' - :type type: str or ~azure.mgmt.web.models.ConnectionStringType - """ - - _validation = { - 'value': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'ConnectionStringType'}, - } - - def __init__(self, *, value: str, type, **kwargs) -> None: - super(ConnStringValueTypePair, self).__init__(**kwargs) - self.value = value - self.type = type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary.py deleted file mode 100644 index d2e4a7bc5f1a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ConnectionStringDictionary(ProxyOnlyResource): - """String dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Connection strings. - :type properties: dict[str, - ~azure.mgmt.web.models.ConnStringValueTypePair] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, - } - - def __init__(self, **kwargs): - super(ConnectionStringDictionary, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary_py3.py deleted file mode 100644 index 37848b56ba68..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/connection_string_dictionary_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ConnectionStringDictionary(ProxyOnlyResource): - """String dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Connection strings. - :type properties: dict[str, - ~azure.mgmt.web.models.ConnStringValueTypePair] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, - } - - def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: - super(ConnectionStringDictionary, self).__init__(kind=kind, **kwargs) - self.properties = properties diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact.py deleted file mode 100644 index a18a023642d0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Contact(Model): - """Contact information for domain registration. If 'Domain Privacy' option is - not selected then the contact information is made publicly available - through the Whois - directories as per ICANN requirements. - - All required parameters must be populated in order to send to Azure. - - :param address_mailing: Mailing address. - :type address_mailing: ~azure.mgmt.web.models.Address - :param email: Required. Email address. - :type email: str - :param fax: Fax number. - :type fax: str - :param job_title: Job title. - :type job_title: str - :param name_first: Required. First name. - :type name_first: str - :param name_last: Required. Last name. - :type name_last: str - :param name_middle: Middle name. - :type name_middle: str - :param organization: Organization contact belongs to. - :type organization: str - :param phone: Required. Phone number. - :type phone: str - """ - - _validation = { - 'email': {'required': True}, - 'name_first': {'required': True}, - 'name_last': {'required': True}, - 'phone': {'required': True}, - } - - _attribute_map = { - 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, - 'email': {'key': 'email', 'type': 'str'}, - 'fax': {'key': 'fax', 'type': 'str'}, - 'job_title': {'key': 'jobTitle', 'type': 'str'}, - 'name_first': {'key': 'nameFirst', 'type': 'str'}, - 'name_last': {'key': 'nameLast', 'type': 'str'}, - 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, - 'organization': {'key': 'organization', 'type': 'str'}, - 'phone': {'key': 'phone', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Contact, self).__init__(**kwargs) - self.address_mailing = kwargs.get('address_mailing', None) - self.email = kwargs.get('email', None) - self.fax = kwargs.get('fax', None) - self.job_title = kwargs.get('job_title', None) - self.name_first = kwargs.get('name_first', None) - self.name_last = kwargs.get('name_last', None) - self.name_middle = kwargs.get('name_middle', None) - self.organization = kwargs.get('organization', None) - self.phone = kwargs.get('phone', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact_py3.py deleted file mode 100644 index 5567ac2cd1b4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/contact_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Contact(Model): - """Contact information for domain registration. If 'Domain Privacy' option is - not selected then the contact information is made publicly available - through the Whois - directories as per ICANN requirements. - - All required parameters must be populated in order to send to Azure. - - :param address_mailing: Mailing address. - :type address_mailing: ~azure.mgmt.web.models.Address - :param email: Required. Email address. - :type email: str - :param fax: Fax number. - :type fax: str - :param job_title: Job title. - :type job_title: str - :param name_first: Required. First name. - :type name_first: str - :param name_last: Required. Last name. - :type name_last: str - :param name_middle: Middle name. - :type name_middle: str - :param organization: Organization contact belongs to. - :type organization: str - :param phone: Required. Phone number. - :type phone: str - """ - - _validation = { - 'email': {'required': True}, - 'name_first': {'required': True}, - 'name_last': {'required': True}, - 'phone': {'required': True}, - } - - _attribute_map = { - 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, - 'email': {'key': 'email', 'type': 'str'}, - 'fax': {'key': 'fax', 'type': 'str'}, - 'job_title': {'key': 'jobTitle', 'type': 'str'}, - 'name_first': {'key': 'nameFirst', 'type': 'str'}, - 'name_last': {'key': 'nameLast', 'type': 'str'}, - 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, - 'organization': {'key': 'organization', 'type': 'str'}, - 'phone': {'key': 'phone', 'type': 'str'}, - } - - def __init__(self, *, email: str, name_first: str, name_last: str, phone: str, address_mailing=None, fax: str=None, job_title: str=None, name_middle: str=None, organization: str=None, **kwargs) -> None: - super(Contact, self).__init__(**kwargs) - self.address_mailing = address_mailing - self.email = email - self.fax = fax - self.job_title = job_title - self.name_first = name_first - self.name_last = name_last - self.name_middle = name_middle - self.organization = organization - self.phone = phone diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job.py deleted file mode 100644 index fa05a6d53c26..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ContinuousWebJob(ProxyOnlyResource): - """Continuous Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param status: Job status. Possible values include: 'Initializing', - 'Starting', 'Running', 'PendingRestart', 'Stopped' - :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus - :param detailed_status: Detailed status. - :type detailed_status: str - :param log_url: Log URL. - :type log_url: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, - 'detailed_status': {'key': 'properties.detailed_status', 'type': 'str'}, - 'log_url': {'key': 'properties.log_url', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, **kwargs): - super(ContinuousWebJob, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.detailed_status = kwargs.get('detailed_status', None) - self.log_url = kwargs.get('log_url', None) - self.run_command = kwargs.get('run_command', None) - self.url = kwargs.get('url', None) - self.extra_info_url = kwargs.get('extra_info_url', None) - self.web_job_type = kwargs.get('web_job_type', None) - self.error = kwargs.get('error', None) - self.using_sdk = kwargs.get('using_sdk', None) - self.settings = kwargs.get('settings', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_paged.py deleted file mode 100644 index 9b57a2284e82..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ContinuousWebJobPaged(Paged): - """ - A paging container for iterating over a list of :class:`ContinuousWebJob ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ContinuousWebJob]'} - } - - def __init__(self, *args, **kwargs): - - super(ContinuousWebJobPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_py3.py deleted file mode 100644 index 4dcc908c916a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/continuous_web_job_py3.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ContinuousWebJob(ProxyOnlyResource): - """Continuous Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param status: Job status. Possible values include: 'Initializing', - 'Starting', 'Running', 'PendingRestart', 'Stopped' - :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus - :param detailed_status: Detailed status. - :type detailed_status: str - :param log_url: Log URL. - :type log_url: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, - 'detailed_status': {'key': 'properties.detailed_status', 'type': 'str'}, - 'log_url': {'key': 'properties.log_url', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, *, kind: str=None, status=None, detailed_status: str=None, log_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: - super(ContinuousWebJob, self).__init__(kind=kind, **kwargs) - self.status = status - self.detailed_status = detailed_status - self.log_url = log_url - self.run_command = run_command - self.url = url - self.extra_info_url = extra_info_url - self.web_job_type = web_job_type - self.error = error - self.using_sdk = using_sdk - self.settings = settings diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings.py deleted file mode 100644 index aa2ffd08ff69..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CorsSettings(Model): - """Cross-Origin Resource Sharing (CORS) settings for the app. - - :param allowed_origins: Gets or sets the list of origins that should be - allowed to make cross-origin - calls (for example: http://example.com:12345). Use "*" to allow all. - :type allowed_origins: list[str] - :param support_credentials: Gets or sets whether CORS requests with - credentials are allowed. See - https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials - for more details. - :type support_credentials: bool - """ - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, - 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(CorsSettings, self).__init__(**kwargs) - self.allowed_origins = kwargs.get('allowed_origins', None) - self.support_credentials = kwargs.get('support_credentials', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings_py3.py deleted file mode 100644 index ca466b9648c4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/cors_settings_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CorsSettings(Model): - """Cross-Origin Resource Sharing (CORS) settings for the app. - - :param allowed_origins: Gets or sets the list of origins that should be - allowed to make cross-origin - calls (for example: http://example.com:12345). Use "*" to allow all. - :type allowed_origins: list[str] - :param support_credentials: Gets or sets whether CORS requests with - credentials are allowed. See - https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials - for more details. - :type support_credentials: bool - """ - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, - 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, - } - - def __init__(self, *, allowed_origins=None, support_credentials: bool=None, **kwargs) -> None: - super(CorsSettings, self).__init__(**kwargs) - self.allowed_origins = allowed_origins - self.support_credentials = support_credentials diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope.py deleted file mode 100644 index 7b8a19d7ca27..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmMoveResourceEnvelope(Model): - """Object with a list of the resources that need to be moved and the resource - group they should be moved to. - - :param target_resource_group: - :type target_resource_group: str - :param resources: - :type resources: list[str] - """ - - _validation = { - 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, - } - - _attribute_map = { - 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, - 'resources': {'key': 'resources', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(CsmMoveResourceEnvelope, self).__init__(**kwargs) - self.target_resource_group = kwargs.get('target_resource_group', None) - self.resources = kwargs.get('resources', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope_py3.py deleted file mode 100644 index 45dd9ab318d6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_move_resource_envelope_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmMoveResourceEnvelope(Model): - """Object with a list of the resources that need to be moved and the resource - group they should be moved to. - - :param target_resource_group: - :type target_resource_group: str - :param resources: - :type resources: list[str] - """ - - _validation = { - 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, - } - - _attribute_map = { - 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, - 'resources': {'key': 'resources', 'type': '[str]'}, - } - - def __init__(self, *, target_resource_group: str=None, resources=None, **kwargs) -> None: - super(CsmMoveResourceEnvelope, self).__init__(**kwargs) - self.target_resource_group = target_resource_group - self.resources = resources diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description.py deleted file mode 100644 index d1d7494ac89f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDescription(Model): - """Description of an operation available for Microsoft.Web resource provider. - - :param name: - :type name: str - :param display: - :type display: ~azure.mgmt.web.models.CsmOperationDisplay - :param origin: - :type origin: str - :param properties: - :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, - } - - def __init__(self, **kwargs): - super(CsmOperationDescription, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.origin = kwargs.get('origin', None) - self.properties = kwargs.get('properties', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_paged.py deleted file mode 100644 index 59a25211c56f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 CsmOperationDescriptionPaged(Paged): - """ - A paging container for iterating over a list of :class:`CsmOperationDescription ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[CsmOperationDescription]'} - } - - def __init__(self, *args, **kwargs): - - super(CsmOperationDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties.py deleted file mode 100644 index 6362aada58a3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDescriptionProperties(Model): - """Properties available for a Microsoft.Web resource provider operation. - - :param service_specification: - :type service_specification: ~azure.mgmt.web.models.ServiceSpecification - """ - - _attribute_map = { - 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, - } - - def __init__(self, **kwargs): - super(CsmOperationDescriptionProperties, self).__init__(**kwargs) - self.service_specification = kwargs.get('service_specification', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties_py3.py deleted file mode 100644 index 0dff6ebe4d7b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_properties_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDescriptionProperties(Model): - """Properties available for a Microsoft.Web resource provider operation. - - :param service_specification: - :type service_specification: ~azure.mgmt.web.models.ServiceSpecification - """ - - _attribute_map = { - 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, - } - - def __init__(self, *, service_specification=None, **kwargs) -> None: - super(CsmOperationDescriptionProperties, self).__init__(**kwargs) - self.service_specification = service_specification diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_py3.py deleted file mode 100644 index ee5aaaae36bb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_description_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDescription(Model): - """Description of an operation available for Microsoft.Web resource provider. - - :param name: - :type name: str - :param display: - :type display: ~azure.mgmt.web.models.CsmOperationDisplay - :param origin: - :type origin: str - :param properties: - :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, - } - - def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: - super(CsmOperationDescription, self).__init__(**kwargs) - self.name = name - self.display = display - self.origin = origin - self.properties = properties diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display.py deleted file mode 100644 index 82f7c5b55b83..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDisplay(Model): - """Meta data about operation used for display in portal. - - :param provider: - :type provider: str - :param resource: - :type resource: str - :param operation: - :type operation: str - :param description: - :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(CsmOperationDisplay, 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/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display_py3.py deleted file mode 100644 index f5645fe2e6cf..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_operation_display_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmOperationDisplay(Model): - """Meta data about operation used for display in portal. - - :param provider: - :type provider: str - :param resource: - :type resource: str - :param operation: - :type operation: str - :param description: - :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(CsmOperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options.py deleted file mode 100644 index 58bd445d5db2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmPublishingProfileOptions(Model): - """Publishing options for requested profile. - - :param format: Name of the format. Valid values are: - FileZilla3 - WebDeploy -- default - Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' - :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat - :param include_disaster_recovery_endpoints: Include the DisasterRecover - endpoint if true - :type include_disaster_recovery_endpoints: bool - """ - - _attribute_map = { - 'format': {'key': 'format', 'type': 'str'}, - 'include_disaster_recovery_endpoints': {'key': 'includeDisasterRecoveryEndpoints', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(CsmPublishingProfileOptions, self).__init__(**kwargs) - self.format = kwargs.get('format', None) - self.include_disaster_recovery_endpoints = kwargs.get('include_disaster_recovery_endpoints', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options_py3.py deleted file mode 100644 index d6f1f6a64ae1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_publishing_profile_options_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmPublishingProfileOptions(Model): - """Publishing options for requested profile. - - :param format: Name of the format. Valid values are: - FileZilla3 - WebDeploy -- default - Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' - :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat - :param include_disaster_recovery_endpoints: Include the DisasterRecover - endpoint if true - :type include_disaster_recovery_endpoints: bool - """ - - _attribute_map = { - 'format': {'key': 'format', 'type': 'str'}, - 'include_disaster_recovery_endpoints': {'key': 'includeDisasterRecoveryEndpoints', 'type': 'bool'}, - } - - def __init__(self, *, format=None, include_disaster_recovery_endpoints: bool=None, **kwargs) -> None: - super(CsmPublishingProfileOptions, self).__init__(**kwargs) - self.format = format - self.include_disaster_recovery_endpoints = include_disaster_recovery_endpoints diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity.py deleted file mode 100644 index 4f2b0eb519f7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmSlotEntity(Model): - """Deployment slot parameters. - - All required parameters must be populated in order to send to Azure. - - :param target_slot: Required. Destination deployment slot during swap - operation. - :type target_slot: str - :param preserve_vnet: Required. true to preserve Virtual - Network to the slot during swap; otherwise, false. - :type preserve_vnet: bool - """ - - _validation = { - 'target_slot': {'required': True}, - 'preserve_vnet': {'required': True}, - } - - _attribute_map = { - 'target_slot': {'key': 'targetSlot', 'type': 'str'}, - 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(CsmSlotEntity, self).__init__(**kwargs) - self.target_slot = kwargs.get('target_slot', None) - self.preserve_vnet = kwargs.get('preserve_vnet', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity_py3.py deleted file mode 100644 index e367bd554d0b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_slot_entity_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmSlotEntity(Model): - """Deployment slot parameters. - - All required parameters must be populated in order to send to Azure. - - :param target_slot: Required. Destination deployment slot during swap - operation. - :type target_slot: str - :param preserve_vnet: Required. true to preserve Virtual - Network to the slot during swap; otherwise, false. - :type preserve_vnet: bool - """ - - _validation = { - 'target_slot': {'required': True}, - 'preserve_vnet': {'required': True}, - } - - _attribute_map = { - 'target_slot': {'key': 'targetSlot', 'type': 'str'}, - 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, - } - - def __init__(self, *, target_slot: str, preserve_vnet: bool, **kwargs) -> None: - super(CsmSlotEntity, self).__init__(**kwargs) - self.target_slot = target_slot - self.preserve_vnet = preserve_vnet diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota.py deleted file mode 100644 index 73a378492874..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmUsageQuota(Model): - """Usage of the quota resource. - - :param unit: Units of measurement for the quota resource. - :type unit: str - :param next_reset_time: Next reset time for the resource counter. - :type next_reset_time: datetime - :param current_value: The current value of the resource counter. - :type current_value: long - :param limit: The resource limit. - :type limit: long - :param name: Quota name. - :type name: ~azure.mgmt.web.models.LocalizableString - """ - - _attribute_map = { - 'unit': {'key': 'unit', 'type': 'str'}, - 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'LocalizableString'}, - } - - def __init__(self, **kwargs): - super(CsmUsageQuota, self).__init__(**kwargs) - self.unit = kwargs.get('unit', None) - self.next_reset_time = kwargs.get('next_reset_time', None) - self.current_value = kwargs.get('current_value', None) - self.limit = kwargs.get('limit', None) - self.name = kwargs.get('name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_paged.py deleted file mode 100644 index da6f2682cd3e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 CsmUsageQuotaPaged(Paged): - """ - A paging container for iterating over a list of :class:`CsmUsageQuota ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[CsmUsageQuota]'} - } - - def __init__(self, *args, **kwargs): - - super(CsmUsageQuotaPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_py3.py deleted file mode 100644 index 4145c0317284..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/csm_usage_quota_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CsmUsageQuota(Model): - """Usage of the quota resource. - - :param unit: Units of measurement for the quota resource. - :type unit: str - :param next_reset_time: Next reset time for the resource counter. - :type next_reset_time: datetime - :param current_value: The current value of the resource counter. - :type current_value: long - :param limit: The resource limit. - :type limit: long - :param name: Quota name. - :type name: ~azure.mgmt.web.models.LocalizableString - """ - - _attribute_map = { - 'unit': {'key': 'unit', 'type': 'str'}, - 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, - 'current_value': {'key': 'currentValue', 'type': 'long'}, - 'limit': {'key': 'limit', 'type': 'long'}, - 'name': {'key': 'name', 'type': 'LocalizableString'}, - } - - def __init__(self, *, unit: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None: - super(CsmUsageQuota, self).__init__(**kwargs) - self.unit = unit - self.next_reset_time = next_reset_time - self.current_value = current_value - self.limit = limit - self.name = name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result.py deleted file mode 100644 index b94776a8625c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class CustomHostnameAnalysisResult(ProxyOnlyResource): - """Custom domain analysis. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar is_hostname_already_verified: true if hostname is - already verified; otherwise, false. - :vartype is_hostname_already_verified: bool - :ivar custom_domain_verification_test: DNS verification test result. - Possible values include: 'Passed', 'Failed', 'Skipped' - :vartype custom_domain_verification_test: str or - ~azure.mgmt.web.models.DnsVerificationTestResult - :ivar custom_domain_verification_failure_info: Raw failure information if - DNS verification fails. - :vartype custom_domain_verification_failure_info: - ~azure.mgmt.web.models.ErrorEntity - :ivar has_conflict_on_scale_unit: true if there is a conflict - on a scale unit; otherwise, false. - :vartype has_conflict_on_scale_unit: bool - :ivar has_conflict_across_subscription: true if there is a - conflict across subscriptions; otherwise, false. - :vartype has_conflict_across_subscription: bool - :ivar conflicting_app_resource_id: Name of the conflicting app on scale - unit if it's within the same subscription. - :vartype conflicting_app_resource_id: str - :param c_name_records: CName records controller can see for this hostname. - :type c_name_records: list[str] - :param txt_records: TXT records controller can see for this hostname. - :type txt_records: list[str] - :param a_records: A records controller can see for this hostname. - :type a_records: list[str] - :param alternate_cname_records: Alternate CName records controller can see - for this hostname. - :type alternate_cname_records: list[str] - :param alternate_txt_records: Alternate TXT records controller can see for - this hostname. - :type alternate_txt_records: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'is_hostname_already_verified': {'readonly': True}, - 'custom_domain_verification_test': {'readonly': True}, - 'custom_domain_verification_failure_info': {'readonly': True}, - 'has_conflict_on_scale_unit': {'readonly': True}, - 'has_conflict_across_subscription': {'readonly': True}, - 'conflicting_app_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, - 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, - 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, - 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, - 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, - 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, - 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, - 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, - 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, - 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, - 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(CustomHostnameAnalysisResult, self).__init__(**kwargs) - self.is_hostname_already_verified = None - self.custom_domain_verification_test = None - self.custom_domain_verification_failure_info = None - self.has_conflict_on_scale_unit = None - self.has_conflict_across_subscription = None - self.conflicting_app_resource_id = None - self.c_name_records = kwargs.get('c_name_records', None) - self.txt_records = kwargs.get('txt_records', None) - self.a_records = kwargs.get('a_records', None) - self.alternate_cname_records = kwargs.get('alternate_cname_records', None) - self.alternate_txt_records = kwargs.get('alternate_txt_records', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result_py3.py deleted file mode 100644 index d8bbfe11a508..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/custom_hostname_analysis_result_py3.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class CustomHostnameAnalysisResult(ProxyOnlyResource): - """Custom domain analysis. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar is_hostname_already_verified: true if hostname is - already verified; otherwise, false. - :vartype is_hostname_already_verified: bool - :ivar custom_domain_verification_test: DNS verification test result. - Possible values include: 'Passed', 'Failed', 'Skipped' - :vartype custom_domain_verification_test: str or - ~azure.mgmt.web.models.DnsVerificationTestResult - :ivar custom_domain_verification_failure_info: Raw failure information if - DNS verification fails. - :vartype custom_domain_verification_failure_info: - ~azure.mgmt.web.models.ErrorEntity - :ivar has_conflict_on_scale_unit: true if there is a conflict - on a scale unit; otherwise, false. - :vartype has_conflict_on_scale_unit: bool - :ivar has_conflict_across_subscription: true if there is a - conflict across subscriptions; otherwise, false. - :vartype has_conflict_across_subscription: bool - :ivar conflicting_app_resource_id: Name of the conflicting app on scale - unit if it's within the same subscription. - :vartype conflicting_app_resource_id: str - :param c_name_records: CName records controller can see for this hostname. - :type c_name_records: list[str] - :param txt_records: TXT records controller can see for this hostname. - :type txt_records: list[str] - :param a_records: A records controller can see for this hostname. - :type a_records: list[str] - :param alternate_cname_records: Alternate CName records controller can see - for this hostname. - :type alternate_cname_records: list[str] - :param alternate_txt_records: Alternate TXT records controller can see for - this hostname. - :type alternate_txt_records: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'is_hostname_already_verified': {'readonly': True}, - 'custom_domain_verification_test': {'readonly': True}, - 'custom_domain_verification_failure_info': {'readonly': True}, - 'has_conflict_on_scale_unit': {'readonly': True}, - 'has_conflict_across_subscription': {'readonly': True}, - 'conflicting_app_resource_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, - 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, - 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, - 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, - 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, - 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, - 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, - 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, - 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, - 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, - 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, - } - - def __init__(self, *, kind: str=None, c_name_records=None, txt_records=None, a_records=None, alternate_cname_records=None, alternate_txt_records=None, **kwargs) -> None: - super(CustomHostnameAnalysisResult, self).__init__(kind=kind, **kwargs) - self.is_hostname_already_verified = None - self.custom_domain_verification_test = None - self.custom_domain_verification_failure_info = None - self.has_conflict_on_scale_unit = None - self.has_conflict_across_subscription = None - self.conflicting_app_resource_id = None - self.c_name_records = c_name_records - self.txt_records = txt_records - self.a_records = a_records - self.alternate_cname_records = alternate_cname_records - self.alternate_txt_records = alternate_txt_records diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source.py deleted file mode 100644 index a49bb6e1caf5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataSource(Model): - """Class representing data source used by the detectors. - - :param instructions: Instructions if any for the data source - :type instructions: list[str] - :param data_source_uri: Datasource Uri Links - :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] - """ - - _attribute_map = { - 'instructions': {'key': 'instructions', 'type': '[str]'}, - 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, - } - - def __init__(self, **kwargs): - super(DataSource, self).__init__(**kwargs) - self.instructions = kwargs.get('instructions', None) - self.data_source_uri = kwargs.get('data_source_uri', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source_py3.py deleted file mode 100644 index 29079057ce34..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_source_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataSource(Model): - """Class representing data source used by the detectors. - - :param instructions: Instructions if any for the data source - :type instructions: list[str] - :param data_source_uri: Datasource Uri Links - :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] - """ - - _attribute_map = { - 'instructions': {'key': 'instructions', 'type': '[str]'}, - 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, - } - - def __init__(self, *, instructions=None, data_source_uri=None, **kwargs) -> None: - super(DataSource, self).__init__(**kwargs) - self.instructions = instructions - self.data_source_uri = data_source_uri diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column.py deleted file mode 100644 index 8a6230c72956..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataTableResponseColumn(Model): - """Column definition. - - :param column_name: Name of the column - :type column_name: str - :param data_type: Data type which looks like 'String' or 'Int32'. - :type data_type: str - :param column_type: Column Type - :type column_type: str - """ - - _attribute_map = { - 'column_name': {'key': 'columnName', 'type': 'str'}, - 'data_type': {'key': 'dataType', 'type': 'str'}, - 'column_type': {'key': 'columnType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DataTableResponseColumn, self).__init__(**kwargs) - self.column_name = kwargs.get('column_name', None) - self.data_type = kwargs.get('data_type', None) - self.column_type = kwargs.get('column_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column_py3.py deleted file mode 100644 index a8a0fa2b1209..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_column_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataTableResponseColumn(Model): - """Column definition. - - :param column_name: Name of the column - :type column_name: str - :param data_type: Data type which looks like 'String' or 'Int32'. - :type data_type: str - :param column_type: Column Type - :type column_type: str - """ - - _attribute_map = { - 'column_name': {'key': 'columnName', 'type': 'str'}, - 'data_type': {'key': 'dataType', 'type': 'str'}, - 'column_type': {'key': 'columnType', 'type': 'str'}, - } - - def __init__(self, *, column_name: str=None, data_type: str=None, column_type: str=None, **kwargs) -> None: - super(DataTableResponseColumn, self).__init__(**kwargs) - self.column_name = column_name - self.data_type = data_type - self.column_type = column_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object.py deleted file mode 100644 index 28efd2e527f8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataTableResponseObject(Model): - """Data Table which defines columns and raw row values. - - :param table_name: Name of the table - :type table_name: str - :param columns: List of columns with data types - :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] - :param rows: Raw row values - :type rows: list[list[str]] - """ - - _attribute_map = { - 'table_name': {'key': 'tableName', 'type': 'str'}, - 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, - 'rows': {'key': 'rows', 'type': '[[str]]'}, - } - - def __init__(self, **kwargs): - super(DataTableResponseObject, self).__init__(**kwargs) - self.table_name = kwargs.get('table_name', None) - self.columns = kwargs.get('columns', None) - self.rows = kwargs.get('rows', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object_py3.py deleted file mode 100644 index c5a45a8f311a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/data_table_response_object_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DataTableResponseObject(Model): - """Data Table which defines columns and raw row values. - - :param table_name: Name of the table - :type table_name: str - :param columns: List of columns with data types - :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] - :param rows: Raw row values - :type rows: list[list[str]] - """ - - _attribute_map = { - 'table_name': {'key': 'tableName', 'type': 'str'}, - 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, - 'rows': {'key': 'rows', 'type': '[[str]]'}, - } - - def __init__(self, *, table_name: str=None, columns=None, rows=None, **kwargs) -> None: - super(DataTableResponseObject, self).__init__(**kwargs) - self.table_name = table_name - self.columns = columns - self.rows = rows diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting.py deleted file mode 100644 index a9ea496e18bc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DatabaseBackupSetting(Model): - """Database backup settings. - - All required parameters must be populated in order to send to Azure. - - :param database_type: Required. Database type (e.g. SqlAzure / MySql). - Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' - :type database_type: str or ~azure.mgmt.web.models.DatabaseType - :param name: - :type name: str - :param connection_string_name: Contains a connection string name that is - linked to the SiteConfig.ConnectionStrings. - This is used during restore with overwrite connection strings options. - :type connection_string_name: str - :param connection_string: Contains a connection string to a database which - is being backed up or restored. If the restore should happen to a new - database, the database name inside is the new one. - :type connection_string: str - """ - - _validation = { - 'database_type': {'required': True}, - } - - _attribute_map = { - 'database_type': {'key': 'databaseType', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, - 'connection_string': {'key': 'connectionString', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DatabaseBackupSetting, self).__init__(**kwargs) - self.database_type = kwargs.get('database_type', None) - self.name = kwargs.get('name', None) - self.connection_string_name = kwargs.get('connection_string_name', None) - self.connection_string = kwargs.get('connection_string', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting_py3.py deleted file mode 100644 index caeb63246f45..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/database_backup_setting_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DatabaseBackupSetting(Model): - """Database backup settings. - - All required parameters must be populated in order to send to Azure. - - :param database_type: Required. Database type (e.g. SqlAzure / MySql). - Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' - :type database_type: str or ~azure.mgmt.web.models.DatabaseType - :param name: - :type name: str - :param connection_string_name: Contains a connection string name that is - linked to the SiteConfig.ConnectionStrings. - This is used during restore with overwrite connection strings options. - :type connection_string_name: str - :param connection_string: Contains a connection string to a database which - is being backed up or restored. If the restore should happen to a new - database, the database name inside is the new one. - :type connection_string: str - """ - - _validation = { - 'database_type': {'required': True}, - } - - _attribute_map = { - 'database_type': {'key': 'databaseType', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, - 'connection_string': {'key': 'connectionString', 'type': 'str'}, - } - - def __init__(self, *, database_type, name: str=None, connection_string_name: str=None, connection_string: str=None, **kwargs) -> None: - super(DatabaseBackupSetting, self).__init__(**kwargs) - self.database_type = database_type - self.name = name - self.connection_string_name = connection_string_name - self.connection_string = connection_string diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response.py deleted file mode 100644 index 438128e5fc67..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 DefaultErrorResponse(Model): - """App Service error response. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar error: Error model. - :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, - } - - def __init__(self, **kwargs): - super(DefaultErrorResponse, self).__init__(**kwargs) - self.error = None - - -class DefaultErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'DefaultErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error.py deleted file mode 100644 index df5d32e35563..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DefaultErrorResponseError(Model): - """Error model. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Standardized string to programmatically identify the error. - :vartype code: str - :ivar message: Detailed error description and debugging information. - :vartype message: str - :ivar target: Detailed error description and debugging information. - :vartype target: str - :param details: - :type details: - list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] - :ivar innererror: More information to debug error. - :vartype innererror: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'innererror': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, - 'innererror': {'key': 'innererror', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DefaultErrorResponseError, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = kwargs.get('details', None) - self.innererror = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item.py deleted file mode 100644 index 7fb1c5ded635..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DefaultErrorResponseErrorDetailsItem(Model): - """Detailed errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Standardized string to programmatically identify the error. - :vartype code: str - :ivar message: Detailed error description and debugging information. - :vartype message: str - :ivar target: Detailed error description and debugging information. - :vartype target: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item_py3.py deleted file mode 100644 index 9a4deb14b49e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_details_item_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DefaultErrorResponseErrorDetailsItem(Model): - """Detailed errors. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Standardized string to programmatically identify the error. - :vartype code: str - :ivar message: Detailed error description and debugging information. - :vartype message: str - :ivar target: Detailed error description and debugging information. - :vartype target: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_py3.py deleted file mode 100644 index b8666a06f08a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_error_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DefaultErrorResponseError(Model): - """Error model. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar code: Standardized string to programmatically identify the error. - :vartype code: str - :ivar message: Detailed error description and debugging information. - :vartype message: str - :ivar target: Detailed error description and debugging information. - :vartype target: str - :param details: - :type details: - list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] - :ivar innererror: More information to debug error. - :vartype innererror: str - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'innererror': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, - 'innererror': {'key': 'innererror', 'type': 'str'}, - } - - def __init__(self, *, details=None, **kwargs) -> None: - super(DefaultErrorResponseError, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = details - self.innererror = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_py3.py deleted file mode 100644 index f121af5f03b0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/default_error_response_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by 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 DefaultErrorResponse(Model): - """App Service error response. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar error: Error model. - :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, - } - - def __init__(self, **kwargs) -> None: - super(DefaultErrorResponse, self).__init__(**kwargs) - self.error = None - - -class DefaultErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'DefaultErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request.py deleted file mode 100644 index 42d5ae80a25e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DeletedAppRestoreRequest(ProxyOnlyResource): - """Details about restoring a deleted app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param deleted_site_id: ARM resource ID of the deleted app. Example: - /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} - :type deleted_site_id: str - :param recover_configuration: If true, deleted site configuration, in - addition to content, will be restored. - :type recover_configuration: bool - :param snapshot_time: Point in time to restore the deleted app from, - formatted as a DateTime string. - If unspecified, default value is the time that the app was deleted. - :type snapshot_time: str - :param use_dr_secondary: If true, the snapshot is retrieved from - DRSecondary endpoint. - :type use_dr_secondary: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'str'}, - 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, - 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DeletedAppRestoreRequest, self).__init__(**kwargs) - self.deleted_site_id = kwargs.get('deleted_site_id', None) - self.recover_configuration = kwargs.get('recover_configuration', None) - self.snapshot_time = kwargs.get('snapshot_time', None) - self.use_dr_secondary = kwargs.get('use_dr_secondary', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request_py3.py deleted file mode 100644 index 3216b8c3056f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_app_restore_request_py3.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DeletedAppRestoreRequest(ProxyOnlyResource): - """Details about restoring a deleted app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param deleted_site_id: ARM resource ID of the deleted app. Example: - /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} - :type deleted_site_id: str - :param recover_configuration: If true, deleted site configuration, in - addition to content, will be restored. - :type recover_configuration: bool - :param snapshot_time: Point in time to restore the deleted app from, - formatted as a DateTime string. - If unspecified, default value is the time that the app was deleted. - :type snapshot_time: str - :param use_dr_secondary: If true, the snapshot is retrieved from - DRSecondary endpoint. - :type use_dr_secondary: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'str'}, - 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, - 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, deleted_site_id: str=None, recover_configuration: bool=None, snapshot_time: str=None, use_dr_secondary: bool=None, **kwargs) -> None: - super(DeletedAppRestoreRequest, self).__init__(kind=kind, **kwargs) - self.deleted_site_id = deleted_site_id - self.recover_configuration = recover_configuration - self.snapshot_time = snapshot_time - self.use_dr_secondary = use_dr_secondary diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site.py deleted file mode 100644 index 988f07e40f40..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DeletedSite(ProxyOnlyResource): - """A deleted app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar deleted_site_id: Numeric id for the deleted site - :vartype deleted_site_id: int - :ivar deleted_timestamp: Time in UTC when the app was deleted. - :vartype deleted_timestamp: str - :ivar subscription: Subscription containing the deleted site - :vartype subscription: str - :ivar resource_group: ResourceGroup that contained the deleted site - :vartype resource_group: str - :ivar deleted_site_name: Name of the deleted site - :vartype deleted_site_name: str - :ivar slot: Slot of the deleted site - :vartype slot: str - :ivar deleted_site_kind: Kind of site that was deleted - :vartype deleted_site_kind: str - :ivar geo_region_name: Geo Region of the deleted site - :vartype geo_region_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'deleted_site_id': {'readonly': True}, - 'deleted_timestamp': {'readonly': True}, - 'subscription': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'deleted_site_name': {'readonly': True}, - 'slot': {'readonly': True}, - 'deleted_site_kind': {'readonly': True}, - 'geo_region_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, - 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, - 'slot': {'key': 'properties.slot', 'type': 'str'}, - 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, - 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DeletedSite, self).__init__(**kwargs) - self.deleted_site_id = None - self.deleted_timestamp = None - self.subscription = None - self.resource_group = None - self.deleted_site_name = None - self.slot = None - self.deleted_site_kind = None - self.geo_region_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_paged.py deleted file mode 100644 index 68f64b8f938b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DeletedSitePaged(Paged): - """ - A paging container for iterating over a list of :class:`DeletedSite ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DeletedSite]'} - } - - def __init__(self, *args, **kwargs): - - super(DeletedSitePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_py3.py deleted file mode 100644 index 91ceedb6c2cd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deleted_site_py3.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DeletedSite(ProxyOnlyResource): - """A deleted app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar deleted_site_id: Numeric id for the deleted site - :vartype deleted_site_id: int - :ivar deleted_timestamp: Time in UTC when the app was deleted. - :vartype deleted_timestamp: str - :ivar subscription: Subscription containing the deleted site - :vartype subscription: str - :ivar resource_group: ResourceGroup that contained the deleted site - :vartype resource_group: str - :ivar deleted_site_name: Name of the deleted site - :vartype deleted_site_name: str - :ivar slot: Slot of the deleted site - :vartype slot: str - :ivar deleted_site_kind: Kind of site that was deleted - :vartype deleted_site_kind: str - :ivar geo_region_name: Geo Region of the deleted site - :vartype geo_region_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'deleted_site_id': {'readonly': True}, - 'deleted_timestamp': {'readonly': True}, - 'subscription': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'deleted_site_name': {'readonly': True}, - 'slot': {'readonly': True}, - 'deleted_site_kind': {'readonly': True}, - 'geo_region_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, - 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, - 'subscription': {'key': 'properties.subscription', 'type': 'str'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, - 'slot': {'key': 'properties.slot', 'type': 'str'}, - 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, - 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(DeletedSite, self).__init__(kind=kind, **kwargs) - self.deleted_site_id = None - self.deleted_timestamp = None - self.subscription = None - self.resource_group = None - self.deleted_site_name = None - self.slot = None - self.deleted_site_kind = None - self.geo_region_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment.py deleted file mode 100644 index e1edd8b35d22..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class Deployment(ProxyOnlyResource): - """User credentials used for publishing activity. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param status: Deployment status. - :type status: int - :param message: Details about deployment status. - :type message: str - :param author: Who authored the deployment. - :type author: str - :param deployer: Who performed the deployment. - :type deployer: str - :param author_email: Author email. - :type author_email: str - :param start_time: Start time. - :type start_time: datetime - :param end_time: End time. - :type end_time: datetime - :param active: True if deployment is currently active, false if completed - and null if not started. - :type active: bool - :param details: Details on deployment. - :type details: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'int'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'author': {'key': 'properties.author', 'type': 'str'}, - 'deployer': {'key': 'properties.deployer', 'type': 'str'}, - 'author_email': {'key': 'properties.author_email', 'type': 'str'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, - 'active': {'key': 'properties.active', 'type': 'bool'}, - 'details': {'key': 'properties.details', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Deployment, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.message = kwargs.get('message', None) - self.author = kwargs.get('author', None) - self.deployer = kwargs.get('deployer', None) - self.author_email = kwargs.get('author_email', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.active = kwargs.get('active', None) - self.details = kwargs.get('details', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations.py deleted file mode 100644 index f7cf08b81fa3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeploymentLocations(Model): - """List of available locations (regions or App Service Environments) for - deployment of App Service resources. - - :param locations: Available regions. - :type locations: list[~azure.mgmt.web.models.GeoRegion] - :param hosting_environments: Available App Service Environments with full - descriptions of the environments. - :type hosting_environments: - list[~azure.mgmt.web.models.AppServiceEnvironment] - :param hosting_environment_deployment_infos: Available App Service - Environments with basic information. - :type hosting_environment_deployment_infos: - list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] - """ - - _attribute_map = { - 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, - 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, - 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, - } - - def __init__(self, **kwargs): - super(DeploymentLocations, self).__init__(**kwargs) - self.locations = kwargs.get('locations', None) - self.hosting_environments = kwargs.get('hosting_environments', None) - self.hosting_environment_deployment_infos = kwargs.get('hosting_environment_deployment_infos', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations_py3.py deleted file mode 100644 index 19167455ae81..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_locations_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DeploymentLocations(Model): - """List of available locations (regions or App Service Environments) for - deployment of App Service resources. - - :param locations: Available regions. - :type locations: list[~azure.mgmt.web.models.GeoRegion] - :param hosting_environments: Available App Service Environments with full - descriptions of the environments. - :type hosting_environments: - list[~azure.mgmt.web.models.AppServiceEnvironment] - :param hosting_environment_deployment_infos: Available App Service - Environments with basic information. - :type hosting_environment_deployment_infos: - list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] - """ - - _attribute_map = { - 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, - 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, - 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, - } - - def __init__(self, *, locations=None, hosting_environments=None, hosting_environment_deployment_infos=None, **kwargs) -> None: - super(DeploymentLocations, self).__init__(**kwargs) - self.locations = locations - self.hosting_environments = hosting_environments - self.hosting_environment_deployment_infos = hosting_environment_deployment_infos diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_paged.py deleted file mode 100644 index ac2038dab743..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DeploymentPaged(Paged): - """ - A paging container for iterating over a list of :class:`Deployment ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Deployment]'} - } - - def __init__(self, *args, **kwargs): - - super(DeploymentPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_py3.py deleted file mode 100644 index 31037b9858d8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/deployment_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class Deployment(ProxyOnlyResource): - """User credentials used for publishing activity. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param status: Deployment status. - :type status: int - :param message: Details about deployment status. - :type message: str - :param author: Who authored the deployment. - :type author: str - :param deployer: Who performed the deployment. - :type deployer: str - :param author_email: Author email. - :type author_email: str - :param start_time: Start time. - :type start_time: datetime - :param end_time: End time. - :type end_time: datetime - :param active: True if deployment is currently active, false if completed - and null if not started. - :type active: bool - :param details: Details on deployment. - :type details: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'int'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'author': {'key': 'properties.author', 'type': 'str'}, - 'deployer': {'key': 'properties.deployer', 'type': 'str'}, - 'author_email': {'key': 'properties.author_email', 'type': 'str'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, - 'active': {'key': 'properties.active', 'type': 'bool'}, - 'details': {'key': 'properties.details', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, status: int=None, message: str=None, author: str=None, deployer: str=None, author_email: str=None, start_time=None, end_time=None, active: bool=None, details: str=None, **kwargs) -> None: - super(Deployment, self).__init__(kind=kind, **kwargs) - self.status = status - self.message = message - self.author = author - self.deployer = deployer - self.author_email = author_email - self.start_time = start_time - self.end_time = end_time - self.active = active - self.details = details diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period.py deleted file mode 100644 index f1b0e84468d5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DetectorAbnormalTimePeriod(Model): - """Class representing Abnormal Time Period detected. - - :param start_time: Start time of the correlated event - :type start_time: datetime - :param end_time: End time of the correlated event - :type end_time: datetime - :param message: Message describing the event - :type message: str - :param source: Represents the name of the Detector - :type source: str - :param priority: Represents the rank of the Detector - :type priority: float - :param meta_data: Downtime metadata - :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param type: Represents the type of the Detector. Possible values include: - 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', - 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' - :type type: str or ~azure.mgmt.web.models.IssueType - :param solutions: List of proposed solutions - :type solutions: list[~azure.mgmt.web.models.Solution] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'float'}, - 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, - 'type': {'key': 'type', 'type': 'IssueType'}, - 'solutions': {'key': 'solutions', 'type': '[Solution]'}, - } - - def __init__(self, **kwargs): - super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.message = kwargs.get('message', None) - self.source = kwargs.get('source', None) - self.priority = kwargs.get('priority', None) - self.meta_data = kwargs.get('meta_data', None) - self.type = kwargs.get('type', None) - self.solutions = kwargs.get('solutions', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period_py3.py deleted file mode 100644 index 6fc4258bef34..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_abnormal_time_period_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DetectorAbnormalTimePeriod(Model): - """Class representing Abnormal Time Period detected. - - :param start_time: Start time of the correlated event - :type start_time: datetime - :param end_time: End time of the correlated event - :type end_time: datetime - :param message: Message describing the event - :type message: str - :param source: Represents the name of the Detector - :type source: str - :param priority: Represents the rank of the Detector - :type priority: float - :param meta_data: Downtime metadata - :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param type: Represents the type of the Detector. Possible values include: - 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', - 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' - :type type: str or ~azure.mgmt.web.models.IssueType - :param solutions: List of proposed solutions - :type solutions: list[~azure.mgmt.web.models.Solution] - """ - - _attribute_map = { - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'source': {'key': 'source', 'type': 'str'}, - 'priority': {'key': 'priority', 'type': 'float'}, - 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, - 'type': {'key': 'type', 'type': 'IssueType'}, - 'solutions': {'key': 'solutions', 'type': '[Solution]'}, - } - - def __init__(self, *, start_time=None, end_time=None, message: str=None, source: str=None, priority: float=None, meta_data=None, type=None, solutions=None, **kwargs) -> None: - super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) - self.start_time = start_time - self.end_time = end_time - self.message = message - self.source = source - self.priority = priority - self.meta_data = meta_data - self.type = type - self.solutions = solutions diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition.py deleted file mode 100644 index df4be4fcf342..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DetectorDefinition(ProxyOnlyResource): - """Class representing detector definition. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar display_name: Display name of the detector - :vartype display_name: str - :ivar description: Description of the detector - :vartype description: str - :ivar rank: Detector Rank - :vartype rank: float - :ivar is_enabled: Flag representing whether detector is enabled or not. - :vartype is_enabled: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'rank': {'readonly': True}, - 'is_enabled': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'rank': {'key': 'properties.rank', 'type': 'float'}, - 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DetectorDefinition, self).__init__(**kwargs) - self.display_name = None - self.description = None - self.rank = None - self.is_enabled = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_paged.py deleted file mode 100644 index c06622eea4e2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DetectorDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`DetectorDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DetectorDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(DetectorDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_py3.py deleted file mode 100644 index 0f4e5a33e49c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_definition_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DetectorDefinition(ProxyOnlyResource): - """Class representing detector definition. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar display_name: Display name of the detector - :vartype display_name: str - :ivar description: Description of the detector - :vartype description: str - :ivar rank: Detector Rank - :vartype rank: float - :ivar is_enabled: Flag representing whether detector is enabled or not. - :vartype is_enabled: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'rank': {'readonly': True}, - 'is_enabled': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'rank': {'key': 'properties.rank', 'type': 'float'}, - 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(DetectorDefinition, self).__init__(kind=kind, **kwargs) - self.display_name = None - self.description = None - self.rank = None - self.is_enabled = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info.py deleted file mode 100644 index 2cc5f88f8eb8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DetectorInfo(Model): - """Definition of Detector. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar description: Short description of the detector and its purpose - :vartype description: str - :ivar category: Support Category - :vartype category: str - :ivar sub_category: Support Sub Category - :vartype sub_category: str - :ivar support_topic_id: Support Topic Id - :vartype support_topic_id: str - """ - - _validation = { - 'description': {'readonly': True}, - 'category': {'readonly': True}, - 'sub_category': {'readonly': True}, - 'support_topic_id': {'readonly': True}, - } - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'category': {'key': 'category', 'type': 'str'}, - 'sub_category': {'key': 'subCategory', 'type': 'str'}, - 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DetectorInfo, self).__init__(**kwargs) - self.description = None - self.category = None - self.sub_category = None - self.support_topic_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info_py3.py deleted file mode 100644 index 0343c78a5c09..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_info_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DetectorInfo(Model): - """Definition of Detector. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar description: Short description of the detector and its purpose - :vartype description: str - :ivar category: Support Category - :vartype category: str - :ivar sub_category: Support Sub Category - :vartype sub_category: str - :ivar support_topic_id: Support Topic Id - :vartype support_topic_id: str - """ - - _validation = { - 'description': {'readonly': True}, - 'category': {'readonly': True}, - 'sub_category': {'readonly': True}, - 'support_topic_id': {'readonly': True}, - } - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'category': {'key': 'category', 'type': 'str'}, - 'sub_category': {'key': 'subCategory', 'type': 'str'}, - 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(DetectorInfo, self).__init__(**kwargs) - self.description = None - self.category = None - self.sub_category = None - self.support_topic_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response.py deleted file mode 100644 index 65a27080a7aa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DetectorResponse(ProxyOnlyResource): - """Class representing Response from Detector. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param metadata: metadata for the detector - :type metadata: ~azure.mgmt.web.models.DetectorInfo - :param dataset: Data Set - :type dataset: list[~azure.mgmt.web.models.DiagnosticData] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, - 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, - } - - def __init__(self, **kwargs): - super(DetectorResponse, self).__init__(**kwargs) - self.metadata = kwargs.get('metadata', None) - self.dataset = kwargs.get('dataset', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_paged.py deleted file mode 100644 index 57ed8d9b2788..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DetectorResponsePaged(Paged): - """ - A paging container for iterating over a list of :class:`DetectorResponse ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DetectorResponse]'} - } - - def __init__(self, *args, **kwargs): - - super(DetectorResponsePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_py3.py deleted file mode 100644 index 62ee24bac96e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/detector_response_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DetectorResponse(ProxyOnlyResource): - """Class representing Response from Detector. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param metadata: metadata for the detector - :type metadata: ~azure.mgmt.web.models.DetectorInfo - :param dataset: Data Set - :type dataset: list[~azure.mgmt.web.models.DiagnosticData] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, - 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, - } - - def __init__(self, *, kind: str=None, metadata=None, dataset=None, **kwargs) -> None: - super(DetectorResponse, self).__init__(kind=kind, **kwargs) - self.metadata = metadata - self.dataset = dataset diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis.py deleted file mode 100644 index 4f81c2feea2d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DiagnosticAnalysis(ProxyOnlyResource): - """Class representing a diagnostic analysis done on an 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param abnormal_time_periods: List of time periods. - :type abnormal_time_periods: - list[~azure.mgmt.web.models.AbnormalTimePeriod] - :param payload: Data by each detector - :type payload: list[~azure.mgmt.web.models.AnalysisData] - :param non_correlated_detectors: Data by each detector for detectors that - did not corelate - :type non_correlated_detectors: - list[~azure.mgmt.web.models.DetectorDefinition] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, - 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, - 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, - } - - def __init__(self, **kwargs): - super(DiagnosticAnalysis, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) - self.payload = kwargs.get('payload', None) - self.non_correlated_detectors = kwargs.get('non_correlated_detectors', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis_py3.py deleted file mode 100644 index db37d477914b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_analysis_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DiagnosticAnalysis(ProxyOnlyResource): - """Class representing a diagnostic analysis done on an 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param abnormal_time_periods: List of time periods. - :type abnormal_time_periods: - list[~azure.mgmt.web.models.AbnormalTimePeriod] - :param payload: Data by each detector - :type payload: list[~azure.mgmt.web.models.AnalysisData] - :param non_correlated_detectors: Data by each detector for detectors that - did not corelate - :type non_correlated_detectors: - list[~azure.mgmt.web.models.DetectorDefinition] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, - 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, - 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, - } - - def __init__(self, *, kind: str=None, start_time=None, end_time=None, abnormal_time_periods=None, payload=None, non_correlated_detectors=None, **kwargs) -> None: - super(DiagnosticAnalysis, self).__init__(kind=kind, **kwargs) - self.start_time = start_time - self.end_time = end_time - self.abnormal_time_periods = abnormal_time_periods - self.payload = payload - self.non_correlated_detectors = non_correlated_detectors diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category.py deleted file mode 100644 index 12254857ac08..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DiagnosticCategory(ProxyOnlyResource): - """Class representing detector definition. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Description of the diagnostic category - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DiagnosticCategory, self).__init__(**kwargs) - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_paged.py deleted file mode 100644 index d5b93f03ced9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DiagnosticCategoryPaged(Paged): - """ - A paging container for iterating over a list of :class:`DiagnosticCategory ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DiagnosticCategory]'} - } - - def __init__(self, *args, **kwargs): - - super(DiagnosticCategoryPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_py3.py deleted file mode 100644 index 615efcf62549..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_category_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DiagnosticCategory(ProxyOnlyResource): - """Class representing detector definition. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Description of the diagnostic category - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(DiagnosticCategory, self).__init__(kind=kind, **kwargs) - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data.py deleted file mode 100644 index 96cd3ed7d5e2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticData(Model): - """Set of data with rendering instructions. - - :param table: Data in table form - :type table: ~azure.mgmt.web.models.DataTableResponseObject - :param rendering_properties: Properties that describe how the table should - be rendered - :type rendering_properties: ~azure.mgmt.web.models.Rendering - """ - - _attribute_map = { - 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, - 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, - } - - def __init__(self, **kwargs): - super(DiagnosticData, self).__init__(**kwargs) - self.table = kwargs.get('table', None) - self.rendering_properties = kwargs.get('rendering_properties', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data_py3.py deleted file mode 100644 index bc45e433b578..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_data_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticData(Model): - """Set of data with rendering instructions. - - :param table: Data in table form - :type table: ~azure.mgmt.web.models.DataTableResponseObject - :param rendering_properties: Properties that describe how the table should - be rendered - :type rendering_properties: ~azure.mgmt.web.models.Rendering - """ - - _attribute_map = { - 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, - 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, - } - - def __init__(self, *, table=None, rendering_properties=None, **kwargs) -> None: - super(DiagnosticData, self).__init__(**kwargs) - self.table = table - self.rendering_properties = rendering_properties diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response.py deleted file mode 100644 index 02cf6db30707..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DiagnosticDetectorResponse(ProxyOnlyResource): - """Class representing Response from Diagnostic Detectors. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param issue_detected: Flag representing Issue was detected. - :type issue_detected: bool - :param detector_definition: Detector's definition - :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition - :param metrics: Metrics provided by the detector - :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] - :param abnormal_time_periods: List of Correlated events found by the - detector - :type abnormal_time_periods: - list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] - :param data: Additional Data that detector wants to send. - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param response_meta_data: Meta Data - :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, - 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, - 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, - 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, - 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, - 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, - } - - def __init__(self, **kwargs): - super(DiagnosticDetectorResponse, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.issue_detected = kwargs.get('issue_detected', None) - self.detector_definition = kwargs.get('detector_definition', None) - self.metrics = kwargs.get('metrics', None) - self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) - self.data = kwargs.get('data', None) - self.response_meta_data = kwargs.get('response_meta_data', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response_py3.py deleted file mode 100644 index a7fb46dbb467..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_detector_response_py3.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DiagnosticDetectorResponse(ProxyOnlyResource): - """Class representing Response from Diagnostic Detectors. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param issue_detected: Flag representing Issue was detected. - :type issue_detected: bool - :param detector_definition: Detector's definition - :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition - :param metrics: Metrics provided by the detector - :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] - :param abnormal_time_periods: List of Correlated events found by the - detector - :type abnormal_time_periods: - list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] - :param data: Additional Data that detector wants to send. - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param response_meta_data: Meta Data - :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, - 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, - 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, - 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, - 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, - 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, - } - - def __init__(self, *, kind: str=None, start_time=None, end_time=None, issue_detected: bool=None, detector_definition=None, metrics=None, abnormal_time_periods=None, data=None, response_meta_data=None, **kwargs) -> None: - super(DiagnosticDetectorResponse, self).__init__(kind=kind, **kwargs) - self.start_time = start_time - self.end_time = end_time - self.issue_detected = issue_detected - self.detector_definition = detector_definition - self.metrics = metrics - self.abnormal_time_periods = abnormal_time_periods - self.data = data - self.response_meta_data = response_meta_data diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample.py deleted file mode 100644 index fba987dbfbb2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticMetricSample(Model): - """Class representing Diagnostic Metric. - - :param timestamp: Time at which metric is measured - :type timestamp: datetime - :param role_instance: Role Instance. Null if this counter is not per - instance - This is returned and should be whichever instance name we desire to be - returned - i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) - where RDWORKERNAME is Machine name below and RoleInstance name in - parenthesis - :type role_instance: str - :param total: Total value of the metric. If multiple measurements are made - this will have sum of all. - :type total: float - :param maximum: Maximum of the metric sampled during the time period - :type maximum: float - :param minimum: Minimum of the metric sampled during the time period - :type minimum: float - :param is_aggregated: Whether the values are aggregates across all workers - or not - :type is_aggregated: bool - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'role_instance': {'key': 'roleInstance', 'type': 'str'}, - 'total': {'key': 'total', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(DiagnosticMetricSample, self).__init__(**kwargs) - self.timestamp = kwargs.get('timestamp', None) - self.role_instance = kwargs.get('role_instance', None) - self.total = kwargs.get('total', None) - self.maximum = kwargs.get('maximum', None) - self.minimum = kwargs.get('minimum', None) - self.is_aggregated = kwargs.get('is_aggregated', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample_py3.py deleted file mode 100644 index c558571a8ea9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_sample_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticMetricSample(Model): - """Class representing Diagnostic Metric. - - :param timestamp: Time at which metric is measured - :type timestamp: datetime - :param role_instance: Role Instance. Null if this counter is not per - instance - This is returned and should be whichever instance name we desire to be - returned - i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) - where RDWORKERNAME is Machine name below and RoleInstance name in - parenthesis - :type role_instance: str - :param total: Total value of the metric. If multiple measurements are made - this will have sum of all. - :type total: float - :param maximum: Maximum of the metric sampled during the time period - :type maximum: float - :param minimum: Minimum of the metric sampled during the time period - :type minimum: float - :param is_aggregated: Whether the values are aggregates across all workers - or not - :type is_aggregated: bool - """ - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'role_instance': {'key': 'roleInstance', 'type': 'str'}, - 'total': {'key': 'total', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, - } - - def __init__(self, *, timestamp=None, role_instance: str=None, total: float=None, maximum: float=None, minimum: float=None, is_aggregated: bool=None, **kwargs) -> None: - super(DiagnosticMetricSample, self).__init__(**kwargs) - self.timestamp = timestamp - self.role_instance = role_instance - self.total = total - self.maximum = maximum - self.minimum = minimum - self.is_aggregated = is_aggregated diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set.py deleted file mode 100644 index 52f58b0931f9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticMetricSet(Model): - """Class representing Diagnostic Metric information. - - :param name: Name of the metric - :type name: str - :param unit: Metric's unit - :type unit: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param time_grain: Presented time grain. Supported grains at the moment - are PT1M, PT1H, P1D - :type time_grain: str - :param values: Collection of metric values for the selected period based - on the - {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} - :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, - } - - def __init__(self, **kwargs): - super(DiagnosticMetricSet, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.unit = kwargs.get('unit', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.time_grain = kwargs.get('time_grain', None) - self.values = kwargs.get('values', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set_py3.py deleted file mode 100644 index 1af57065bf85..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/diagnostic_metric_set_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DiagnosticMetricSet(Model): - """Class representing Diagnostic Metric information. - - :param name: Name of the metric - :type name: str - :param unit: Metric's unit - :type unit: str - :param start_time: Start time of the period - :type start_time: datetime - :param end_time: End time of the period - :type end_time: datetime - :param time_grain: Presented time grain. Supported grains at the moment - are PT1M, PT1H, P1D - :type time_grain: str - :param values: Collection of metric values for the selected period based - on the - {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} - :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, - } - - def __init__(self, *, name: str=None, unit: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: - super(DiagnosticMetricSet, self).__init__(**kwargs) - self.name = name - self.unit = unit - self.start_time = start_time - self.end_time = end_time - self.time_grain = time_grain - self.values = values diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension.py deleted file mode 100644 index d4c844f865ca..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Dimension(Model): - """Dimension of a resource metric. For e.g. instance specific HTTP requests - for a web app, - where instance name is dimension of the metric HTTP request. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param internal_name: - :type internal_name: str - :param to_be_exported_for_shoebox: - :type to_be_exported_for_shoebox: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(Dimension, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.internal_name = kwargs.get('internal_name', None) - self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension_py3.py deleted file mode 100644 index 6ea1212b77fb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/dimension_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Dimension(Model): - """Dimension of a resource metric. For e.g. instance specific HTTP requests - for a web app, - where instance name is dimension of the metric HTTP request. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param internal_name: - :type internal_name: str - :param to_be_exported_for_shoebox: - :type to_be_exported_for_shoebox: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'internal_name': {'key': 'internalName', 'type': 'str'}, - 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, to_be_exported_for_shoebox: bool=None, **kwargs) -> None: - super(Dimension, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.internal_name = internal_name - self.to_be_exported_for_shoebox = to_be_exported_for_shoebox diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain.py deleted file mode 100644 index 68526b10ca81..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Domain(Resource): - """Information about a domain. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param contact_admin: Required. Administrative contact. - :type contact_admin: ~azure.mgmt.web.models.Contact - :param contact_billing: Required. Billing contact. - :type contact_billing: ~azure.mgmt.web.models.Contact - :param contact_registrant: Required. Registrant contact. - :type contact_registrant: ~azure.mgmt.web.models.Contact - :param contact_tech: Required. Technical contact. - :type contact_tech: ~azure.mgmt.web.models.Contact - :ivar registration_status: Domain registration status. Possible values - include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', - 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', - 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - 'Unparked', 'Updated', 'JsonConverterFailed' - :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus - :ivar provisioning_state: Domain provisioning state. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar name_servers: Name servers. - :vartype name_servers: list[str] - :param privacy: true if domain privacy is enabled for this - domain; otherwise, false. - :type privacy: bool - :ivar created_time: Domain creation timestamp. - :vartype created_time: datetime - :ivar expiration_time: Domain expiration timestamp. - :vartype expiration_time: datetime - :ivar last_renewed_time: Timestamp when the domain was renewed last time. - :vartype last_renewed_time: datetime - :param auto_renew: true if the domain should be automatically - renewed; otherwise, false. Default value: True . - :type auto_renew: bool - :ivar ready_for_dns_record_management: true if Azure can - assign this domain to App Service apps; otherwise, false. - This value will be true if domain registration status is - active and - it is hosted on name servers Azure has programmatic access to. - :vartype ready_for_dns_record_management: bool - :ivar managed_host_names: All hostnames derived from the domain and - assigned to Azure resources. - :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] - :param consent: Required. Legal agreement consent. - :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent - :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. - :vartype domain_not_renewable_reasons: list[str] - :param dns_type: Current DNS type. Possible values include: 'AzureDns', - 'DefaultDomainRegistrarDns' - :type dns_type: str or ~azure.mgmt.web.models.DnsType - :param dns_zone_id: Azure DNS Zone to use - :type dns_zone_id: str - :param target_dns_type: Target DNS type (would be used for migration). - Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' - :type target_dns_type: str or ~azure.mgmt.web.models.DnsType - :param auth_code: - :type auth_code: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'contact_admin': {'required': True}, - 'contact_billing': {'required': True}, - 'contact_registrant': {'required': True}, - 'contact_tech': {'required': True}, - 'registration_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name_servers': {'readonly': True}, - 'created_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'last_renewed_time': {'readonly': True}, - 'ready_for_dns_record_management': {'readonly': True}, - 'managed_host_names': {'readonly': True}, - 'consent': {'required': True}, - 'domain_not_renewable_reasons': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, - 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, - 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, - 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, - 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, - 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, - 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, - 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, - 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, - 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, - 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, - 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Domain, self).__init__(**kwargs) - self.contact_admin = kwargs.get('contact_admin', None) - self.contact_billing = kwargs.get('contact_billing', None) - self.contact_registrant = kwargs.get('contact_registrant', None) - self.contact_tech = kwargs.get('contact_tech', None) - self.registration_status = None - self.provisioning_state = None - self.name_servers = None - self.privacy = kwargs.get('privacy', None) - self.created_time = None - self.expiration_time = None - self.last_renewed_time = None - self.auto_renew = kwargs.get('auto_renew', True) - self.ready_for_dns_record_management = None - self.managed_host_names = None - self.consent = kwargs.get('consent', None) - self.domain_not_renewable_reasons = None - self.dns_type = kwargs.get('dns_type', None) - self.dns_zone_id = kwargs.get('dns_zone_id', None) - self.target_dns_type = kwargs.get('target_dns_type', None) - self.auth_code = kwargs.get('auth_code', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result.py deleted file mode 100644 index e56481b9dfeb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainAvailablilityCheckResult(Model): - """Domain availability check result. - - :param name: Name of the domain. - :type name: str - :param available: true if domain can be purchased using - CreateDomain API; otherwise, false. - :type available: bool - :param domain_type: Valid values are Regular domain: Azure will charge the - full price of domain registration, SoftDeleted: Purchasing this domain - will simply restore it and this operation will not cost anything. Possible - values include: 'Regular', 'SoftDeleted' - :type domain_type: str or ~azure.mgmt.web.models.DomainType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'available': {'key': 'available', 'type': 'bool'}, - 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, - } - - def __init__(self, **kwargs): - super(DomainAvailablilityCheckResult, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.available = kwargs.get('available', None) - self.domain_type = kwargs.get('domain_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result_py3.py deleted file mode 100644 index 605e13392d04..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_availablility_check_result_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainAvailablilityCheckResult(Model): - """Domain availability check result. - - :param name: Name of the domain. - :type name: str - :param available: true if domain can be purchased using - CreateDomain API; otherwise, false. - :type available: bool - :param domain_type: Valid values are Regular domain: Azure will charge the - full price of domain registration, SoftDeleted: Purchasing this domain - will simply restore it and this operation will not cost anything. Possible - values include: 'Regular', 'SoftDeleted' - :type domain_type: str or ~azure.mgmt.web.models.DomainType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'available': {'key': 'available', 'type': 'bool'}, - 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, - } - - def __init__(self, *, name: str=None, available: bool=None, domain_type=None, **kwargs) -> None: - super(DomainAvailablilityCheckResult, self).__init__(**kwargs) - self.name = name - self.available = available - self.domain_type = domain_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request.py deleted file mode 100644 index f132412df926..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainControlCenterSsoRequest(Model): - """Single sign-on request information for domain management. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar url: URL where the single sign-on request is to be made. - :vartype url: str - :ivar post_parameter_key: Post parameter key. - :vartype post_parameter_key: str - :ivar post_parameter_value: Post parameter value. Client should use - 'application/x-www-form-urlencoded' encoding for this value. - :vartype post_parameter_value: str - """ - - _validation = { - 'url': {'readonly': True}, - 'post_parameter_key': {'readonly': True}, - 'post_parameter_value': {'readonly': True}, - } - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, - 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DomainControlCenterSsoRequest, self).__init__(**kwargs) - self.url = None - self.post_parameter_key = None - self.post_parameter_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request_py3.py deleted file mode 100644 index 0e3c71311a22..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_control_center_sso_request_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainControlCenterSsoRequest(Model): - """Single sign-on request information for domain management. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar url: URL where the single sign-on request is to be made. - :vartype url: str - :ivar post_parameter_key: Post parameter key. - :vartype post_parameter_key: str - :ivar post_parameter_value: Post parameter value. Client should use - 'application/x-www-form-urlencoded' encoding for this value. - :vartype post_parameter_value: str - """ - - _validation = { - 'url': {'readonly': True}, - 'post_parameter_key': {'readonly': True}, - 'post_parameter_value': {'readonly': True}, - } - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, - 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(DomainControlCenterSsoRequest, self).__init__(**kwargs) - self.url = None - self.post_parameter_key = None - self.post_parameter_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier.py deleted file mode 100644 index 863d26cede05..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DomainOwnershipIdentifier(ProxyOnlyResource): - """Domain ownership Identifier. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param ownership_id: Ownership Id. - :type ownership_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DomainOwnershipIdentifier, self).__init__(**kwargs) - self.ownership_id = kwargs.get('ownership_id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_paged.py deleted file mode 100644 index 8e0784ce1ae4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DomainOwnershipIdentifierPaged(Paged): - """ - A paging container for iterating over a list of :class:`DomainOwnershipIdentifier ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[DomainOwnershipIdentifier]'} - } - - def __init__(self, *args, **kwargs): - - super(DomainOwnershipIdentifierPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_py3.py deleted file mode 100644 index 1cb2ea8a81dc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_ownership_identifier_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DomainOwnershipIdentifier(ProxyOnlyResource): - """Domain ownership Identifier. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param ownership_id: Ownership Id. - :type ownership_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, ownership_id: str=None, **kwargs) -> None: - super(DomainOwnershipIdentifier, self).__init__(kind=kind, **kwargs) - self.ownership_id = ownership_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_paged.py deleted file mode 100644 index 7a770b0d449f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 DomainPaged(Paged): - """ - A paging container for iterating over a list of :class:`Domain ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Domain]'} - } - - def __init__(self, *args, **kwargs): - - super(DomainPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource.py deleted file mode 100644 index 84a451a6ef12..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource.py +++ /dev/null @@ -1,156 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class DomainPatchResource(ProxyOnlyResource): - """ARM resource for a domain. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param contact_admin: Required. Administrative contact. - :type contact_admin: ~azure.mgmt.web.models.Contact - :param contact_billing: Required. Billing contact. - :type contact_billing: ~azure.mgmt.web.models.Contact - :param contact_registrant: Required. Registrant contact. - :type contact_registrant: ~azure.mgmt.web.models.Contact - :param contact_tech: Required. Technical contact. - :type contact_tech: ~azure.mgmt.web.models.Contact - :ivar registration_status: Domain registration status. Possible values - include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', - 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', - 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - 'Unparked', 'Updated', 'JsonConverterFailed' - :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus - :ivar provisioning_state: Domain provisioning state. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar name_servers: Name servers. - :vartype name_servers: list[str] - :param privacy: true if domain privacy is enabled for this - domain; otherwise, false. - :type privacy: bool - :ivar created_time: Domain creation timestamp. - :vartype created_time: datetime - :ivar expiration_time: Domain expiration timestamp. - :vartype expiration_time: datetime - :ivar last_renewed_time: Timestamp when the domain was renewed last time. - :vartype last_renewed_time: datetime - :param auto_renew: true if the domain should be automatically - renewed; otherwise, false. Default value: True . - :type auto_renew: bool - :ivar ready_for_dns_record_management: true if Azure can - assign this domain to App Service apps; otherwise, false. - This value will be true if domain registration status is - active and - it is hosted on name servers Azure has programmatic access to. - :vartype ready_for_dns_record_management: bool - :ivar managed_host_names: All hostnames derived from the domain and - assigned to Azure resources. - :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] - :param consent: Required. Legal agreement consent. - :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent - :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. - :vartype domain_not_renewable_reasons: list[str] - :param dns_type: Current DNS type. Possible values include: 'AzureDns', - 'DefaultDomainRegistrarDns' - :type dns_type: str or ~azure.mgmt.web.models.DnsType - :param dns_zone_id: Azure DNS Zone to use - :type dns_zone_id: str - :param target_dns_type: Target DNS type (would be used for migration). - Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' - :type target_dns_type: str or ~azure.mgmt.web.models.DnsType - :param auth_code: - :type auth_code: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'contact_admin': {'required': True}, - 'contact_billing': {'required': True}, - 'contact_registrant': {'required': True}, - 'contact_tech': {'required': True}, - 'registration_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name_servers': {'readonly': True}, - 'created_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'last_renewed_time': {'readonly': True}, - 'ready_for_dns_record_management': {'readonly': True}, - 'managed_host_names': {'readonly': True}, - 'consent': {'required': True}, - 'domain_not_renewable_reasons': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, - 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, - 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, - 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, - 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, - 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, - 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, - 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, - 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, - 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, - 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, - 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(DomainPatchResource, self).__init__(**kwargs) - self.contact_admin = kwargs.get('contact_admin', None) - self.contact_billing = kwargs.get('contact_billing', None) - self.contact_registrant = kwargs.get('contact_registrant', None) - self.contact_tech = kwargs.get('contact_tech', None) - self.registration_status = None - self.provisioning_state = None - self.name_servers = None - self.privacy = kwargs.get('privacy', None) - self.created_time = None - self.expiration_time = None - self.last_renewed_time = None - self.auto_renew = kwargs.get('auto_renew', True) - self.ready_for_dns_record_management = None - self.managed_host_names = None - self.consent = kwargs.get('consent', None) - self.domain_not_renewable_reasons = None - self.dns_type = kwargs.get('dns_type', None) - self.dns_zone_id = kwargs.get('dns_zone_id', None) - self.target_dns_type = kwargs.get('target_dns_type', None) - self.auth_code = kwargs.get('auth_code', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource_py3.py deleted file mode 100644 index d3369591df85..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_patch_resource_py3.py +++ /dev/null @@ -1,156 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class DomainPatchResource(ProxyOnlyResource): - """ARM resource for a domain. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param contact_admin: Required. Administrative contact. - :type contact_admin: ~azure.mgmt.web.models.Contact - :param contact_billing: Required. Billing contact. - :type contact_billing: ~azure.mgmt.web.models.Contact - :param contact_registrant: Required. Registrant contact. - :type contact_registrant: ~azure.mgmt.web.models.Contact - :param contact_tech: Required. Technical contact. - :type contact_tech: ~azure.mgmt.web.models.Contact - :ivar registration_status: Domain registration status. Possible values - include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', - 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', - 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - 'Unparked', 'Updated', 'JsonConverterFailed' - :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus - :ivar provisioning_state: Domain provisioning state. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar name_servers: Name servers. - :vartype name_servers: list[str] - :param privacy: true if domain privacy is enabled for this - domain; otherwise, false. - :type privacy: bool - :ivar created_time: Domain creation timestamp. - :vartype created_time: datetime - :ivar expiration_time: Domain expiration timestamp. - :vartype expiration_time: datetime - :ivar last_renewed_time: Timestamp when the domain was renewed last time. - :vartype last_renewed_time: datetime - :param auto_renew: true if the domain should be automatically - renewed; otherwise, false. Default value: True . - :type auto_renew: bool - :ivar ready_for_dns_record_management: true if Azure can - assign this domain to App Service apps; otherwise, false. - This value will be true if domain registration status is - active and - it is hosted on name servers Azure has programmatic access to. - :vartype ready_for_dns_record_management: bool - :ivar managed_host_names: All hostnames derived from the domain and - assigned to Azure resources. - :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] - :param consent: Required. Legal agreement consent. - :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent - :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. - :vartype domain_not_renewable_reasons: list[str] - :param dns_type: Current DNS type. Possible values include: 'AzureDns', - 'DefaultDomainRegistrarDns' - :type dns_type: str or ~azure.mgmt.web.models.DnsType - :param dns_zone_id: Azure DNS Zone to use - :type dns_zone_id: str - :param target_dns_type: Target DNS type (would be used for migration). - Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' - :type target_dns_type: str or ~azure.mgmt.web.models.DnsType - :param auth_code: - :type auth_code: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'contact_admin': {'required': True}, - 'contact_billing': {'required': True}, - 'contact_registrant': {'required': True}, - 'contact_tech': {'required': True}, - 'registration_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name_servers': {'readonly': True}, - 'created_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'last_renewed_time': {'readonly': True}, - 'ready_for_dns_record_management': {'readonly': True}, - 'managed_host_names': {'readonly': True}, - 'consent': {'required': True}, - 'domain_not_renewable_reasons': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, - 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, - 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, - 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, - 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, - 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, - 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, - 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, - 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, - 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, - 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, - 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, - } - - def __init__(self, *, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: - super(DomainPatchResource, self).__init__(kind=kind, **kwargs) - self.contact_admin = contact_admin - self.contact_billing = contact_billing - self.contact_registrant = contact_registrant - self.contact_tech = contact_tech - self.registration_status = None - self.provisioning_state = None - self.name_servers = None - self.privacy = privacy - self.created_time = None - self.expiration_time = None - self.last_renewed_time = None - self.auto_renew = auto_renew - self.ready_for_dns_record_management = None - self.managed_host_names = None - self.consent = consent - self.domain_not_renewable_reasons = None - self.dns_type = dns_type - self.dns_zone_id = dns_zone_id - self.target_dns_type = target_dns_type - self.auth_code = auth_code diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent.py deleted file mode 100644 index af78bf0a076b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainPurchaseConsent(Model): - """Domain purchase consent object, representing acceptance of applicable legal - agreements. - - :param agreement_keys: List of applicable legal agreement keys. This list - can be retrieved using ListLegalAgreements API under - TopLevelDomain resource. - :type agreement_keys: list[str] - :param agreed_by: Client IP address. - :type agreed_by: str - :param agreed_at: Timestamp when the agreements were accepted. - :type agreed_at: datetime - """ - - _attribute_map = { - 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, - 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, - 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(DomainPurchaseConsent, self).__init__(**kwargs) - self.agreement_keys = kwargs.get('agreement_keys', None) - self.agreed_by = kwargs.get('agreed_by', None) - self.agreed_at = kwargs.get('agreed_at', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent_py3.py deleted file mode 100644 index 4a88053cccf3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_purchase_consent_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainPurchaseConsent(Model): - """Domain purchase consent object, representing acceptance of applicable legal - agreements. - - :param agreement_keys: List of applicable legal agreement keys. This list - can be retrieved using ListLegalAgreements API under - TopLevelDomain resource. - :type agreement_keys: list[str] - :param agreed_by: Client IP address. - :type agreed_by: str - :param agreed_at: Timestamp when the agreements were accepted. - :type agreed_at: datetime - """ - - _attribute_map = { - 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, - 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, - 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, - } - - def __init__(self, *, agreement_keys=None, agreed_by: str=None, agreed_at=None, **kwargs) -> None: - super(DomainPurchaseConsent, self).__init__(**kwargs) - self.agreement_keys = agreement_keys - self.agreed_by = agreed_by - self.agreed_at = agreed_at diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_py3.py deleted file mode 100644 index 51a886759b12..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_py3.py +++ /dev/null @@ -1,163 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Domain(Resource): - """Information about a domain. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param contact_admin: Required. Administrative contact. - :type contact_admin: ~azure.mgmt.web.models.Contact - :param contact_billing: Required. Billing contact. - :type contact_billing: ~azure.mgmt.web.models.Contact - :param contact_registrant: Required. Registrant contact. - :type contact_registrant: ~azure.mgmt.web.models.Contact - :param contact_tech: Required. Technical contact. - :type contact_tech: ~azure.mgmt.web.models.Contact - :ivar registration_status: Domain registration status. Possible values - include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', - 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', - 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', - 'Unparked', 'Updated', 'JsonConverterFailed' - :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus - :ivar provisioning_state: Domain provisioning state. Possible values - include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.ProvisioningState - :ivar name_servers: Name servers. - :vartype name_servers: list[str] - :param privacy: true if domain privacy is enabled for this - domain; otherwise, false. - :type privacy: bool - :ivar created_time: Domain creation timestamp. - :vartype created_time: datetime - :ivar expiration_time: Domain expiration timestamp. - :vartype expiration_time: datetime - :ivar last_renewed_time: Timestamp when the domain was renewed last time. - :vartype last_renewed_time: datetime - :param auto_renew: true if the domain should be automatically - renewed; otherwise, false. Default value: True . - :type auto_renew: bool - :ivar ready_for_dns_record_management: true if Azure can - assign this domain to App Service apps; otherwise, false. - This value will be true if domain registration status is - active and - it is hosted on name servers Azure has programmatic access to. - :vartype ready_for_dns_record_management: bool - :ivar managed_host_names: All hostnames derived from the domain and - assigned to Azure resources. - :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] - :param consent: Required. Legal agreement consent. - :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent - :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. - :vartype domain_not_renewable_reasons: list[str] - :param dns_type: Current DNS type. Possible values include: 'AzureDns', - 'DefaultDomainRegistrarDns' - :type dns_type: str or ~azure.mgmt.web.models.DnsType - :param dns_zone_id: Azure DNS Zone to use - :type dns_zone_id: str - :param target_dns_type: Target DNS type (would be used for migration). - Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' - :type target_dns_type: str or ~azure.mgmt.web.models.DnsType - :param auth_code: - :type auth_code: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'contact_admin': {'required': True}, - 'contact_billing': {'required': True}, - 'contact_registrant': {'required': True}, - 'contact_tech': {'required': True}, - 'registration_status': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'name_servers': {'readonly': True}, - 'created_time': {'readonly': True}, - 'expiration_time': {'readonly': True}, - 'last_renewed_time': {'readonly': True}, - 'ready_for_dns_record_management': {'readonly': True}, - 'managed_host_names': {'readonly': True}, - 'consent': {'required': True}, - 'domain_not_renewable_reasons': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, - 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, - 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, - 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, - 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, - 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, - 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, - 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, - 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, - 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, - 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, - 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, - 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, - 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, - 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, - } - - def __init__(self, *, location: str, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, tags=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: - super(Domain, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.contact_admin = contact_admin - self.contact_billing = contact_billing - self.contact_registrant = contact_registrant - self.contact_tech = contact_tech - self.registration_status = None - self.provisioning_state = None - self.name_servers = None - self.privacy = privacy - self.created_time = None - self.expiration_time = None - self.last_renewed_time = None - self.auto_renew = auto_renew - self.ready_for_dns_record_management = None - self.managed_host_names = None - self.consent = consent - self.domain_not_renewable_reasons = None - self.dns_type = dns_type - self.dns_zone_id = dns_zone_id - self.target_dns_type = target_dns_type - self.auth_code = auth_code diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters.py deleted file mode 100644 index fe006b4ba3e6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainRecommendationSearchParameters(Model): - """Domain recommendation search parameters. - - :param keywords: Keywords to be used for generating domain - recommendations. - :type keywords: str - :param max_domain_recommendations: Maximum number of recommendations. - :type max_domain_recommendations: int - """ - - _attribute_map = { - 'keywords': {'key': 'keywords', 'type': 'str'}, - 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(DomainRecommendationSearchParameters, self).__init__(**kwargs) - self.keywords = kwargs.get('keywords', None) - self.max_domain_recommendations = kwargs.get('max_domain_recommendations', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters_py3.py deleted file mode 100644 index 8ea9729bb72e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/domain_recommendation_search_parameters_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class DomainRecommendationSearchParameters(Model): - """Domain recommendation search parameters. - - :param keywords: Keywords to be used for generating domain - recommendations. - :type keywords: str - :param max_domain_recommendations: Maximum number of recommendations. - :type max_domain_recommendations: int - """ - - _attribute_map = { - 'keywords': {'key': 'keywords', 'type': 'str'}, - 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, - } - - def __init__(self, *, keywords: str=None, max_domain_recommendations: int=None, **kwargs) -> None: - super(DomainRecommendationSearchParameters, self).__init__(**kwargs) - self.keywords = keywords - self.max_domain_recommendations = max_domain_recommendations diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config.py deleted file mode 100644 index 81b4f06c3045..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EnabledConfig(Model): - """Enabled configuration. - - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(EnabledConfig, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config_py3.py deleted file mode 100644 index 226726aabf4c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/enabled_config_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EnabledConfig(Model): - """Enabled configuration. - - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, enabled: bool=None, **kwargs) -> None: - super(EnabledConfig, self).__init__(**kwargs) - self.enabled = enabled diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency.py deleted file mode 100644 index ac099b80c79a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointDependency(Model): - """A domain name that a service is reached at, including details of the - current connection status. - - :param domain_name: The domain name of the dependency. - :type domain_name: str - :param endpoint_details: The IP Addresses and Ports used when connecting - to DomainName. - :type endpoint_details: list[~azure.mgmt.web.models.EndpointDetail] - """ - - _attribute_map = { - 'domain_name': {'key': 'domainName', 'type': 'str'}, - 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, - } - - def __init__(self, **kwargs): - super(EndpointDependency, self).__init__(**kwargs) - self.domain_name = kwargs.get('domain_name', None) - self.endpoint_details = kwargs.get('endpoint_details', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency_py3.py deleted file mode 100644 index 22dbd7c0d2ad..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_dependency_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointDependency(Model): - """A domain name that a service is reached at, including details of the - current connection status. - - :param domain_name: The domain name of the dependency. - :type domain_name: str - :param endpoint_details: The IP Addresses and Ports used when connecting - to DomainName. - :type endpoint_details: list[~azure.mgmt.web.models.EndpointDetail] - """ - - _attribute_map = { - 'domain_name': {'key': 'domainName', 'type': 'str'}, - 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, - } - - def __init__(self, *, domain_name: str=None, endpoint_details=None, **kwargs) -> None: - super(EndpointDependency, self).__init__(**kwargs) - self.domain_name = domain_name - self.endpoint_details = endpoint_details diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail.py deleted file mode 100644 index 79b5aa92d977..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointDetail(Model): - """Current TCP connectivity information from the App Service Environment to a - single endpoint. - - :param ip_address: An IP Address that Domain Name currently resolves to. - :type ip_address: str - :param port: The port an endpoint is connected to. - :type port: int - :param latency: The time in milliseconds it takes for a TCP connection to - be created from the App Service Environment to this IpAddress at this - Port. - :type latency: float - :param is_accessable: Whether it is possible to create a TCP connection - from the App Service Environment to this IpAddress at this Port. - :type is_accessable: bool - """ - - _attribute_map = { - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - 'latency': {'key': 'latency', 'type': 'float'}, - 'is_accessable': {'key': 'isAccessable', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(EndpointDetail, self).__init__(**kwargs) - self.ip_address = kwargs.get('ip_address', None) - self.port = kwargs.get('port', None) - self.latency = kwargs.get('latency', None) - self.is_accessable = kwargs.get('is_accessable', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail_py3.py deleted file mode 100644 index 357384b93fce..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/endpoint_detail_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class EndpointDetail(Model): - """Current TCP connectivity information from the App Service Environment to a - single endpoint. - - :param ip_address: An IP Address that Domain Name currently resolves to. - :type ip_address: str - :param port: The port an endpoint is connected to. - :type port: int - :param latency: The time in milliseconds it takes for a TCP connection to - be created from the App Service Environment to this IpAddress at this - Port. - :type latency: float - :param is_accessable: Whether it is possible to create a TCP connection - from the App Service Environment to this IpAddress at this Port. - :type is_accessable: bool - """ - - _attribute_map = { - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'port': {'key': 'port', 'type': 'int'}, - 'latency': {'key': 'latency', 'type': 'float'}, - 'is_accessable': {'key': 'isAccessable', 'type': 'bool'}, - } - - def __init__(self, *, ip_address: str=None, port: int=None, latency: float=None, is_accessable: bool=None, **kwargs) -> None: - super(EndpointDetail, self).__init__(**kwargs) - self.ip_address = ip_address - self.port = port - self.latency = latency - self.is_accessable = is_accessable diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity.py deleted file mode 100644 index 08f037c599f2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorEntity(Model): - """Body of the error response returned from the API. - - :param extended_code: Type of error. - :type extended_code: str - :param message_template: Message template. - :type message_template: str - :param parameters: Parameters for the template. - :type parameters: list[str] - :param inner_errors: Inner errors. - :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] - :param code: Basic error code. - :type code: str - :param message: Any details of the error. - :type message: str - """ - - _attribute_map = { - 'extended_code': {'key': 'extendedCode', 'type': 'str'}, - 'message_template': {'key': 'messageTemplate', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': '[str]'}, - 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorEntity, self).__init__(**kwargs) - self.extended_code = kwargs.get('extended_code', None) - self.message_template = kwargs.get('message_template', None) - self.parameters = kwargs.get('parameters', None) - self.inner_errors = kwargs.get('inner_errors', None) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity_py3.py deleted file mode 100644 index d60fe281db68..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/error_entity_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ErrorEntity(Model): - """Body of the error response returned from the API. - - :param extended_code: Type of error. - :type extended_code: str - :param message_template: Message template. - :type message_template: str - :param parameters: Parameters for the template. - :type parameters: list[str] - :param inner_errors: Inner errors. - :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] - :param code: Basic error code. - :type code: str - :param message: Any details of the error. - :type message: str - """ - - _attribute_map = { - 'extended_code': {'key': 'extendedCode', 'type': 'str'}, - 'message_template': {'key': 'messageTemplate', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': '[str]'}, - 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, extended_code: str=None, message_template: str=None, parameters=None, inner_errors=None, code: str=None, message: str=None, **kwargs) -> None: - super(ErrorEntity, self).__init__(**kwargs) - self.extended_code = extended_code - self.message_template = message_template - self.parameters = parameters - self.inner_errors = inner_errors - self.code = code - self.message = message diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments.py deleted file mode 100644 index 4a74bcf8f935..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Experiments(Model): - """Routing rules in production experiments. - - :param ramp_up_rules: List of ramp-up rules. - :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] - """ - - _attribute_map = { - 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, - } - - def __init__(self, **kwargs): - super(Experiments, self).__init__(**kwargs) - self.ramp_up_rules = kwargs.get('ramp_up_rules', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments_py3.py deleted file mode 100644 index 16bd1d5ccf09..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/experiments_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Experiments(Model): - """Routing rules in production experiments. - - :param ramp_up_rules: List of ramp-up rules. - :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] - """ - - _attribute_map = { - 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, - } - - def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: - super(Experiments, self).__init__(**kwargs) - self.ramp_up_rules = ramp_up_rules diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config.py deleted file mode 100644 index 469a1bee8590..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FileSystemApplicationLogsConfig(Model): - """Application logs to file system configuration. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error'. Default value: "Off" . - :type level: str or ~azure.mgmt.web.models.LogLevel - """ - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - } - - def __init__(self, **kwargs): - super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) - self.level = kwargs.get('level', "Off") diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config_py3.py deleted file mode 100644 index d18bbfa42a33..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_application_logs_config_py3.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FileSystemApplicationLogsConfig(Model): - """Application logs to file system configuration. - - :param level: Log level. Possible values include: 'Off', 'Verbose', - 'Information', 'Warning', 'Error'. Default value: "Off" . - :type level: str or ~azure.mgmt.web.models.LogLevel - """ - - _attribute_map = { - 'level': {'key': 'level', 'type': 'LogLevel'}, - } - - def __init__(self, *, level="Off", **kwargs) -> None: - super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) - self.level = level diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config.py deleted file mode 100644 index d7be6474900f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FileSystemHttpLogsConfig(Model): - """Http logs to file system configuration. - - :param retention_in_mb: Maximum size in megabytes that http log files can - use. - When reached old log files will be removed to make space for new ones. - Value can range between 25 and 100. - :type retention_in_mb: int - :param retention_in_days: Retention in days. - Remove files older than X days. - 0 or lower means no retention. - :type retention_in_days: int - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _validation = { - 'retention_in_mb': {'maximum': 100, 'minimum': 25}, - } - - _attribute_map = { - 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(FileSystemHttpLogsConfig, self).__init__(**kwargs) - self.retention_in_mb = kwargs.get('retention_in_mb', None) - self.retention_in_days = kwargs.get('retention_in_days', None) - self.enabled = kwargs.get('enabled', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config_py3.py deleted file mode 100644 index b5101a8c103d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/file_system_http_logs_config_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class FileSystemHttpLogsConfig(Model): - """Http logs to file system configuration. - - :param retention_in_mb: Maximum size in megabytes that http log files can - use. - When reached old log files will be removed to make space for new ones. - Value can range between 25 and 100. - :type retention_in_mb: int - :param retention_in_days: Retention in days. - Remove files older than X days. - 0 or lower means no retention. - :type retention_in_days: int - :param enabled: True if configuration is enabled, false if it is disabled - and null if configuration is not set. - :type enabled: bool - """ - - _validation = { - 'retention_in_mb': {'maximum': 100, 'minimum': 25}, - } - - _attribute_map = { - 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, - 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__(self, *, retention_in_mb: int=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: - super(FileSystemHttpLogsConfig, self).__init__(**kwargs) - self.retention_in_mb = retention_in_mb - self.retention_in_days = retention_in_days - self.enabled = enabled diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope.py deleted file mode 100644 index 94725f15457b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class FunctionEnvelope(ProxyOnlyResource): - """Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param function_app_id: Function App ID. - :type function_app_id: str - :param script_root_path_href: Script root path URI. - :type script_root_path_href: str - :param script_href: Script URI. - :type script_href: str - :param config_href: Config URI. - :type config_href: str - :param secrets_file_href: Secrets file URI. - :type secrets_file_href: str - :param href: Function URI. - :type href: str - :param config: Config information. - :type config: object - :param files: File list. - :type files: dict[str, str] - :param test_data: Test data used when testing via the Azure Portal. - :type test_data: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'function_app_id': {'key': 'properties.function_app_id', 'type': 'str'}, - 'script_root_path_href': {'key': 'properties.script_root_path_href', 'type': 'str'}, - 'script_href': {'key': 'properties.script_href', 'type': 'str'}, - 'config_href': {'key': 'properties.config_href', 'type': 'str'}, - 'secrets_file_href': {'key': 'properties.secrets_file_href', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'config': {'key': 'properties.config', 'type': 'object'}, - 'files': {'key': 'properties.files', 'type': '{str}'}, - 'test_data': {'key': 'properties.test_data', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FunctionEnvelope, self).__init__(**kwargs) - self.function_app_id = kwargs.get('function_app_id', None) - self.script_root_path_href = kwargs.get('script_root_path_href', None) - self.script_href = kwargs.get('script_href', None) - self.config_href = kwargs.get('config_href', None) - self.secrets_file_href = kwargs.get('secrets_file_href', None) - self.href = kwargs.get('href', None) - self.config = kwargs.get('config', None) - self.files = kwargs.get('files', None) - self.test_data = kwargs.get('test_data', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_paged.py deleted file mode 100644 index 6ce618988ced..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 FunctionEnvelopePaged(Paged): - """ - A paging container for iterating over a list of :class:`FunctionEnvelope ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[FunctionEnvelope]'} - } - - def __init__(self, *args, **kwargs): - - super(FunctionEnvelopePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_py3.py deleted file mode 100644 index 4cc49ab6b0aa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_envelope_py3.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class FunctionEnvelope(ProxyOnlyResource): - """Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param function_app_id: Function App ID. - :type function_app_id: str - :param script_root_path_href: Script root path URI. - :type script_root_path_href: str - :param script_href: Script URI. - :type script_href: str - :param config_href: Config URI. - :type config_href: str - :param secrets_file_href: Secrets file URI. - :type secrets_file_href: str - :param href: Function URI. - :type href: str - :param config: Config information. - :type config: object - :param files: File list. - :type files: dict[str, str] - :param test_data: Test data used when testing via the Azure Portal. - :type test_data: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'function_app_id': {'key': 'properties.function_app_id', 'type': 'str'}, - 'script_root_path_href': {'key': 'properties.script_root_path_href', 'type': 'str'}, - 'script_href': {'key': 'properties.script_href', 'type': 'str'}, - 'config_href': {'key': 'properties.config_href', 'type': 'str'}, - 'secrets_file_href': {'key': 'properties.secrets_file_href', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'config': {'key': 'properties.config', 'type': 'object'}, - 'files': {'key': 'properties.files', 'type': '{str}'}, - 'test_data': {'key': 'properties.test_data', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, function_app_id: str=None, script_root_path_href: str=None, script_href: str=None, config_href: str=None, secrets_file_href: str=None, href: str=None, config=None, files=None, test_data: str=None, **kwargs) -> None: - super(FunctionEnvelope, self).__init__(kind=kind, **kwargs) - self.function_app_id = function_app_id - self.script_root_path_href = script_root_path_href - self.script_href = script_href - self.config_href = config_href - self.secrets_file_href = secrets_file_href - self.href = href - self.config = config - self.files = files - self.test_data = test_data diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets.py deleted file mode 100644 index aab991c49289..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class FunctionSecrets(ProxyOnlyResource): - """Function secrets. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key: Secret key. - :type key: str - :param trigger_url: Trigger URL. - :type trigger_url: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key': {'key': 'properties.key', 'type': 'str'}, - 'trigger_url': {'key': 'properties.trigger_url', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(FunctionSecrets, self).__init__(**kwargs) - self.key = kwargs.get('key', None) - self.trigger_url = kwargs.get('trigger_url', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets_py3.py deleted file mode 100644 index e559db2773b6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/function_secrets_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class FunctionSecrets(ProxyOnlyResource): - """Function secrets. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key: Secret key. - :type key: str - :param trigger_url: Trigger URL. - :type trigger_url: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key': {'key': 'properties.key', 'type': 'str'}, - 'trigger_url': {'key': 'properties.trigger_url', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, key: str=None, trigger_url: str=None, **kwargs) -> None: - super(FunctionSecrets, self).__init__(kind=kind, **kwargs) - self.key = key - self.trigger_url = trigger_url diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution.py deleted file mode 100644 index 89dae8bfe72a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GeoDistribution(Model): - """A global distribution definition. - - :param location: Location. - :type location: str - :param number_of_workers: NumberOfWorkers. - :type number_of_workers: int - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(GeoDistribution, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.number_of_workers = kwargs.get('number_of_workers', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution_py3.py deleted file mode 100644 index c20bb714fe0e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_distribution_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GeoDistribution(Model): - """A global distribution definition. - - :param location: Location. - :type location: str - :param number_of_workers: NumberOfWorkers. - :type number_of_workers: int - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, - } - - def __init__(self, *, location: str=None, number_of_workers: int=None, **kwargs) -> None: - super(GeoDistribution, self).__init__(**kwargs) - self.location = location - self.number_of_workers = number_of_workers diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region.py deleted file mode 100644 index 2bc435a404a8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class GeoRegion(ProxyOnlyResource): - """Geographical region. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Region description. - :vartype description: str - :ivar display_name: Display name for region. - :vartype display_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - 'display_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(GeoRegion, self).__init__(**kwargs) - self.description = None - self.display_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_paged.py deleted file mode 100644 index db21a1db9d7d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 GeoRegionPaged(Paged): - """ - A paging container for iterating over a list of :class:`GeoRegion ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[GeoRegion]'} - } - - def __init__(self, *args, **kwargs): - - super(GeoRegionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_py3.py deleted file mode 100644 index 774b350eb460..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/geo_region_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class GeoRegion(ProxyOnlyResource): - """Geographical region. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar description: Region description. - :vartype description: str - :ivar display_name: Display name for region. - :vartype display_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'description': {'readonly': True}, - 'display_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(GeoRegion, self).__init__(kind=kind, **kwargs) - self.description = None - self.display_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description.py deleted file mode 100644 index 3e360b658faf..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GlobalCsmSkuDescription(Model): - """A Global SKU Description. - - :param name: Name of the resource SKU. - :type name: str - :param tier: Service Tier of the resource SKU. - :type tier: str - :param size: Size specifier of the resource SKU. - :type size: str - :param family: Family code of the resource SKU. - :type family: str - :param capacity: Min, max, and default scale values of the SKU. - :type capacity: ~azure.mgmt.web.models.SkuCapacity - :param locations: Locations of the SKU. - :type locations: list[str] - :param capabilities: Capabilities of the SKU, e.g., is traffic manager - enabled? - :type capabilities: list[~azure.mgmt.web.models.Capability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - } - - def __init__(self, **kwargs): - super(GlobalCsmSkuDescription, 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.capacity = kwargs.get('capacity', None) - self.locations = kwargs.get('locations', None) - self.capabilities = kwargs.get('capabilities', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description_py3.py deleted file mode 100644 index 4ee7bee2a0f0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/global_csm_sku_description_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class GlobalCsmSkuDescription(Model): - """A Global SKU Description. - - :param name: Name of the resource SKU. - :type name: str - :param tier: Service Tier of the resource SKU. - :type tier: str - :param size: Size specifier of the resource SKU. - :type size: str - :param family: Family code of the resource SKU. - :type family: str - :param capacity: Min, max, and default scale values of the SKU. - :type capacity: ~azure.mgmt.web.models.SkuCapacity - :param locations: Locations of the SKU. - :type locations: list[str] - :param capabilities: Capabilities of the SKU, e.g., is traffic manager - enabled? - :type capabilities: list[~azure.mgmt.web.models.Capability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - } - - def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity=None, locations=None, capabilities=None, **kwargs) -> None: - super(GlobalCsmSkuDescription, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.size = size - self.family = family - self.capacity = capacity - self.locations = locations - self.capabilities = capabilities diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping.py deleted file mode 100644 index 842f09c77aa4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HandlerMapping(Model): - """The IIS handler mappings used to define which handler processes HTTP - requests with certain extension. - For example, it is used to configure php-cgi.exe process to handle all HTTP - requests with *.php extension. - - :param extension: Requests with this extension will be handled using the - specified FastCGI application. - :type extension: str - :param script_processor: The absolute path to the FastCGI application. - :type script_processor: str - :param arguments: Command-line arguments to be passed to the script - processor. - :type arguments: str - """ - - _attribute_map = { - 'extension': {'key': 'extension', 'type': 'str'}, - 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, - 'arguments': {'key': 'arguments', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HandlerMapping, self).__init__(**kwargs) - self.extension = kwargs.get('extension', None) - self.script_processor = kwargs.get('script_processor', None) - self.arguments = kwargs.get('arguments', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping_py3.py deleted file mode 100644 index a2facf93b3fa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/handler_mapping_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HandlerMapping(Model): - """The IIS handler mappings used to define which handler processes HTTP - requests with certain extension. - For example, it is used to configure php-cgi.exe process to handle all HTTP - requests with *.php extension. - - :param extension: Requests with this extension will be handled using the - specified FastCGI application. - :type extension: str - :param script_processor: The absolute path to the FastCGI application. - :type script_processor: str - :param arguments: Command-line arguments to be passed to the script - processor. - :type arguments: str - """ - - _attribute_map = { - 'extension': {'key': 'extension', 'type': 'str'}, - 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, - 'arguments': {'key': 'arguments', 'type': 'str'}, - } - - def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: - super(HandlerMapping, self).__init__(**kwargs) - self.extension = extension - self.script_processor = script_processor - self.arguments = arguments diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name.py deleted file mode 100644 index 35dd11a2ff51..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostName(Model): - """Details of a hostname derived from a domain. - - :param name: Name of the hostname. - :type name: str - :param site_names: List of apps the hostname is assigned to. This list - will have more than one app only if the hostname is pointing to a Traffic - Manager. - :type site_names: list[str] - :param azure_resource_name: Name of the Azure resource the hostname is - assigned to. If it is assigned to a Traffic Manager then it will be the - Traffic Manager name otherwise it will be the app name. - :type azure_resource_name: str - :param azure_resource_type: Type of the Azure resource the hostname is - assigned to. Possible values include: 'Website', 'TrafficManager' - :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType - :param custom_host_name_dns_record_type: Type of the DNS record. Possible - values include: 'CName', 'A' - :type custom_host_name_dns_record_type: str or - ~azure.mgmt.web.models.CustomHostNameDnsRecordType - :param host_name_type: Type of the hostname. Possible values include: - 'Verified', 'Managed' - :type host_name_type: str or ~azure.mgmt.web.models.HostNameType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'site_names': {'key': 'siteNames', 'type': '[str]'}, - 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, - 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, - 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, - 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, - } - - def __init__(self, **kwargs): - super(HostName, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.site_names = kwargs.get('site_names', None) - self.azure_resource_name = kwargs.get('azure_resource_name', None) - self.azure_resource_type = kwargs.get('azure_resource_type', None) - self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) - self.host_name_type = kwargs.get('host_name_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding.py deleted file mode 100644 index 6d728d0a158b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class HostNameBinding(ProxyOnlyResource): - """A hostname binding object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param site_name: App Service app name. - :type site_name: str - :param domain_id: Fully qualified ARM domain resource URI. - :type domain_id: str - :param azure_resource_name: Azure resource name. - :type azure_resource_name: str - :param azure_resource_type: Azure resource type. Possible values include: - 'Website', 'TrafficManager' - :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType - :param custom_host_name_dns_record_type: Custom DNS record type. Possible - values include: 'CName', 'A' - :type custom_host_name_dns_record_type: str or - ~azure.mgmt.web.models.CustomHostNameDnsRecordType - :param host_name_type: Hostname type. Possible values include: 'Verified', - 'Managed' - :type host_name_type: str or ~azure.mgmt.web.models.HostNameType - :param ssl_state: SSL type. Possible values include: 'Disabled', - 'SniEnabled', 'IpBasedEnabled' - :type ssl_state: str or ~azure.mgmt.web.models.SslState - :param thumbprint: SSL certificate thumbprint - :type thumbprint: str - :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based - SSL is enabled. - :vartype virtual_ip: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_ip': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, - 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, - 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, - 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, - 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, - 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HostNameBinding, self).__init__(**kwargs) - self.site_name = kwargs.get('site_name', None) - self.domain_id = kwargs.get('domain_id', None) - self.azure_resource_name = kwargs.get('azure_resource_name', None) - self.azure_resource_type = kwargs.get('azure_resource_type', None) - self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) - self.host_name_type = kwargs.get('host_name_type', None) - self.ssl_state = kwargs.get('ssl_state', None) - self.thumbprint = kwargs.get('thumbprint', None) - self.virtual_ip = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_paged.py deleted file mode 100644 index 7f11f048093e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 HostNameBindingPaged(Paged): - """ - A paging container for iterating over a list of :class:`HostNameBinding ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[HostNameBinding]'} - } - - def __init__(self, *args, **kwargs): - - super(HostNameBindingPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_py3.py deleted file mode 100644 index a22b74356b87..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_binding_py3.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class HostNameBinding(ProxyOnlyResource): - """A hostname binding object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param site_name: App Service app name. - :type site_name: str - :param domain_id: Fully qualified ARM domain resource URI. - :type domain_id: str - :param azure_resource_name: Azure resource name. - :type azure_resource_name: str - :param azure_resource_type: Azure resource type. Possible values include: - 'Website', 'TrafficManager' - :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType - :param custom_host_name_dns_record_type: Custom DNS record type. Possible - values include: 'CName', 'A' - :type custom_host_name_dns_record_type: str or - ~azure.mgmt.web.models.CustomHostNameDnsRecordType - :param host_name_type: Hostname type. Possible values include: 'Verified', - 'Managed' - :type host_name_type: str or ~azure.mgmt.web.models.HostNameType - :param ssl_state: SSL type. Possible values include: 'Disabled', - 'SniEnabled', 'IpBasedEnabled' - :type ssl_state: str or ~azure.mgmt.web.models.SslState - :param thumbprint: SSL certificate thumbprint - :type thumbprint: str - :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based - SSL is enabled. - :vartype virtual_ip: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_ip': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, - 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, - 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, - 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, - 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, - 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, site_name: str=None, domain_id: str=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, ssl_state=None, thumbprint: str=None, **kwargs) -> None: - super(HostNameBinding, self).__init__(kind=kind, **kwargs) - self.site_name = site_name - self.domain_id = domain_id - self.azure_resource_name = azure_resource_name - self.azure_resource_type = azure_resource_type - self.custom_host_name_dns_record_type = custom_host_name_dns_record_type - self.host_name_type = host_name_type - self.ssl_state = ssl_state - self.thumbprint = thumbprint - self.virtual_ip = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_py3.py deleted file mode 100644 index 7ba3d8375ff2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostName(Model): - """Details of a hostname derived from a domain. - - :param name: Name of the hostname. - :type name: str - :param site_names: List of apps the hostname is assigned to. This list - will have more than one app only if the hostname is pointing to a Traffic - Manager. - :type site_names: list[str] - :param azure_resource_name: Name of the Azure resource the hostname is - assigned to. If it is assigned to a Traffic Manager then it will be the - Traffic Manager name otherwise it will be the app name. - :type azure_resource_name: str - :param azure_resource_type: Type of the Azure resource the hostname is - assigned to. Possible values include: 'Website', 'TrafficManager' - :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType - :param custom_host_name_dns_record_type: Type of the DNS record. Possible - values include: 'CName', 'A' - :type custom_host_name_dns_record_type: str or - ~azure.mgmt.web.models.CustomHostNameDnsRecordType - :param host_name_type: Type of the hostname. Possible values include: - 'Verified', 'Managed' - :type host_name_type: str or ~azure.mgmt.web.models.HostNameType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'site_names': {'key': 'siteNames', 'type': '[str]'}, - 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, - 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, - 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, - 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, - } - - def __init__(self, *, name: str=None, site_names=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, **kwargs) -> None: - super(HostName, self).__init__(**kwargs) - self.name = name - self.site_names = site_names - self.azure_resource_name = azure_resource_name - self.azure_resource_type = azure_resource_type - self.custom_host_name_dns_record_type = custom_host_name_dns_record_type - self.host_name_type = host_name_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state.py deleted file mode 100644 index 3b0c32f1f108..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostNameSslState(Model): - """SSL-enabled hostname. - - :param name: Hostname. - :type name: str - :param ssl_state: SSL type. Possible values include: 'Disabled', - 'SniEnabled', 'IpBasedEnabled' - :type ssl_state: str or ~azure.mgmt.web.models.SslState - :param virtual_ip: Virtual IP address assigned to the hostname if IP based - SSL is enabled. - :type virtual_ip: str - :param thumbprint: SSL certificate thumbprint. - :type thumbprint: str - :param to_update: Set to true to update existing hostname. - :type to_update: bool - :param host_type: Indicates whether the hostname is a standard or - repository hostname. Possible values include: 'Standard', 'Repository' - :type host_type: str or ~azure.mgmt.web.models.HostType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, - 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - 'to_update': {'key': 'toUpdate', 'type': 'bool'}, - 'host_type': {'key': 'hostType', 'type': 'HostType'}, - } - - def __init__(self, **kwargs): - super(HostNameSslState, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.ssl_state = kwargs.get('ssl_state', None) - self.virtual_ip = kwargs.get('virtual_ip', None) - self.thumbprint = kwargs.get('thumbprint', None) - self.to_update = kwargs.get('to_update', None) - self.host_type = kwargs.get('host_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state_py3.py deleted file mode 100644 index 422e32c25371..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/host_name_ssl_state_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostNameSslState(Model): - """SSL-enabled hostname. - - :param name: Hostname. - :type name: str - :param ssl_state: SSL type. Possible values include: 'Disabled', - 'SniEnabled', 'IpBasedEnabled' - :type ssl_state: str or ~azure.mgmt.web.models.SslState - :param virtual_ip: Virtual IP address assigned to the hostname if IP based - SSL is enabled. - :type virtual_ip: str - :param thumbprint: SSL certificate thumbprint. - :type thumbprint: str - :param to_update: Set to true to update existing hostname. - :type to_update: bool - :param host_type: Indicates whether the hostname is a standard or - repository hostname. Possible values include: 'Standard', 'Repository' - :type host_type: str or ~azure.mgmt.web.models.HostType - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, - 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, - 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, - 'to_update': {'key': 'toUpdate', 'type': 'bool'}, - 'host_type': {'key': 'hostType', 'type': 'HostType'}, - } - - def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: - super(HostNameSslState, self).__init__(**kwargs) - self.name = name - self.ssl_state = ssl_state - self.virtual_ip = virtual_ip - self.thumbprint = thumbprint - self.to_update = to_update - self.host_type = host_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info.py deleted file mode 100644 index d0d634503293..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentDeploymentInfo(Model): - """Information needed to create resources on an App Service Environment. - - :param name: Name of the App Service Environment. - :type name: str - :param location: Location of the App Service Environment. - :type location: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.location = kwargs.get('location', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info_py3.py deleted file mode 100644 index 10e6b5a03d4e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_deployment_info_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentDeploymentInfo(Model): - """Information needed to create resources on an App Service Environment. - - :param name: Name of the App Service Environment. - :type name: str - :param location: Location of the App Service Environment. - :type location: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, location: str=None, **kwargs) -> None: - super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) - self.name = name - self.location = location diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics.py deleted file mode 100644 index 26dc8c283fc7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentDiagnostics(Model): - """Diagnostics for an App Service Environment. - - :param name: Name/identifier of the diagnostics. - :type name: str - :param diagnosics_output: Diagnostics output. - :type diagnosics_output: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.diagnosics_output = kwargs.get('diagnosics_output', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics_py3.py deleted file mode 100644 index 35ecd49c8939..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_diagnostics_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentDiagnostics(Model): - """Diagnostics for an App Service Environment. - - :param name: Name/identifier of the diagnostics. - :type name: str - :param diagnosics_output: Diagnostics output. - :type diagnosics_output: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, diagnosics_output: str=None, **kwargs) -> None: - super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) - self.name = name - self.diagnosics_output = diagnosics_output diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile.py deleted file mode 100644 index de68d8bc558e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentProfile(Model): - """Specification for an App Service Environment to use for this resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID of the App Service Environment. - :type id: str - :ivar name: Name of the App Service Environment. - :vartype name: str - :ivar type: Resource type of the App Service Environment. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HostingEnvironmentProfile, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile_py3.py deleted file mode 100644 index 1440d596bbdc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hosting_environment_profile_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HostingEnvironmentProfile(Model): - """Specification for an App Service Environment to use for this resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource ID of the App Service Environment. - :type id: str - :ivar name: Name of the App Service Environment. - :vartype name: str - :ivar type: Resource type of the App Service Environment. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, **kwargs) -> None: - super(HostingEnvironmentProfile, self).__init__(**kwargs) - self.id = id - self.name = None - self.type = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config.py deleted file mode 100644 index 505bf25e8aab..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HttpLogsConfig(Model): - """Http logs configuration. - - :param file_system: Http logs to file system configuration. - :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig - :param azure_blob_storage: Http logs to azure blob storage configuration. - :type azure_blob_storage: - ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig - """ - - _attribute_map = { - 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, - 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, - } - - def __init__(self, **kwargs): - super(HttpLogsConfig, self).__init__(**kwargs) - self.file_system = kwargs.get('file_system', None) - self.azure_blob_storage = kwargs.get('azure_blob_storage', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config_py3.py deleted file mode 100644 index 5169867f67c3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/http_logs_config_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class HttpLogsConfig(Model): - """Http logs configuration. - - :param file_system: Http logs to file system configuration. - :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig - :param azure_blob_storage: Http logs to azure blob storage configuration. - :type azure_blob_storage: - ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig - """ - - _attribute_map = { - 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, - 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, - } - - def __init__(self, *, file_system=None, azure_blob_storage=None, **kwargs) -> None: - super(HttpLogsConfig, self).__init__(**kwargs) - self.file_system = file_system - self.azure_blob_storage = azure_blob_storage diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection.py deleted file mode 100644 index 7397552b22f8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class HybridConnection(ProxyOnlyResource): - """Hybrid Connection contract. This is used to configure a Hybrid Connection. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param service_bus_namespace: The name of the Service Bus namespace. - :type service_bus_namespace: str - :param relay_name: The name of the Service Bus relay. - :type relay_name: str - :param relay_arm_uri: The ARM URI to the Service Bus relay. - :type relay_arm_uri: str - :param hostname: The hostname of the endpoint. - :type hostname: str - :param port: The port of the endpoint. - :type port: int - :param send_key_name: The name of the Service Bus key which has Send - permissions. This is used to authenticate to Service Bus. - :type send_key_name: str - :param send_key_value: The value of the Service Bus key. This is used to - authenticate to Service Bus. In ARM this key will not be returned - normally, use the POST /listKeys API instead. - :type send_key_value: str - :param service_bus_suffix: The suffix for the service bus endpoint. By - default this is .servicebus.windows.net - :type service_bus_suffix: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, - 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, - 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, - 'hostname': {'key': 'properties.hostname', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, - 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, - 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HybridConnection, self).__init__(**kwargs) - self.service_bus_namespace = kwargs.get('service_bus_namespace', None) - self.relay_name = kwargs.get('relay_name', None) - self.relay_arm_uri = kwargs.get('relay_arm_uri', None) - self.hostname = kwargs.get('hostname', None) - self.port = kwargs.get('port', None) - self.send_key_name = kwargs.get('send_key_name', None) - self.send_key_value = kwargs.get('send_key_value', None) - self.service_bus_suffix = kwargs.get('service_bus_suffix', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key.py deleted file mode 100644 index a0a0b0d9ac2e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class HybridConnectionKey(ProxyOnlyResource): - """Hybrid Connection key contract. This has the send key name and value for a - Hybrid Connection. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar send_key_name: The name of the send key. - :vartype send_key_name: str - :ivar send_key_value: The value of the send key. - :vartype send_key_value: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'send_key_name': {'readonly': True}, - 'send_key_value': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, - 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(HybridConnectionKey, self).__init__(**kwargs) - self.send_key_name = None - self.send_key_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key_py3.py deleted file mode 100644 index 530723c95418..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_key_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class HybridConnectionKey(ProxyOnlyResource): - """Hybrid Connection key contract. This has the send key name and value for a - Hybrid Connection. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar send_key_name: The name of the send key. - :vartype send_key_name: str - :ivar send_key_value: The value of the send key. - :vartype send_key_value: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'send_key_name': {'readonly': True}, - 'send_key_value': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, - 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) - self.send_key_name = None - self.send_key_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits.py deleted file mode 100644 index 60a219ea069a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class HybridConnectionLimits(ProxyOnlyResource): - """Hybrid Connection limits contract. This is used to return the plan limits - of Hybrid Connections. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar current: The current number of Hybrid Connections. - :vartype current: int - :ivar maximum: The maximum number of Hybrid Connections allowed. - :vartype maximum: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'current': {'readonly': True}, - 'maximum': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'current': {'key': 'properties.current', 'type': 'int'}, - 'maximum': {'key': 'properties.maximum', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(HybridConnectionLimits, self).__init__(**kwargs) - self.current = None - self.maximum = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits_py3.py deleted file mode 100644 index 4049c9f85c0d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_limits_py3.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class HybridConnectionLimits(ProxyOnlyResource): - """Hybrid Connection limits contract. This is used to return the plan limits - of Hybrid Connections. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar current: The current number of Hybrid Connections. - :vartype current: int - :ivar maximum: The maximum number of Hybrid Connections allowed. - :vartype maximum: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'current': {'readonly': True}, - 'maximum': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'current': {'key': 'properties.current', 'type': 'int'}, - 'maximum': {'key': 'properties.maximum', 'type': 'int'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(HybridConnectionLimits, self).__init__(kind=kind, **kwargs) - self.current = None - self.maximum = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_paged.py deleted file mode 100644 index 15f79886b3d8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 HybridConnectionPaged(Paged): - """ - A paging container for iterating over a list of :class:`HybridConnection ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[HybridConnection]'} - } - - def __init__(self, *args, **kwargs): - - super(HybridConnectionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_py3.py deleted file mode 100644 index 6136525e9fb7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/hybrid_connection_py3.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class HybridConnection(ProxyOnlyResource): - """Hybrid Connection contract. This is used to configure a Hybrid Connection. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param service_bus_namespace: The name of the Service Bus namespace. - :type service_bus_namespace: str - :param relay_name: The name of the Service Bus relay. - :type relay_name: str - :param relay_arm_uri: The ARM URI to the Service Bus relay. - :type relay_arm_uri: str - :param hostname: The hostname of the endpoint. - :type hostname: str - :param port: The port of the endpoint. - :type port: int - :param send_key_name: The name of the Service Bus key which has Send - permissions. This is used to authenticate to Service Bus. - :type send_key_name: str - :param send_key_value: The value of the Service Bus key. This is used to - authenticate to Service Bus. In ARM this key will not be returned - normally, use the POST /listKeys API instead. - :type send_key_value: str - :param service_bus_suffix: The suffix for the service bus endpoint. By - default this is .servicebus.windows.net - :type service_bus_suffix: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, - 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, - 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, - 'hostname': {'key': 'properties.hostname', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, - 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, - 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: - super(HybridConnection, self).__init__(kind=kind, **kwargs) - self.service_bus_namespace = service_bus_namespace - self.relay_name = relay_name - self.relay_arm_uri = relay_arm_uri - self.hostname = hostname - self.port = port - self.send_key_name = send_key_name - self.send_key_value = send_key_value - self.service_bus_suffix = service_bus_suffix diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier.py deleted file mode 100644 index 061636f5e53d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class Identifier(ProxyOnlyResource): - """A domain specific resource identifier. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param identifier_id: String representation of the identity. - :type identifier_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier_id': {'key': 'properties.id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Identifier, self).__init__(**kwargs) - self.identifier_id = kwargs.get('identifier_id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_paged.py deleted file mode 100644 index 3e871d8f1c45..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 IdentifierPaged(Paged): - """ - A paging container for iterating over a list of :class:`Identifier ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Identifier]'} - } - - def __init__(self, *args, **kwargs): - - super(IdentifierPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_py3.py deleted file mode 100644 index 12771f227839..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/identifier_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class Identifier(ProxyOnlyResource): - """A domain specific resource identifier. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param identifier_id: String representation of the identity. - :type identifier_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier_id': {'key': 'properties.id', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: - super(Identifier, self).__init__(kind=kind, **kwargs) - self.identifier_id = identifier_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint.py deleted file mode 100644 index b2da3443dd0c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class InboundEnvironmentEndpoint(Model): - """The IP Addresses and Ports that require inbound network access to and - within the subnet of the App Service Environment. - - :param description: Short text describing the purpose of the network - traffic. - :type description: str - :param endpoints: The IP addresses that network traffic will originate - from in cidr notation. - :type endpoints: list[str] - :param ports: The ports that network traffic will arrive to the App - Service Environment at. - :type ports: list[str] - """ - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'endpoints': {'key': 'endpoints', 'type': '[str]'}, - 'ports': {'key': 'ports', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(InboundEnvironmentEndpoint, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.endpoints = kwargs.get('endpoints', None) - self.ports = kwargs.get('ports', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_paged.py deleted file mode 100644 index a9c714cd1298..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 InboundEnvironmentEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`InboundEnvironmentEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[InboundEnvironmentEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(InboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_py3.py deleted file mode 100644 index f211577ee178..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/inbound_environment_endpoint_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class InboundEnvironmentEndpoint(Model): - """The IP Addresses and Ports that require inbound network access to and - within the subnet of the App Service Environment. - - :param description: Short text describing the purpose of the network - traffic. - :type description: str - :param endpoints: The IP addresses that network traffic will originate - from in cidr notation. - :type endpoints: list[str] - :param ports: The ports that network traffic will arrive to the App - Service Environment at. - :type ports: list[str] - """ - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - 'endpoints': {'key': 'endpoints', 'type': '[str]'}, - 'ports': {'key': 'ports', 'type': '[str]'}, - } - - def __init__(self, *, description: str=None, endpoints=None, ports=None, **kwargs) -> None: - super(InboundEnvironmentEndpoint, self).__init__(**kwargs) - self.description = description - self.endpoints = endpoints - self.ports = ports diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction.py deleted file mode 100644 index fe05f46d1be7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpSecurityRestriction(Model): - """IP security restriction on an app. - - :param ip_address: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. - :type ip_address: str - :param subnet_mask: Subnet mask for the range of IP addresses the - restriction is valid for. - :type subnet_mask: str - :param vnet_subnet_resource_id: Virtual network resource id - :type vnet_subnet_resource_id: str - :param vnet_traffic_tag: (internal) Vnet traffic tag - :type vnet_traffic_tag: int - :param subnet_traffic_tag: (internal) Subnet traffic tag - :type subnet_traffic_tag: int - :param action: Allow or Deny access for this IP range. - :type action: str - :param tag: Defines what this IP filter will be used for. This is to - support IP filtering on proxies. Possible values include: 'Default', - 'XffProxy' - :type tag: str or ~azure.mgmt.web.models.IpFilterTag - :param priority: Priority of IP restriction rule. - :type priority: int - :param name: IP restriction rule name. - :type name: str - :param description: IP restriction rule description. - :type description: str - """ - - _attribute_map = { - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, - 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, - 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, - 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, - 'action': {'key': 'action', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(IpSecurityRestriction, self).__init__(**kwargs) - self.ip_address = kwargs.get('ip_address', None) - self.subnet_mask = kwargs.get('subnet_mask', None) - self.vnet_subnet_resource_id = kwargs.get('vnet_subnet_resource_id', None) - self.vnet_traffic_tag = kwargs.get('vnet_traffic_tag', None) - self.subnet_traffic_tag = kwargs.get('subnet_traffic_tag', None) - self.action = kwargs.get('action', None) - self.tag = kwargs.get('tag', None) - self.priority = kwargs.get('priority', None) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction_py3.py deleted file mode 100644 index bb62cc8b34e2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ip_security_restriction_py3.py +++ /dev/null @@ -1,70 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class IpSecurityRestriction(Model): - """IP security restriction on an app. - - :param ip_address: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. - :type ip_address: str - :param subnet_mask: Subnet mask for the range of IP addresses the - restriction is valid for. - :type subnet_mask: str - :param vnet_subnet_resource_id: Virtual network resource id - :type vnet_subnet_resource_id: str - :param vnet_traffic_tag: (internal) Vnet traffic tag - :type vnet_traffic_tag: int - :param subnet_traffic_tag: (internal) Subnet traffic tag - :type subnet_traffic_tag: int - :param action: Allow or Deny access for this IP range. - :type action: str - :param tag: Defines what this IP filter will be used for. This is to - support IP filtering on proxies. Possible values include: 'Default', - 'XffProxy' - :type tag: str or ~azure.mgmt.web.models.IpFilterTag - :param priority: Priority of IP restriction rule. - :type priority: int - :param name: IP restriction rule name. - :type name: str - :param description: IP restriction rule description. - :type description: str - """ - - _attribute_map = { - 'ip_address': {'key': 'ipAddress', 'type': 'str'}, - 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, - 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, - 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, - 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, - 'action': {'key': 'action', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, - 'priority': {'key': 'priority', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, ip_address: str=None, subnet_mask: str=None, vnet_subnet_resource_id: str=None, vnet_traffic_tag: int=None, subnet_traffic_tag: int=None, action: str=None, tag=None, priority: int=None, name: str=None, description: str=None, **kwargs) -> None: - super(IpSecurityRestriction, self).__init__(**kwargs) - self.ip_address = ip_address - self.subnet_mask = subnet_mask - self.vnet_subnet_resource_id = vnet_subnet_resource_id - self.vnet_traffic_tag = vnet_traffic_tag - self.subnet_traffic_tag = subnet_traffic_tag - self.action = action - self.tag = tag - self.priority = priority - self.name = name - self.description = description diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string.py deleted file mode 100644 index 528d58067000..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LocalizableString(Model): - """Localizable string object containing the name and a localized value. - - :param value: Non-localized name. - :type value: str - :param localized_value: Localized name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LocalizableString, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.localized_value = kwargs.get('localized_value', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string_py3.py deleted file mode 100644 index 156fcfd26d33..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/localizable_string_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LocalizableString(Model): - """Localizable string object containing the name and a localized value. - - :param value: Non-localized name. - :type value: str - :param localized_value: Localized name. - :type localized_value: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: - super(LocalizableString, self).__init__(**kwargs) - self.value = value - self.localized_value = localized_value diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification.py deleted file mode 100644 index 77ec75c5496a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LogSpecification(Model): - """Log Definition of a single resource metric. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param blob_duration: - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(LogSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.blob_duration = kwargs.get('blob_duration', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification_py3.py deleted file mode 100644 index 8c9ae74d7f86..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/log_specification_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class LogSpecification(Model): - """Log Definition of a single resource metric. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param blob_duration: - :type blob_duration: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: - super(LogSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.blob_duration = blob_duration diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity.py deleted file mode 100644 index 7b00d8592ca7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedServiceIdentity(Model): - """Managed service identity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param type: Type of managed service identity. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType - :ivar tenant_id: Tenant of managed service identity. - :vartype tenant_id: str - :ivar principal_id: Principal Id of managed service identity. - :vartype principal_id: str - :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'tenant_id': {'readonly': True}, - 'principal_id': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, **kwargs): - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - self.tenant_id = None - self.principal_id = None - self.user_assigned_identities = kwargs.get('user_assigned_identities', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_py3.py deleted file mode 100644 index 5576262534fe..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedServiceIdentity(Model): - """Managed service identity. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param type: Type of managed service identity. Possible values include: - 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType - :ivar tenant_id: Tenant of managed service identity. - :vartype tenant_id: str - :ivar principal_id: Principal Id of managed service identity. - :vartype principal_id: str - :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _validation = { - 'tenant_id': {'readonly': True}, - 'principal_id': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: - super(ManagedServiceIdentity, self).__init__(**kwargs) - self.type = type - self.tenant_id = None - self.principal_id = None - self.user_assigned_identities = user_assigned_identities diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value.py deleted file mode 100644 index 8c408a4598b3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: Principal Id of user assigned identity - :vartype principal_id: str - :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value_py3.py deleted file mode 100644 index bc71a3561765..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/managed_service_identity_user_assigned_identities_value_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar principal_id: Principal Id of user assigned identity - :vartype principal_id: str - :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily.py deleted file mode 100644 index 2b6ea5bbedd4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricAvailabilily(Model): - """Metric availability and retention. - - :param time_grain: Time grain. - :type time_grain: str - :param retention: Retention period for the current time grain. - :type retention: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricAvailabilily, self).__init__(**kwargs) - self.time_grain = kwargs.get('time_grain', None) - self.retention = kwargs.get('retention', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily_py3.py deleted file mode 100644 index 1e9eb6c69e48..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availabilily_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricAvailabilily(Model): - """Metric availability and retention. - - :param time_grain: Time grain. - :type time_grain: str - :param retention: Retention period for the current time grain. - :type retention: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - } - - def __init__(self, *, time_grain: str=None, retention: str=None, **kwargs) -> None: - super(MetricAvailabilily, self).__init__(**kwargs) - self.time_grain = time_grain - self.retention = retention diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability.py deleted file mode 100644 index 895c406bbbee..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricAvailability(Model): - """Retention policy of a resource metric. - - :param time_grain: - :type time_grain: str - :param blob_duration: - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricAvailability, self).__init__(**kwargs) - self.time_grain = kwargs.get('time_grain', None) - self.blob_duration = kwargs.get('blob_duration', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability_py3.py deleted file mode 100644 index 67057c02aa1f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_availability_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricAvailability(Model): - """Retention policy of a resource metric. - - :param time_grain: - :type time_grain: str - :param blob_duration: - :type blob_duration: str - """ - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, - } - - def __init__(self, *, time_grain: str=None, blob_duration: str=None, **kwargs) -> None: - super(MetricAvailability, self).__init__(**kwargs) - self.time_grain = time_grain - self.blob_duration = blob_duration diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition.py deleted file mode 100644 index 5dbd639fe069..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MetricDefinition(ProxyOnlyResource): - """Metadata for a metric. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar unit: Unit of the metric. - :vartype unit: str - :ivar primary_aggregation_type: Primary aggregation type. - :vartype primary_aggregation_type: str - :ivar metric_availabilities: List of time grains supported for the metric - together with retention period. - :vartype metric_availabilities: - list[~azure.mgmt.web.models.MetricAvailabilily] - :ivar display_name: Friendly name shown in the UI. - :vartype display_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'unit': {'readonly': True}, - 'primary_aggregation_type': {'readonly': True}, - 'metric_availabilities': {'readonly': True}, - 'display_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, - 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MetricDefinition, self).__init__(**kwargs) - self.unit = None - self.primary_aggregation_type = None - self.metric_availabilities = None - self.display_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition_py3.py deleted file mode 100644 index 0771757d742d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_definition_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MetricDefinition(ProxyOnlyResource): - """Metadata for a metric. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar unit: Unit of the metric. - :vartype unit: str - :ivar primary_aggregation_type: Primary aggregation type. - :vartype primary_aggregation_type: str - :ivar metric_availabilities: List of time grains supported for the metric - together with retention period. - :vartype metric_availabilities: - list[~azure.mgmt.web.models.MetricAvailabilily] - :ivar display_name: Friendly name shown in the UI. - :vartype display_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'unit': {'readonly': True}, - 'primary_aggregation_type': {'readonly': True}, - 'metric_availabilities': {'readonly': True}, - 'display_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, - 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(MetricDefinition, self).__init__(kind=kind, **kwargs) - self.unit = None - self.primary_aggregation_type = None - self.metric_availabilities = None - self.display_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification.py deleted file mode 100644 index 2238547b4a22..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification.py +++ /dev/null @@ -1,84 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricSpecification(Model): - """Definition of a single resource metric. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param display_description: - :type display_description: str - :param unit: - :type unit: str - :param aggregation_type: - :type aggregation_type: str - :param supports_instance_level_aggregation: - :type supports_instance_level_aggregation: bool - :param enable_regional_mdm_account: - :type enable_regional_mdm_account: bool - :param source_mdm_account: - :type source_mdm_account: str - :param source_mdm_namespace: - :type source_mdm_namespace: str - :param metric_filter_pattern: - :type metric_filter_pattern: str - :param fill_gap_with_zero: - :type fill_gap_with_zero: bool - :param is_internal: - :type is_internal: bool - :param dimensions: - :type dimensions: list[~azure.mgmt.web.models.Dimension] - :param category: - :type category: str - :param availabilities: - :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'category': {'key': 'category', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, - } - - def __init__(self, **kwargs): - super(MetricSpecification, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display_name = kwargs.get('display_name', None) - self.display_description = kwargs.get('display_description', None) - self.unit = kwargs.get('unit', None) - self.aggregation_type = kwargs.get('aggregation_type', None) - self.supports_instance_level_aggregation = kwargs.get('supports_instance_level_aggregation', None) - self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) - self.source_mdm_account = kwargs.get('source_mdm_account', None) - self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) - self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) - self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) - self.is_internal = kwargs.get('is_internal', None) - self.dimensions = kwargs.get('dimensions', None) - self.category = kwargs.get('category', None) - self.availabilities = kwargs.get('availabilities', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification_py3.py deleted file mode 100644 index 95e68beb7c4e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/metric_specification_py3.py +++ /dev/null @@ -1,84 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MetricSpecification(Model): - """Definition of a single resource metric. - - :param name: - :type name: str - :param display_name: - :type display_name: str - :param display_description: - :type display_description: str - :param unit: - :type unit: str - :param aggregation_type: - :type aggregation_type: str - :param supports_instance_level_aggregation: - :type supports_instance_level_aggregation: bool - :param enable_regional_mdm_account: - :type enable_regional_mdm_account: bool - :param source_mdm_account: - :type source_mdm_account: str - :param source_mdm_namespace: - :type source_mdm_namespace: str - :param metric_filter_pattern: - :type metric_filter_pattern: str - :param fill_gap_with_zero: - :type fill_gap_with_zero: bool - :param is_internal: - :type is_internal: bool - :param dimensions: - :type dimensions: list[~azure.mgmt.web.models.Dimension] - :param category: - :type category: str - :param availabilities: - :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, - 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, - 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, - 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, - 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'is_internal': {'key': 'isInternal', 'type': 'bool'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'category': {'key': 'category', 'type': 'str'}, - 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, - } - - def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, supports_instance_level_aggregation: bool=None, enable_regional_mdm_account: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, metric_filter_pattern: str=None, fill_gap_with_zero: bool=None, is_internal: bool=None, dimensions=None, category: str=None, availabilities=None, **kwargs) -> None: - super(MetricSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.display_description = display_description - self.unit = unit - self.aggregation_type = aggregation_type - self.supports_instance_level_aggregation = supports_instance_level_aggregation - self.enable_regional_mdm_account = enable_regional_mdm_account - self.source_mdm_account = source_mdm_account - self.source_mdm_namespace = source_mdm_namespace - self.metric_filter_pattern = metric_filter_pattern - self.fill_gap_with_zero = fill_gap_with_zero - self.is_internal = is_internal - self.dimensions = dimensions - self.category = category - self.availabilities = availabilities diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request.py deleted file mode 100644 index 92a54e815858..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MigrateMySqlRequest(ProxyOnlyResource): - """MySQL migration request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param connection_string: Required. Connection string to the remote MySQL - database. - :type connection_string: str - :param migration_type: Required. The type of migration operation to be - done. Possible values include: 'LocalToRemote', 'RemoteToLocal' - :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'connection_string': {'required': True}, - 'migration_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, - 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, - } - - def __init__(self, **kwargs): - super(MigrateMySqlRequest, self).__init__(**kwargs) - self.connection_string = kwargs.get('connection_string', None) - self.migration_type = kwargs.get('migration_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request_py3.py deleted file mode 100644 index 6b0f07c19f7e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_request_py3.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MigrateMySqlRequest(ProxyOnlyResource): - """MySQL migration request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param connection_string: Required. Connection string to the remote MySQL - database. - :type connection_string: str - :param migration_type: Required. The type of migration operation to be - done. Possible values include: 'LocalToRemote', 'RemoteToLocal' - :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'connection_string': {'required': True}, - 'migration_type': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, - 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, - } - - def __init__(self, *, connection_string: str, migration_type, kind: str=None, **kwargs) -> None: - super(MigrateMySqlRequest, self).__init__(kind=kind, **kwargs) - self.connection_string = connection_string - self.migration_type = migration_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status.py deleted file mode 100644 index 9970ba240603..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MigrateMySqlStatus(ProxyOnlyResource): - """MySQL migration status. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar migration_operation_status: Status of the migration task. Possible - values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' - :vartype migration_operation_status: str or - ~azure.mgmt.web.models.OperationStatus - :ivar operation_id: Operation ID for the migration task. - :vartype operation_id: str - :ivar local_my_sql_enabled: True if the web app has in app MySql enabled - :vartype local_my_sql_enabled: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'migration_operation_status': {'readonly': True}, - 'operation_id': {'readonly': True}, - 'local_my_sql_enabled': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, - 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MigrateMySqlStatus, self).__init__(**kwargs) - self.migration_operation_status = None - self.operation_id = None - self.local_my_sql_enabled = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status_py3.py deleted file mode 100644 index e35882fcd27d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/migrate_my_sql_status_py3.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MigrateMySqlStatus(ProxyOnlyResource): - """MySQL migration status. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar migration_operation_status: Status of the migration task. Possible - values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' - :vartype migration_operation_status: str or - ~azure.mgmt.web.models.OperationStatus - :ivar operation_id: Operation ID for the migration task. - :vartype operation_id: str - :ivar local_my_sql_enabled: True if the web app has in app MySql enabled - :vartype local_my_sql_enabled: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'migration_operation_status': {'readonly': True}, - 'operation_id': {'readonly': True}, - 'local_my_sql_enabled': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, - 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(MigrateMySqlStatus, self).__init__(kind=kind, **kwargs) - self.migration_operation_status = None - self.operation_id = None - self.local_my_sql_enabled = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy.py deleted file mode 100644 index 1a481f2596fc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy.py +++ /dev/null @@ -1,83 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MSDeploy(ProxyOnlyResource): - """MSDeploy ARM PUT 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param package_uri: Package URI - :type package_uri: str - :param connection_string: SQL Connection String - :type connection_string: str - :param db_type: Database Type - :type db_type: str - :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must - not be set if SetParameters is used. - :type set_parameters_xml_file_uri: str - :param set_parameters: MSDeploy Parameters. Must not be set if - SetParametersXmlFileUri is used. - :type set_parameters: dict[str, str] - :param skip_app_data: Controls whether the MSDeploy operation skips the - App_Data directory. - If set to true, the existing App_Data directory on the - destination - will not be deleted, and any App_Data directory in the source will be - ignored. - Setting is false by default. - :type skip_app_data: bool - :param app_offline: Sets the AppOffline rule while the MSDeploy operation - executes. - Setting is false by default. - :type app_offline: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, - 'db_type': {'key': 'properties.dbType', 'type': 'str'}, - 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, - 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, - 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, - 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MSDeploy, self).__init__(**kwargs) - self.package_uri = kwargs.get('package_uri', None) - self.connection_string = kwargs.get('connection_string', None) - self.db_type = kwargs.get('db_type', None) - self.set_parameters_xml_file_uri = kwargs.get('set_parameters_xml_file_uri', None) - self.set_parameters = kwargs.get('set_parameters', None) - self.skip_app_data = kwargs.get('skip_app_data', None) - self.app_offline = kwargs.get('app_offline', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log.py deleted file mode 100644 index 59b147b5285f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MSDeployLog(ProxyOnlyResource): - """MSDeploy log. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar entries: List of log entry messages - :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'entries': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, - } - - def __init__(self, **kwargs): - super(MSDeployLog, self).__init__(**kwargs) - self.entries = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry.py deleted file mode 100644 index 0995ed12ee4a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MSDeployLogEntry(Model): - """MSDeploy log entry. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar time: Timestamp of log entry - :vartype time: datetime - :ivar type: Log entry type. Possible values include: 'Message', 'Warning', - 'Error' - :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType - :ivar message: Log entry message - :vartype message: str - """ - - _validation = { - 'time': {'readonly': True}, - 'type': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(MSDeployLogEntry, self).__init__(**kwargs) - self.time = None - self.type = None - self.message = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry_py3.py deleted file mode 100644 index 5b45f11a6cbb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_entry_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class MSDeployLogEntry(Model): - """MSDeploy log entry. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar time: Timestamp of log entry - :vartype time: datetime - :ivar type: Log entry type. Possible values include: 'Message', 'Warning', - 'Error' - :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType - :ivar message: Log entry message - :vartype message: str - """ - - _validation = { - 'time': {'readonly': True}, - 'type': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(MSDeployLogEntry, self).__init__(**kwargs) - self.time = None - self.type = None - self.message = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_py3.py deleted file mode 100644 index 9a087a46e372..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_log_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MSDeployLog(ProxyOnlyResource): - """MSDeploy log. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar entries: List of log entry messages - :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'entries': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(MSDeployLog, self).__init__(kind=kind, **kwargs) - self.entries = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_py3.py deleted file mode 100644 index 13c3a742dc66..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_py3.py +++ /dev/null @@ -1,83 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MSDeploy(ProxyOnlyResource): - """MSDeploy ARM PUT 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param package_uri: Package URI - :type package_uri: str - :param connection_string: SQL Connection String - :type connection_string: str - :param db_type: Database Type - :type db_type: str - :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must - not be set if SetParameters is used. - :type set_parameters_xml_file_uri: str - :param set_parameters: MSDeploy Parameters. Must not be set if - SetParametersXmlFileUri is used. - :type set_parameters: dict[str, str] - :param skip_app_data: Controls whether the MSDeploy operation skips the - App_Data directory. - If set to true, the existing App_Data directory on the - destination - will not be deleted, and any App_Data directory in the source will be - ignored. - Setting is false by default. - :type skip_app_data: bool - :param app_offline: Sets the AppOffline rule while the MSDeploy operation - executes. - Setting is false by default. - :type app_offline: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, - 'db_type': {'key': 'properties.dbType', 'type': 'str'}, - 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, - 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, - 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, - 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, package_uri: str=None, connection_string: str=None, db_type: str=None, set_parameters_xml_file_uri: str=None, set_parameters=None, skip_app_data: bool=None, app_offline: bool=None, **kwargs) -> None: - super(MSDeploy, self).__init__(kind=kind, **kwargs) - self.package_uri = package_uri - self.connection_string = connection_string - self.db_type = db_type - self.set_parameters_xml_file_uri = set_parameters_xml_file_uri - self.set_parameters = set_parameters - self.skip_app_data = skip_app_data - self.app_offline = app_offline diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status.py deleted file mode 100644 index eecea2c691af..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class MSDeployStatus(ProxyOnlyResource): - """MSDeploy ARM response. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar deployer: Username of deployer - :vartype deployer: str - :ivar provisioning_state: Provisioning state. Possible values include: - 'accepted', 'running', 'succeeded', 'failed', 'canceled' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.MSDeployProvisioningState - :ivar start_time: Start time of deploy operation - :vartype start_time: datetime - :ivar end_time: End time of deploy operation - :vartype end_time: datetime - :ivar complete: Whether the deployment operation has completed - :vartype complete: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'deployer': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'complete': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deployer': {'key': 'properties.deployer', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'complete': {'key': 'properties.complete', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(MSDeployStatus, self).__init__(**kwargs) - self.deployer = None - self.provisioning_state = None - self.start_time = None - self.end_time = None - self.complete = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status_py3.py deleted file mode 100644 index 5a45d0afa408..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ms_deploy_status_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class MSDeployStatus(ProxyOnlyResource): - """MSDeploy ARM response. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar deployer: Username of deployer - :vartype deployer: str - :ivar provisioning_state: Provisioning state. Possible values include: - 'accepted', 'running', 'succeeded', 'failed', 'canceled' - :vartype provisioning_state: str or - ~azure.mgmt.web.models.MSDeployProvisioningState - :ivar start_time: Start time of deploy operation - :vartype start_time: datetime - :ivar end_time: End time of deploy operation - :vartype end_time: datetime - :ivar complete: Whether the deployment operation has completed - :vartype complete: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'deployer': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'complete': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'deployer': {'key': 'properties.deployer', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'complete': {'key': 'properties.complete', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(MSDeployStatus, self).__init__(kind=kind, **kwargs) - self.deployer = None - self.provisioning_state = None - self.start_time = None - self.end_time = None - self.complete = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_paged.py deleted file mode 100644 index e5e4d133f7bc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 NameIdentifierPaged(Paged): - """ - A paging container for iterating over a list of :class:`NameIdentifier ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[NameIdentifier]'} - } - - def __init__(self, *args, **kwargs): - - super(NameIdentifierPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair.py deleted file mode 100644 index c199f066bb33..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NameValuePair(Model): - """Name value pair. - - :param name: Pair name. - :type name: str - :param value: Pair value. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NameValuePair, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair_py3.py deleted file mode 100644 index 5c5ff6300715..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_value_pair_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NameValuePair(Model): - """Name value pair. - - :param name: Pair name. - :type name: str - :param value: Pair value. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: - super(NameValuePair, self).__init__(**kwargs) - self.name = name - self.value = value diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry.py deleted file mode 100644 index 2a0409421970..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkAccessControlEntry(Model): - """Network access control entry. - - :param action: Action object. Possible values include: 'Permit', 'Deny' - :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction - :param description: Description of network access control entry. - :type description: str - :param order: Order of precedence. - :type order: int - :param remote_subnet: Remote subnet. - :type remote_subnet: str - """ - - _attribute_map = { - 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, - 'description': {'key': 'description', 'type': 'str'}, - 'order': {'key': 'order', 'type': 'int'}, - 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkAccessControlEntry, self).__init__(**kwargs) - self.action = kwargs.get('action', None) - self.description = kwargs.get('description', None) - self.order = kwargs.get('order', None) - self.remote_subnet = kwargs.get('remote_subnet', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry_py3.py deleted file mode 100644 index 7bec93865b8a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_access_control_entry_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkAccessControlEntry(Model): - """Network access control entry. - - :param action: Action object. Possible values include: 'Permit', 'Deny' - :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction - :param description: Description of network access control entry. - :type description: str - :param order: Order of precedence. - :type order: int - :param remote_subnet: Remote subnet. - :type remote_subnet: str - """ - - _attribute_map = { - 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, - 'description': {'key': 'description', 'type': 'str'}, - 'order': {'key': 'order', 'type': 'int'}, - 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, - } - - def __init__(self, *, action=None, description: str=None, order: int=None, remote_subnet: str=None, **kwargs) -> None: - super(NetworkAccessControlEntry, self).__init__(**kwargs) - self.action = action - self.description = description - self.order = order - self.remote_subnet = remote_subnet diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features.py deleted file mode 100644 index 9e6e0472f730..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class NetworkFeatures(ProxyOnlyResource): - """Full view of network features for an app (presently VNET integration and - Hybrid Connections). - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar virtual_network_name: The Virtual Network name. - :vartype virtual_network_name: str - :ivar virtual_network_connection: The Virtual Network summary view. - :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo - :ivar hybrid_connections: The Hybrid Connections summary view. - :vartype hybrid_connections: - list[~azure.mgmt.web.models.RelayServiceConnectionEntity] - :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. - :vartype hybrid_connections_v2: - list[~azure.mgmt.web.models.HybridConnection] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_name': {'readonly': True}, - 'virtual_network_connection': {'readonly': True}, - 'hybrid_connections': {'readonly': True}, - 'hybrid_connections_v2': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, - 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, - 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, - 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, - } - - def __init__(self, **kwargs): - super(NetworkFeatures, self).__init__(**kwargs) - self.virtual_network_name = None - self.virtual_network_connection = None - self.hybrid_connections = None - self.hybrid_connections_v2 = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features_py3.py deleted file mode 100644 index c5913cb9e91b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_features_py3.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class NetworkFeatures(ProxyOnlyResource): - """Full view of network features for an app (presently VNET integration and - Hybrid Connections). - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar virtual_network_name: The Virtual Network name. - :vartype virtual_network_name: str - :ivar virtual_network_connection: The Virtual Network summary view. - :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo - :ivar hybrid_connections: The Hybrid Connections summary view. - :vartype hybrid_connections: - list[~azure.mgmt.web.models.RelayServiceConnectionEntity] - :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. - :vartype hybrid_connections_v2: - list[~azure.mgmt.web.models.HybridConnection] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'virtual_network_name': {'readonly': True}, - 'virtual_network_connection': {'readonly': True}, - 'hybrid_connections': {'readonly': True}, - 'hybrid_connections_v2': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, - 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, - 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, - 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(NetworkFeatures, self).__init__(kind=kind, **kwargs) - self.virtual_network_name = None - self.virtual_network_connection = None - self.hybrid_connections = None - self.hybrid_connections_v2 = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace.py deleted file mode 100644 index c6dcab7967e9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkTrace(Model): - """Network trace. - - :param path: Local file path for the captured network trace file. - :type path: str - :param status: Current status of the network trace operation, same as - Operation.Status (InProgress/Succeeded/Failed). - :type status: str - :param message: Detailed message of a network trace operation, e.g. error - message in case of failure. - :type message: str - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NetworkTrace, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.status = kwargs.get('status', None) - self.message = kwargs.get('message', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace_py3.py deleted file mode 100644 index 58f8bf5b7a8c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/network_trace_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class NetworkTrace(Model): - """Network trace. - - :param path: Local file path for the captured network trace file. - :type path: str - :param status: Current status of the network trace operation, same as - Operation.Status (InProgress/Succeeded/Failed). - :type status: str - :param message: Detailed message of a network trace operation, e.g. error - message in case of failure. - :type message: str - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, path: str=None, status: str=None, message: str=None, **kwargs) -> None: - super(NetworkTrace, self).__init__(**kwargs) - self.path = path - self.status = status - self.message = message diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation.py deleted file mode 100644 index 4decbf424068..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (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): - """An operation on a resource. - - :param id: Operation ID. - :type id: str - :param name: Operation name. - :type name: str - :param status: The current status of the operation. Possible values - include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' - :type status: str or ~azure.mgmt.web.models.OperationStatus - :param errors: Any errors associate with the operation. - :type errors: list[~azure.mgmt.web.models.ErrorEntity] - :param created_time: Time when operation has started. - :type created_time: datetime - :param modified_time: Time when operation has been updated. - :type modified_time: datetime - :param expiration_time: Time when operation will expire. - :type expiration_time: datetime - :param geo_master_operation_id: Applicable only for stamp operation ids. - :type geo_master_operation_id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'OperationStatus'}, - 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Operation, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs.get('status', None) - self.errors = kwargs.get('errors', None) - self.created_time = kwargs.get('created_time', None) - self.modified_time = kwargs.get('modified_time', None) - self.expiration_time = kwargs.get('expiration_time', None) - self.geo_master_operation_id = kwargs.get('geo_master_operation_id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation_py3.py deleted file mode 100644 index 2c22ca4513d3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/operation_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (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): - """An operation on a resource. - - :param id: Operation ID. - :type id: str - :param name: Operation name. - :type name: str - :param status: The current status of the operation. Possible values - include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' - :type status: str or ~azure.mgmt.web.models.OperationStatus - :param errors: Any errors associate with the operation. - :type errors: list[~azure.mgmt.web.models.ErrorEntity] - :param created_time: Time when operation has started. - :type created_time: datetime - :param modified_time: Time when operation has been updated. - :type modified_time: datetime - :param expiration_time: Time when operation will expire. - :type expiration_time: datetime - :param geo_master_operation_id: Applicable only for stamp operation ids. - :type geo_master_operation_id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'OperationStatus'}, - 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, - 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, - 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, name: str=None, status=None, errors=None, created_time=None, modified_time=None, expiration_time=None, geo_master_operation_id: str=None, **kwargs) -> None: - super(Operation, self).__init__(**kwargs) - self.id = id - self.name = name - self.status = status - self.errors = errors - self.created_time = created_time - self.modified_time = modified_time - self.expiration_time = expiration_time - self.geo_master_operation_id = geo_master_operation_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint.py deleted file mode 100644 index fa9c33eb7e94..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OutboundEnvironmentEndpoint(Model): - """Endpoints accessed for a common purpose that the App Service Environment - requires outbound network access to. - - :param category: The type of service accessed by the App Service - Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active - Directory. - :type category: str - :param endpoints: The endpoints that the App Service Environment reaches - the service at. - :type endpoints: list[~azure.mgmt.web.models.EndpointDependency] - """ - - _attribute_map = { - 'category': {'key': 'category', 'type': 'str'}, - 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, - } - - def __init__(self, **kwargs): - super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) - self.category = kwargs.get('category', None) - self.endpoints = kwargs.get('endpoints', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_paged.py deleted file mode 100644 index f4b09fd6d82c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 OutboundEnvironmentEndpointPaged(Paged): - """ - A paging container for iterating over a list of :class:`OutboundEnvironmentEndpoint ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'} - } - - def __init__(self, *args, **kwargs): - - super(OutboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_py3.py deleted file mode 100644 index d1f545a451d7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/outbound_environment_endpoint_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class OutboundEnvironmentEndpoint(Model): - """Endpoints accessed for a common purpose that the App Service Environment - requires outbound network access to. - - :param category: The type of service accessed by the App Service - Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active - Directory. - :type category: str - :param endpoints: The endpoints that the App Service Environment reaches - the service at. - :type endpoints: list[~azure.mgmt.web.models.EndpointDependency] - """ - - _attribute_map = { - 'category': {'key': 'category', 'type': 'str'}, - 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, - } - - def __init__(self, *, category: str=None, endpoints=None, **kwargs) -> None: - super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) - self.category = category - self.endpoints = endpoints diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response.py deleted file mode 100644 index 13b539362a90..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonResponse(Model): - """Performance monitor API response. - - :param code: The response code. - :type code: str - :param message: The message. - :type message: str - :param data: The performance monitor counters. - :type data: ~azure.mgmt.web.models.PerfMonSet - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'data': {'key': 'data', 'type': 'PerfMonSet'}, - } - - def __init__(self, **kwargs): - super(PerfMonResponse, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - self.data = kwargs.get('data', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_paged.py deleted file mode 100644 index f95659f06ff6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 PerfMonResponsePaged(Paged): - """ - A paging container for iterating over a list of :class:`PerfMonResponse ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PerfMonResponse]'} - } - - def __init__(self, *args, **kwargs): - - super(PerfMonResponsePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_py3.py deleted file mode 100644 index 7c4f8a6d6026..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_response_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonResponse(Model): - """Performance monitor API response. - - :param code: The response code. - :type code: str - :param message: The message. - :type message: str - :param data: The performance monitor counters. - :type data: ~azure.mgmt.web.models.PerfMonSet - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'data': {'key': 'data', 'type': 'PerfMonSet'}, - } - - def __init__(self, *, code: str=None, message: str=None, data=None, **kwargs) -> None: - super(PerfMonResponse, self).__init__(**kwargs) - self.code = code - self.message = message - self.data = data diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample.py deleted file mode 100644 index 83a1d71f9571..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonSample(Model): - """Performance monitor sample in a set. - - :param time: Point in time for which counter was measured. - :type time: datetime - :param instance_name: Name of the server on which the measurement is made. - :type instance_name: str - :param value: Value of counter at a certain time. - :type value: float - """ - - _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'instance_name': {'key': 'instanceName', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'float'}, - } - - def __init__(self, **kwargs): - super(PerfMonSample, self).__init__(**kwargs) - self.time = kwargs.get('time', None) - self.instance_name = kwargs.get('instance_name', None) - self.value = kwargs.get('value', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample_py3.py deleted file mode 100644 index 106ee15ca2fd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_sample_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonSample(Model): - """Performance monitor sample in a set. - - :param time: Point in time for which counter was measured. - :type time: datetime - :param instance_name: Name of the server on which the measurement is made. - :type instance_name: str - :param value: Value of counter at a certain time. - :type value: float - """ - - _attribute_map = { - 'time': {'key': 'time', 'type': 'iso-8601'}, - 'instance_name': {'key': 'instanceName', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'float'}, - } - - def __init__(self, *, time=None, instance_name: str=None, value: float=None, **kwargs) -> None: - super(PerfMonSample, self).__init__(**kwargs) - self.time = time - self.instance_name = instance_name - self.value = value diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set.py deleted file mode 100644 index dc21bb4f164a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonSet(Model): - """Metric information. - - :param name: Unique key name of the counter. - :type name: str - :param start_time: Start time of the period. - :type start_time: datetime - :param end_time: End time of the period. - :type end_time: datetime - :param time_grain: Presented time grain. - :type time_grain: str - :param values: Collection of workers that are active during this time. - :type values: list[~azure.mgmt.web.models.PerfMonSample] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[PerfMonSample]'}, - } - - def __init__(self, **kwargs): - super(PerfMonSet, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.time_grain = kwargs.get('time_grain', None) - self.values = kwargs.get('values', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set_py3.py deleted file mode 100644 index 18e840f54568..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/perf_mon_set_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PerfMonSet(Model): - """Metric information. - - :param name: Unique key name of the counter. - :type name: str - :param start_time: Start time of the period. - :type start_time: datetime - :param end_time: End time of the period. - :type end_time: datetime - :param time_grain: Presented time grain. - :type time_grain: str - :param values: Collection of workers that are active during this time. - :type values: list[~azure.mgmt.web.models.PerfMonSample] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[PerfMonSample]'}, - } - - def __init__(self, *, name: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: - super(PerfMonSet, self).__init__(**kwargs) - self.name = name - self.start_time = start_time - self.end_time = end_time - self.time_grain = time_grain - self.values = values diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on.py deleted file mode 100644 index e04bf6d23140..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 PremierAddOn(Resource): - """Premier add-on. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on Product. - :type product: str - :param vendor: Premier add on Vendor. - :type vendor: str - :param marketplace_publisher: Premier add on Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Premier add on Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PremierAddOn, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.product = kwargs.get('product', None) - self.vendor = kwargs.get('vendor', None) - self.marketplace_publisher = kwargs.get('marketplace_publisher', None) - self.marketplace_offer = kwargs.get('marketplace_offer', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer.py deleted file mode 100644 index d2cbd4494680..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class PremierAddOnOffer(ProxyOnlyResource): - """Premier add-on offer. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on offer Product. - :type product: str - :param vendor: Premier add on offer Vendor. - :type vendor: str - :param promo_code_required: true if promotion code is - required; otherwise, false. - :type promo_code_required: bool - :param quota: Premier add on offer Quota. - :type quota: int - :param web_hosting_plan_restrictions: App Service plans this offer is - restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', - 'Standard', 'Premium' - :type web_hosting_plan_restrictions: str or - ~azure.mgmt.web.models.AppServicePlanRestrictions - :param privacy_policy_url: Privacy policy URL. - :type privacy_policy_url: str - :param legal_terms_url: Legal terms URL. - :type legal_terms_url: str - :param marketplace_publisher: Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, - 'quota': {'key': 'properties.quota', 'type': 'int'}, - 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, - 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, - 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PremierAddOnOffer, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.product = kwargs.get('product', None) - self.vendor = kwargs.get('vendor', None) - self.promo_code_required = kwargs.get('promo_code_required', None) - self.quota = kwargs.get('quota', None) - self.web_hosting_plan_restrictions = kwargs.get('web_hosting_plan_restrictions', None) - self.privacy_policy_url = kwargs.get('privacy_policy_url', None) - self.legal_terms_url = kwargs.get('legal_terms_url', None) - self.marketplace_publisher = kwargs.get('marketplace_publisher', None) - self.marketplace_offer = kwargs.get('marketplace_offer', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_paged.py deleted file mode 100644 index d01a83d31c85..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 PremierAddOnOfferPaged(Paged): - """ - A paging container for iterating over a list of :class:`PremierAddOnOffer ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PremierAddOnOffer]'} - } - - def __init__(self, *args, **kwargs): - - super(PremierAddOnOfferPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_py3.py deleted file mode 100644 index b32044596b64..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_offer_py3.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class PremierAddOnOffer(ProxyOnlyResource): - """Premier add-on offer. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on offer Product. - :type product: str - :param vendor: Premier add on offer Vendor. - :type vendor: str - :param promo_code_required: true if promotion code is - required; otherwise, false. - :type promo_code_required: bool - :param quota: Premier add on offer Quota. - :type quota: int - :param web_hosting_plan_restrictions: App Service plans this offer is - restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', - 'Standard', 'Premium' - :type web_hosting_plan_restrictions: str or - ~azure.mgmt.web.models.AppServicePlanRestrictions - :param privacy_policy_url: Privacy policy URL. - :type privacy_policy_url: str - :param legal_terms_url: Legal terms URL. - :type legal_terms_url: str - :param marketplace_publisher: Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, - 'quota': {'key': 'properties.quota', 'type': 'int'}, - 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, - 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, - 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, sku: str=None, product: str=None, vendor: str=None, promo_code_required: bool=None, quota: int=None, web_hosting_plan_restrictions=None, privacy_policy_url: str=None, legal_terms_url: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: - super(PremierAddOnOffer, self).__init__(kind=kind, **kwargs) - self.sku = sku - self.product = product - self.vendor = vendor - self.promo_code_required = promo_code_required - self.quota = quota - self.web_hosting_plan_restrictions = web_hosting_plan_restrictions - self.privacy_policy_url = privacy_policy_url - self.legal_terms_url = legal_terms_url - self.marketplace_publisher = marketplace_publisher - self.marketplace_offer = marketplace_offer diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource.py deleted file mode 100644 index 2365c7546578..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class PremierAddOnPatchResource(ProxyOnlyResource): - """ARM resource for a PremierAddOn. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on Product. - :type product: str - :param vendor: Premier add on Vendor. - :type vendor: str - :param marketplace_publisher: Premier add on Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Premier add on Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PremierAddOnPatchResource, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.product = kwargs.get('product', None) - self.vendor = kwargs.get('vendor', None) - self.marketplace_publisher = kwargs.get('marketplace_publisher', None) - self.marketplace_offer = kwargs.get('marketplace_offer', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource_py3.py deleted file mode 100644 index 7f3ef23a46e0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_patch_resource_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class PremierAddOnPatchResource(ProxyOnlyResource): - """ARM resource for a PremierAddOn. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on Product. - :type product: str - :param vendor: Premier add on Vendor. - :type vendor: str - :param marketplace_publisher: Premier add on Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Premier add on Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, sku: str=None, product: str=None, vendor: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: - super(PremierAddOnPatchResource, self).__init__(kind=kind, **kwargs) - self.sku = sku - self.product = product - self.vendor = vendor - self.marketplace_publisher = marketplace_publisher - self.marketplace_offer = marketplace_offer diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_py3.py deleted file mode 100644 index e52675f59da8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/premier_add_on_py3.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 PremierAddOn(Resource): - """Premier add-on. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param sku: Premier add on SKU. - :type sku: str - :param product: Premier add on Product. - :type product: str - :param vendor: Premier add on Vendor. - :type vendor: str - :param marketplace_publisher: Premier add on Marketplace publisher. - :type marketplace_publisher: str - :param marketplace_offer: Premier add on Marketplace offer. - :type marketplace_offer: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'properties.sku', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'vendor': {'key': 'properties.vendor', 'type': 'str'}, - 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, - 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, - } - - def __init__(self, *, location: str, kind: str=None, tags=None, sku: str=None, product: str=None, vendor: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: - super(PremierAddOn, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.sku = sku - self.product = product - self.vendor = vendor - self.marketplace_publisher = marketplace_publisher - self.marketplace_offer = marketplace_offer diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access.py deleted file mode 100644 index 09aa73f722dc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class PrivateAccess(ProxyOnlyResource): - """Description of the parameters of Private Access for a Web Site. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param enabled: Whether private access is enabled or not. - :type enabled: bool - :param virtual_networks: The Virtual Networks (and subnets) allowed to - access the site privately. - :type virtual_networks: - list[~azure.mgmt.web.models.PrivateAccessVirtualNetwork] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[PrivateAccessVirtualNetwork]'}, - } - - def __init__(self, **kwargs): - super(PrivateAccess, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.virtual_networks = kwargs.get('virtual_networks', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_py3.py deleted file mode 100644 index 44dfced0920b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class PrivateAccess(ProxyOnlyResource): - """Description of the parameters of Private Access for a Web Site. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param enabled: Whether private access is enabled or not. - :type enabled: bool - :param virtual_networks: The Virtual Networks (and subnets) allowed to - access the site privately. - :type virtual_networks: - list[~azure.mgmt.web.models.PrivateAccessVirtualNetwork] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[PrivateAccessVirtualNetwork]'}, - } - - def __init__(self, *, kind: str=None, enabled: bool=None, virtual_networks=None, **kwargs) -> None: - super(PrivateAccess, self).__init__(kind=kind, **kwargs) - self.enabled = enabled - self.virtual_networks = virtual_networks diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet.py deleted file mode 100644 index 7107b2414157..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PrivateAccessSubnet(Model): - """Description of a Virtual Network subnet that is useable for private site - access. - - :param name: The name of the subnet. - :type name: str - :param key: The key (ID) of the subnet. - :type key: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(PrivateAccessSubnet, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.key = kwargs.get('key', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet_py3.py deleted file mode 100644 index c232743ce98e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_subnet_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PrivateAccessSubnet(Model): - """Description of a Virtual Network subnet that is useable for private site - access. - - :param name: The name of the subnet. - :type name: str - :param key: The key (ID) of the subnet. - :type key: int - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'int'}, - } - - def __init__(self, *, name: str=None, key: int=None, **kwargs) -> None: - super(PrivateAccessSubnet, self).__init__(**kwargs) - self.name = name - self.key = key diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network.py deleted file mode 100644 index c9b0fa5d54dd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PrivateAccessVirtualNetwork(Model): - """Description of a Virtual Network that is useable for private site access. - - :param name: The name of the Virtual Network. - :type name: str - :param key: The key (ID) of the Virtual Network. - :type key: int - :param resource_id: The ARM uri of the Virtual Network - :type resource_id: str - :param subnets: A List of subnets that access is allowed to on this - Virtual Network. An empty array (but not null) is interpreted to mean that - all subnets are allowed within this Virtual Network. - :type subnets: list[~azure.mgmt.web.models.PrivateAccessSubnet] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'int'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'subnets': {'key': 'subnets', 'type': '[PrivateAccessSubnet]'}, - } - - def __init__(self, **kwargs): - super(PrivateAccessVirtualNetwork, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.key = kwargs.get('key', None) - self.resource_id = kwargs.get('resource_id', None) - self.subnets = kwargs.get('subnets', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network_py3.py deleted file mode 100644 index 62b1bdfc91b9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/private_access_virtual_network_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class PrivateAccessVirtualNetwork(Model): - """Description of a Virtual Network that is useable for private site access. - - :param name: The name of the Virtual Network. - :type name: str - :param key: The key (ID) of the Virtual Network. - :type key: int - :param resource_id: The ARM uri of the Virtual Network - :type resource_id: str - :param subnets: A List of subnets that access is allowed to on this - Virtual Network. An empty array (but not null) is interpreted to mean that - all subnets are allowed within this Virtual Network. - :type subnets: list[~azure.mgmt.web.models.PrivateAccessSubnet] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'key': {'key': 'key', 'type': 'int'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'subnets': {'key': 'subnets', 'type': '[PrivateAccessSubnet]'}, - } - - def __init__(self, *, name: str=None, key: int=None, resource_id: str=None, subnets=None, **kwargs) -> None: - super(PrivateAccessVirtualNetwork, self).__init__(**kwargs) - self.name = name - self.key = key - self.resource_id = resource_id - self.subnets = subnets diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info.py deleted file mode 100644 index 8b2d416b7c1f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ProcessInfo(ProxyOnlyResource): - """Process 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar identifier: ARM Identifier for deployment. - :vartype identifier: int - :param deployment_name: Deployment name. - :type deployment_name: str - :param href: HRef URI. - :type href: str - :param minidump: Minidump URI. - :type minidump: str - :param is_profile_running: Is profile running? - :type is_profile_running: bool - :param is_iis_profile_running: Is the IIS Profile running? - :type is_iis_profile_running: bool - :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). - :type iis_profile_timeout_in_seconds: float - :param parent: Parent process. - :type parent: str - :param children: Child process list. - :type children: list[str] - :param threads: Thread list. - :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] - :param open_file_handles: List of open files. - :type open_file_handles: list[str] - :param modules: List of modules. - :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] - :param file_name: File name of this process. - :type file_name: str - :param command_line: Command line. - :type command_line: str - :param user_name: User name. - :type user_name: str - :param handle_count: Handle count. - :type handle_count: int - :param module_count: Module count. - :type module_count: int - :param thread_count: Thread count. - :type thread_count: int - :param start_time: Start time. - :type start_time: datetime - :param total_cpu_time: Total CPU time. - :type total_cpu_time: str - :param user_cpu_time: User CPU time. - :type user_cpu_time: str - :param privileged_cpu_time: Privileged CPU time. - :type privileged_cpu_time: str - :param working_set: Working set. - :type working_set: long - :param peak_working_set: Peak working set. - :type peak_working_set: long - :param private_memory: Private memory size. - :type private_memory: long - :param virtual_memory: Virtual memory size. - :type virtual_memory: long - :param peak_virtual_memory: Peak virtual memory usage. - :type peak_virtual_memory: long - :param paged_system_memory: Paged system memory. - :type paged_system_memory: long - :param non_paged_system_memory: Non-paged system memory. - :type non_paged_system_memory: long - :param paged_memory: Paged memory. - :type paged_memory: long - :param peak_paged_memory: Peak paged memory. - :type peak_paged_memory: long - :param time_stamp: Time stamp. - :type time_stamp: datetime - :param environment_variables: List of environment variables. - :type environment_variables: dict[str, str] - :param is_scm_site: Is this the SCM site? - :type is_scm_site: bool - :param is_webjob: Is this a Web Job? - :type is_webjob: bool - :param description: Description of process. - :type description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'identifier': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier': {'key': 'properties.identifier', 'type': 'int'}, - 'deployment_name': {'key': 'properties.deployment_name', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'minidump': {'key': 'properties.minidump', 'type': 'str'}, - 'is_profile_running': {'key': 'properties.is_profile_running', 'type': 'bool'}, - 'is_iis_profile_running': {'key': 'properties.is_iis_profile_running', 'type': 'bool'}, - 'iis_profile_timeout_in_seconds': {'key': 'properties.iis_profile_timeout_in_seconds', 'type': 'float'}, - 'parent': {'key': 'properties.parent', 'type': 'str'}, - 'children': {'key': 'properties.children', 'type': '[str]'}, - 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, - 'open_file_handles': {'key': 'properties.open_file_handles', 'type': '[str]'}, - 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, - 'file_name': {'key': 'properties.file_name', 'type': 'str'}, - 'command_line': {'key': 'properties.command_line', 'type': 'str'}, - 'user_name': {'key': 'properties.user_name', 'type': 'str'}, - 'handle_count': {'key': 'properties.handle_count', 'type': 'int'}, - 'module_count': {'key': 'properties.module_count', 'type': 'int'}, - 'thread_count': {'key': 'properties.thread_count', 'type': 'int'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'total_cpu_time': {'key': 'properties.total_cpu_time', 'type': 'str'}, - 'user_cpu_time': {'key': 'properties.user_cpu_time', 'type': 'str'}, - 'privileged_cpu_time': {'key': 'properties.privileged_cpu_time', 'type': 'str'}, - 'working_set': {'key': 'properties.working_set', 'type': 'long'}, - 'peak_working_set': {'key': 'properties.peak_working_set', 'type': 'long'}, - 'private_memory': {'key': 'properties.private_memory', 'type': 'long'}, - 'virtual_memory': {'key': 'properties.virtual_memory', 'type': 'long'}, - 'peak_virtual_memory': {'key': 'properties.peak_virtual_memory', 'type': 'long'}, - 'paged_system_memory': {'key': 'properties.paged_system_memory', 'type': 'long'}, - 'non_paged_system_memory': {'key': 'properties.non_paged_system_memory', 'type': 'long'}, - 'paged_memory': {'key': 'properties.paged_memory', 'type': 'long'}, - 'peak_paged_memory': {'key': 'properties.peak_paged_memory', 'type': 'long'}, - 'time_stamp': {'key': 'properties.time_stamp', 'type': 'iso-8601'}, - 'environment_variables': {'key': 'properties.environment_variables', 'type': '{str}'}, - 'is_scm_site': {'key': 'properties.is_scm_site', 'type': 'bool'}, - 'is_webjob': {'key': 'properties.is_webjob', 'type': 'bool'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProcessInfo, self).__init__(**kwargs) - self.identifier = None - self.deployment_name = kwargs.get('deployment_name', None) - self.href = kwargs.get('href', None) - self.minidump = kwargs.get('minidump', None) - self.is_profile_running = kwargs.get('is_profile_running', None) - self.is_iis_profile_running = kwargs.get('is_iis_profile_running', None) - self.iis_profile_timeout_in_seconds = kwargs.get('iis_profile_timeout_in_seconds', None) - self.parent = kwargs.get('parent', None) - self.children = kwargs.get('children', None) - self.threads = kwargs.get('threads', None) - self.open_file_handles = kwargs.get('open_file_handles', None) - self.modules = kwargs.get('modules', None) - self.file_name = kwargs.get('file_name', None) - self.command_line = kwargs.get('command_line', None) - self.user_name = kwargs.get('user_name', None) - self.handle_count = kwargs.get('handle_count', None) - self.module_count = kwargs.get('module_count', None) - self.thread_count = kwargs.get('thread_count', None) - self.start_time = kwargs.get('start_time', None) - self.total_cpu_time = kwargs.get('total_cpu_time', None) - self.user_cpu_time = kwargs.get('user_cpu_time', None) - self.privileged_cpu_time = kwargs.get('privileged_cpu_time', None) - self.working_set = kwargs.get('working_set', None) - self.peak_working_set = kwargs.get('peak_working_set', None) - self.private_memory = kwargs.get('private_memory', None) - self.virtual_memory = kwargs.get('virtual_memory', None) - self.peak_virtual_memory = kwargs.get('peak_virtual_memory', None) - self.paged_system_memory = kwargs.get('paged_system_memory', None) - self.non_paged_system_memory = kwargs.get('non_paged_system_memory', None) - self.paged_memory = kwargs.get('paged_memory', None) - self.peak_paged_memory = kwargs.get('peak_paged_memory', None) - self.time_stamp = kwargs.get('time_stamp', None) - self.environment_variables = kwargs.get('environment_variables', None) - self.is_scm_site = kwargs.get('is_scm_site', None) - self.is_webjob = kwargs.get('is_webjob', None) - self.description = kwargs.get('description', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_paged.py deleted file mode 100644 index 5d9af129363d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ProcessInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`ProcessInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ProcessInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(ProcessInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_py3.py deleted file mode 100644 index 5b22a5a7e35a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_info_py3.py +++ /dev/null @@ -1,190 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ProcessInfo(ProxyOnlyResource): - """Process 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar identifier: ARM Identifier for deployment. - :vartype identifier: int - :param deployment_name: Deployment name. - :type deployment_name: str - :param href: HRef URI. - :type href: str - :param minidump: Minidump URI. - :type minidump: str - :param is_profile_running: Is profile running? - :type is_profile_running: bool - :param is_iis_profile_running: Is the IIS Profile running? - :type is_iis_profile_running: bool - :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). - :type iis_profile_timeout_in_seconds: float - :param parent: Parent process. - :type parent: str - :param children: Child process list. - :type children: list[str] - :param threads: Thread list. - :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] - :param open_file_handles: List of open files. - :type open_file_handles: list[str] - :param modules: List of modules. - :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] - :param file_name: File name of this process. - :type file_name: str - :param command_line: Command line. - :type command_line: str - :param user_name: User name. - :type user_name: str - :param handle_count: Handle count. - :type handle_count: int - :param module_count: Module count. - :type module_count: int - :param thread_count: Thread count. - :type thread_count: int - :param start_time: Start time. - :type start_time: datetime - :param total_cpu_time: Total CPU time. - :type total_cpu_time: str - :param user_cpu_time: User CPU time. - :type user_cpu_time: str - :param privileged_cpu_time: Privileged CPU time. - :type privileged_cpu_time: str - :param working_set: Working set. - :type working_set: long - :param peak_working_set: Peak working set. - :type peak_working_set: long - :param private_memory: Private memory size. - :type private_memory: long - :param virtual_memory: Virtual memory size. - :type virtual_memory: long - :param peak_virtual_memory: Peak virtual memory usage. - :type peak_virtual_memory: long - :param paged_system_memory: Paged system memory. - :type paged_system_memory: long - :param non_paged_system_memory: Non-paged system memory. - :type non_paged_system_memory: long - :param paged_memory: Paged memory. - :type paged_memory: long - :param peak_paged_memory: Peak paged memory. - :type peak_paged_memory: long - :param time_stamp: Time stamp. - :type time_stamp: datetime - :param environment_variables: List of environment variables. - :type environment_variables: dict[str, str] - :param is_scm_site: Is this the SCM site? - :type is_scm_site: bool - :param is_webjob: Is this a Web Job? - :type is_webjob: bool - :param description: Description of process. - :type description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'identifier': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier': {'key': 'properties.identifier', 'type': 'int'}, - 'deployment_name': {'key': 'properties.deployment_name', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'minidump': {'key': 'properties.minidump', 'type': 'str'}, - 'is_profile_running': {'key': 'properties.is_profile_running', 'type': 'bool'}, - 'is_iis_profile_running': {'key': 'properties.is_iis_profile_running', 'type': 'bool'}, - 'iis_profile_timeout_in_seconds': {'key': 'properties.iis_profile_timeout_in_seconds', 'type': 'float'}, - 'parent': {'key': 'properties.parent', 'type': 'str'}, - 'children': {'key': 'properties.children', 'type': '[str]'}, - 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, - 'open_file_handles': {'key': 'properties.open_file_handles', 'type': '[str]'}, - 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, - 'file_name': {'key': 'properties.file_name', 'type': 'str'}, - 'command_line': {'key': 'properties.command_line', 'type': 'str'}, - 'user_name': {'key': 'properties.user_name', 'type': 'str'}, - 'handle_count': {'key': 'properties.handle_count', 'type': 'int'}, - 'module_count': {'key': 'properties.module_count', 'type': 'int'}, - 'thread_count': {'key': 'properties.thread_count', 'type': 'int'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'total_cpu_time': {'key': 'properties.total_cpu_time', 'type': 'str'}, - 'user_cpu_time': {'key': 'properties.user_cpu_time', 'type': 'str'}, - 'privileged_cpu_time': {'key': 'properties.privileged_cpu_time', 'type': 'str'}, - 'working_set': {'key': 'properties.working_set', 'type': 'long'}, - 'peak_working_set': {'key': 'properties.peak_working_set', 'type': 'long'}, - 'private_memory': {'key': 'properties.private_memory', 'type': 'long'}, - 'virtual_memory': {'key': 'properties.virtual_memory', 'type': 'long'}, - 'peak_virtual_memory': {'key': 'properties.peak_virtual_memory', 'type': 'long'}, - 'paged_system_memory': {'key': 'properties.paged_system_memory', 'type': 'long'}, - 'non_paged_system_memory': {'key': 'properties.non_paged_system_memory', 'type': 'long'}, - 'paged_memory': {'key': 'properties.paged_memory', 'type': 'long'}, - 'peak_paged_memory': {'key': 'properties.peak_paged_memory', 'type': 'long'}, - 'time_stamp': {'key': 'properties.time_stamp', 'type': 'iso-8601'}, - 'environment_variables': {'key': 'properties.environment_variables', 'type': '{str}'}, - 'is_scm_site': {'key': 'properties.is_scm_site', 'type': 'bool'}, - 'is_webjob': {'key': 'properties.is_webjob', 'type': 'bool'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, deployment_name: str=None, href: str=None, minidump: str=None, is_profile_running: bool=None, is_iis_profile_running: bool=None, iis_profile_timeout_in_seconds: float=None, parent: str=None, children=None, threads=None, open_file_handles=None, modules=None, file_name: str=None, command_line: str=None, user_name: str=None, handle_count: int=None, module_count: int=None, thread_count: int=None, start_time=None, total_cpu_time: str=None, user_cpu_time: str=None, privileged_cpu_time: str=None, working_set: int=None, peak_working_set: int=None, private_memory: int=None, virtual_memory: int=None, peak_virtual_memory: int=None, paged_system_memory: int=None, non_paged_system_memory: int=None, paged_memory: int=None, peak_paged_memory: int=None, time_stamp=None, environment_variables=None, is_scm_site: bool=None, is_webjob: bool=None, description: str=None, **kwargs) -> None: - super(ProcessInfo, self).__init__(kind=kind, **kwargs) - self.identifier = None - self.deployment_name = deployment_name - self.href = href - self.minidump = minidump - self.is_profile_running = is_profile_running - self.is_iis_profile_running = is_iis_profile_running - self.iis_profile_timeout_in_seconds = iis_profile_timeout_in_seconds - self.parent = parent - self.children = children - self.threads = threads - self.open_file_handles = open_file_handles - self.modules = modules - self.file_name = file_name - self.command_line = command_line - self.user_name = user_name - self.handle_count = handle_count - self.module_count = module_count - self.thread_count = thread_count - self.start_time = start_time - self.total_cpu_time = total_cpu_time - self.user_cpu_time = user_cpu_time - self.privileged_cpu_time = privileged_cpu_time - self.working_set = working_set - self.peak_working_set = peak_working_set - self.private_memory = private_memory - self.virtual_memory = virtual_memory - self.peak_virtual_memory = peak_virtual_memory - self.paged_system_memory = paged_system_memory - self.non_paged_system_memory = non_paged_system_memory - self.paged_memory = paged_memory - self.peak_paged_memory = peak_paged_memory - self.time_stamp = time_stamp - self.environment_variables = environment_variables - self.is_scm_site = is_scm_site - self.is_webjob = is_webjob - self.description = description diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info.py deleted file mode 100644 index f57e5396f6dd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ProcessModuleInfo(ProxyOnlyResource): - """Process Module 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param base_address: Base address. Used as module identifier in ARM - resource URI. - :type base_address: str - :param file_name: File name. - :type file_name: str - :param href: HRef URI. - :type href: str - :param file_path: File path. - :type file_path: str - :param module_memory_size: Module memory size. - :type module_memory_size: int - :param file_version: File version. - :type file_version: str - :param file_description: File description. - :type file_description: str - :param product: Product name. - :type product: str - :param product_version: Product version. - :type product_version: str - :param is_debug: Is debug? - :type is_debug: bool - :param language: Module language (locale). - :type language: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'base_address': {'key': 'properties.base_address', 'type': 'str'}, - 'file_name': {'key': 'properties.file_name', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'file_path': {'key': 'properties.file_path', 'type': 'str'}, - 'module_memory_size': {'key': 'properties.module_memory_size', 'type': 'int'}, - 'file_version': {'key': 'properties.file_version', 'type': 'str'}, - 'file_description': {'key': 'properties.file_description', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'product_version': {'key': 'properties.product_version', 'type': 'str'}, - 'is_debug': {'key': 'properties.is_debug', 'type': 'bool'}, - 'language': {'key': 'properties.language', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProcessModuleInfo, self).__init__(**kwargs) - self.base_address = kwargs.get('base_address', None) - self.file_name = kwargs.get('file_name', None) - self.href = kwargs.get('href', None) - self.file_path = kwargs.get('file_path', None) - self.module_memory_size = kwargs.get('module_memory_size', None) - self.file_version = kwargs.get('file_version', None) - self.file_description = kwargs.get('file_description', None) - self.product = kwargs.get('product', None) - self.product_version = kwargs.get('product_version', None) - self.is_debug = kwargs.get('is_debug', None) - self.language = kwargs.get('language', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_paged.py deleted file mode 100644 index 7ec4e1a8aed1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ProcessModuleInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`ProcessModuleInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ProcessModuleInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(ProcessModuleInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_py3.py deleted file mode 100644 index 458d7777a922..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_module_info_py3.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ProcessModuleInfo(ProxyOnlyResource): - """Process Module 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param base_address: Base address. Used as module identifier in ARM - resource URI. - :type base_address: str - :param file_name: File name. - :type file_name: str - :param href: HRef URI. - :type href: str - :param file_path: File path. - :type file_path: str - :param module_memory_size: Module memory size. - :type module_memory_size: int - :param file_version: File version. - :type file_version: str - :param file_description: File description. - :type file_description: str - :param product: Product name. - :type product: str - :param product_version: Product version. - :type product_version: str - :param is_debug: Is debug? - :type is_debug: bool - :param language: Module language (locale). - :type language: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'base_address': {'key': 'properties.base_address', 'type': 'str'}, - 'file_name': {'key': 'properties.file_name', 'type': 'str'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'file_path': {'key': 'properties.file_path', 'type': 'str'}, - 'module_memory_size': {'key': 'properties.module_memory_size', 'type': 'int'}, - 'file_version': {'key': 'properties.file_version', 'type': 'str'}, - 'file_description': {'key': 'properties.file_description', 'type': 'str'}, - 'product': {'key': 'properties.product', 'type': 'str'}, - 'product_version': {'key': 'properties.product_version', 'type': 'str'}, - 'is_debug': {'key': 'properties.is_debug', 'type': 'bool'}, - 'language': {'key': 'properties.language', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, base_address: str=None, file_name: str=None, href: str=None, file_path: str=None, module_memory_size: int=None, file_version: str=None, file_description: str=None, product: str=None, product_version: str=None, is_debug: bool=None, language: str=None, **kwargs) -> None: - super(ProcessModuleInfo, self).__init__(kind=kind, **kwargs) - self.base_address = base_address - self.file_name = file_name - self.href = href - self.file_path = file_path - self.module_memory_size = module_memory_size - self.file_version = file_version - self.file_description = file_description - self.product = product - self.product_version = product_version - self.is_debug = is_debug - self.language = language diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info.py deleted file mode 100644 index e846621c0160..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ProcessThreadInfo(ProxyOnlyResource): - """Process Thread 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar identifier: Site extension ID. - :vartype identifier: int - :param href: HRef URI. - :type href: str - :param process: Process URI. - :type process: str - :param start_address: Start address. - :type start_address: str - :param current_priority: Current thread priority. - :type current_priority: int - :param priority_level: Thread priority level. - :type priority_level: str - :param base_priority: Base priority. - :type base_priority: int - :param start_time: Start time. - :type start_time: datetime - :param total_processor_time: Total processor time. - :type total_processor_time: str - :param user_processor_time: User processor time. - :type user_processor_time: str - :param priviledged_processor_time: Privileged processor time. - :type priviledged_processor_time: str - :param state: Thread state. - :type state: str - :param wait_reason: Wait reason. - :type wait_reason: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'identifier': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier': {'key': 'properties.identifier', 'type': 'int'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'process': {'key': 'properties.process', 'type': 'str'}, - 'start_address': {'key': 'properties.start_address', 'type': 'str'}, - 'current_priority': {'key': 'properties.current_priority', 'type': 'int'}, - 'priority_level': {'key': 'properties.priority_level', 'type': 'str'}, - 'base_priority': {'key': 'properties.base_priority', 'type': 'int'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'total_processor_time': {'key': 'properties.total_processor_time', 'type': 'str'}, - 'user_processor_time': {'key': 'properties.user_processor_time', 'type': 'str'}, - 'priviledged_processor_time': {'key': 'properties.priviledged_processor_time', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'wait_reason': {'key': 'properties.wait_reason', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProcessThreadInfo, self).__init__(**kwargs) - self.identifier = None - self.href = kwargs.get('href', None) - self.process = kwargs.get('process', None) - self.start_address = kwargs.get('start_address', None) - self.current_priority = kwargs.get('current_priority', None) - self.priority_level = kwargs.get('priority_level', None) - self.base_priority = kwargs.get('base_priority', None) - self.start_time = kwargs.get('start_time', None) - self.total_processor_time = kwargs.get('total_processor_time', None) - self.user_processor_time = kwargs.get('user_processor_time', None) - self.priviledged_processor_time = kwargs.get('priviledged_processor_time', None) - self.state = kwargs.get('state', None) - self.wait_reason = kwargs.get('wait_reason', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_paged.py deleted file mode 100644 index b14867e5727f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ProcessThreadInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`ProcessThreadInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ProcessThreadInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(ProcessThreadInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_py3.py deleted file mode 100644 index 818613966ecd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/process_thread_info_py3.py +++ /dev/null @@ -1,98 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ProcessThreadInfo(ProxyOnlyResource): - """Process Thread 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar identifier: Site extension ID. - :vartype identifier: int - :param href: HRef URI. - :type href: str - :param process: Process URI. - :type process: str - :param start_address: Start address. - :type start_address: str - :param current_priority: Current thread priority. - :type current_priority: int - :param priority_level: Thread priority level. - :type priority_level: str - :param base_priority: Base priority. - :type base_priority: int - :param start_time: Start time. - :type start_time: datetime - :param total_processor_time: Total processor time. - :type total_processor_time: str - :param user_processor_time: User processor time. - :type user_processor_time: str - :param priviledged_processor_time: Privileged processor time. - :type priviledged_processor_time: str - :param state: Thread state. - :type state: str - :param wait_reason: Wait reason. - :type wait_reason: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'identifier': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identifier': {'key': 'properties.identifier', 'type': 'int'}, - 'href': {'key': 'properties.href', 'type': 'str'}, - 'process': {'key': 'properties.process', 'type': 'str'}, - 'start_address': {'key': 'properties.start_address', 'type': 'str'}, - 'current_priority': {'key': 'properties.current_priority', 'type': 'int'}, - 'priority_level': {'key': 'properties.priority_level', 'type': 'str'}, - 'base_priority': {'key': 'properties.base_priority', 'type': 'int'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'total_processor_time': {'key': 'properties.total_processor_time', 'type': 'str'}, - 'user_processor_time': {'key': 'properties.user_processor_time', 'type': 'str'}, - 'priviledged_processor_time': {'key': 'properties.priviledged_processor_time', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'wait_reason': {'key': 'properties.wait_reason', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, href: str=None, process: str=None, start_address: str=None, current_priority: int=None, priority_level: str=None, base_priority: int=None, start_time=None, total_processor_time: str=None, user_processor_time: str=None, priviledged_processor_time: str=None, state: str=None, wait_reason: str=None, **kwargs) -> None: - super(ProcessThreadInfo, self).__init__(kind=kind, **kwargs) - self.identifier = None - self.href = href - self.process = process - self.start_address = start_address - self.current_priority = current_priority - self.priority_level = priority_level - self.base_priority = base_priority - self.start_time = start_time - self.total_processor_time = total_processor_time - self.user_processor_time = user_processor_time - self.priviledged_processor_time = priviledged_processor_time - self.state = state - self.wait_reason = wait_reason diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource.py deleted file mode 100644 index 88ed8c60bc89..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProxyOnlyResource(Model): - """Azure proxy only resource. This resource is not tracked by Azure Resource - Manager. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ProxyOnlyResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.kind = kwargs.get('kind', None) - self.type = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource_py3.py deleted file mode 100644 index a5566fb3e5fa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/proxy_only_resource_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ProxyOnlyResource(Model): - """Azure proxy only resource. This resource is not tracked by Azure Resource - Manager. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(ProxyOnlyResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.kind = kind - self.type = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate.py deleted file mode 100644 index effb23e18695..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class PublicCertificate(ProxyOnlyResource): - """Public certificate object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param blob: Public Certificate byte array - :type blob: bytearray - :param public_certificate_location: Public Certificate Location. Possible - values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' - :type public_certificate_location: str or - ~azure.mgmt.web.models.PublicCertificateLocation - :ivar thumbprint: Certificate Thumbprint - :vartype thumbprint: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'thumbprint': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, - 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PublicCertificate, self).__init__(**kwargs) - self.blob = kwargs.get('blob', None) - self.public_certificate_location = kwargs.get('public_certificate_location', None) - self.thumbprint = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_paged.py deleted file mode 100644 index 77a571d127d4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 PublicCertificatePaged(Paged): - """ - A paging container for iterating over a list of :class:`PublicCertificate ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[PublicCertificate]'} - } - - def __init__(self, *args, **kwargs): - - super(PublicCertificatePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_py3.py deleted file mode 100644 index 1f12e72350ee..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/public_certificate_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class PublicCertificate(ProxyOnlyResource): - """Public certificate object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param blob: Public Certificate byte array - :type blob: bytearray - :param public_certificate_location: Public Certificate Location. Possible - values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' - :type public_certificate_location: str or - ~azure.mgmt.web.models.PublicCertificateLocation - :ivar thumbprint: Certificate Thumbprint - :vartype thumbprint: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'thumbprint': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, - 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, - 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, blob: bytearray=None, public_certificate_location=None, **kwargs) -> None: - super(PublicCertificate, self).__init__(kind=kind, **kwargs) - self.blob = blob - self.public_certificate_location = public_certificate_location - self.thumbprint = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings.py deleted file mode 100644 index acb3cad6ac63..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class PushSettings(ProxyOnlyResource): - """Push settings for the App. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param is_push_enabled: Required. Gets or sets a flag indicating whether - the Push endpoint is enabled. - :type is_push_enabled: bool - :param tag_whitelist_json: Gets or sets a JSON string containing a list of - tags that are whitelisted for use by the push registration endpoint. - :type tag_whitelist_json: str - :param tags_requiring_auth: Gets or sets a JSON string containing a list - of tags that require user authentication to be used in the push - registration endpoint. - Tags can consist of alphanumeric characters and the following: - '_', '@', '#', '.', ':', '-'. - Validation should be performed at the PushRequestHandler. - :type tags_requiring_auth: str - :param dynamic_tags_json: Gets or sets a JSON string containing a list of - dynamic tags that will be evaluated from user claims in the push - registration endpoint. - :type dynamic_tags_json: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'is_push_enabled': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, - 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, - 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, - 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(PushSettings, self).__init__(**kwargs) - self.is_push_enabled = kwargs.get('is_push_enabled', None) - self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) - self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) - self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings_py3.py deleted file mode 100644 index 8d41beb1a99d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/push_settings_py3.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class PushSettings(ProxyOnlyResource): - """Push settings for the App. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param is_push_enabled: Required. Gets or sets a flag indicating whether - the Push endpoint is enabled. - :type is_push_enabled: bool - :param tag_whitelist_json: Gets or sets a JSON string containing a list of - tags that are whitelisted for use by the push registration endpoint. - :type tag_whitelist_json: str - :param tags_requiring_auth: Gets or sets a JSON string containing a list - of tags that require user authentication to be used in the push - registration endpoint. - Tags can consist of alphanumeric characters and the following: - '_', '@', '#', '.', ':', '-'. - Validation should be performed at the PushRequestHandler. - :type tags_requiring_auth: str - :param dynamic_tags_json: Gets or sets a JSON string containing a list of - dynamic tags that will be evaluated from user claims in the push - registration endpoint. - :type dynamic_tags_json: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'is_push_enabled': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, - 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, - 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, - 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, - } - - def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: - super(PushSettings, self).__init__(kind=kind, **kwargs) - self.is_push_enabled = is_push_enabled - self.tag_whitelist_json = tag_whitelist_json - self.tags_requiring_auth = tags_requiring_auth - self.dynamic_tags_json = dynamic_tags_json diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule.py deleted file mode 100644 index 084ce8052951..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RampUpRule(Model): - """Routing rules for ramp up testing. This rule allows to redirect static - traffic % to a slot or to gradually change routing % based on performance. - - :param action_host_name: Hostname of a slot to which the traffic will be - redirected if decided to. E.g. myapp-stage.azurewebsites.net. - :type action_host_name: str - :param reroute_percentage: Percentage of the traffic which will be - redirected to ActionHostName. - :type reroute_percentage: float - :param change_step: In auto ramp up scenario this is the step to - add/remove from ReroutePercentage until it reaches - MinReroutePercentage or MaxReroutePercentage. - Site metrics are checked every N minutes specified in - ChangeIntervalInMinutes. - Custom decision algorithm can be provided in TiPCallback site extension - which URL can be specified in ChangeDecisionCallbackUrl. - :type change_step: float - :param change_interval_in_minutes: Specifies interval in minutes to - reevaluate ReroutePercentage. - :type change_interval_in_minutes: int - :param min_reroute_percentage: Specifies lower boundary above which - ReroutePercentage will stay. - :type min_reroute_percentage: float - :param max_reroute_percentage: Specifies upper boundary below which - ReroutePercentage will stay. - :type max_reroute_percentage: float - :param change_decision_callback_url: Custom decision algorithm can be - provided in TiPCallback site extension which URL can be specified. See - TiPCallback site extension for the scaffold and contracts. - https://www.siteextensions.net/packages/TiPCallback/ - :type change_decision_callback_url: str - :param name: Name of the routing rule. The recommended name would be to - point to the slot which will receive the traffic in the experiment. - :type name: str - """ - - _attribute_map = { - 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, - 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, - 'change_step': {'key': 'changeStep', 'type': 'float'}, - 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, - 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, - 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, - 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RampUpRule, self).__init__(**kwargs) - self.action_host_name = kwargs.get('action_host_name', None) - self.reroute_percentage = kwargs.get('reroute_percentage', None) - self.change_step = kwargs.get('change_step', None) - self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) - self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) - self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) - self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) - self.name = kwargs.get('name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule_py3.py deleted file mode 100644 index ccc3f0224724..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/ramp_up_rule_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RampUpRule(Model): - """Routing rules for ramp up testing. This rule allows to redirect static - traffic % to a slot or to gradually change routing % based on performance. - - :param action_host_name: Hostname of a slot to which the traffic will be - redirected if decided to. E.g. myapp-stage.azurewebsites.net. - :type action_host_name: str - :param reroute_percentage: Percentage of the traffic which will be - redirected to ActionHostName. - :type reroute_percentage: float - :param change_step: In auto ramp up scenario this is the step to - add/remove from ReroutePercentage until it reaches - MinReroutePercentage or MaxReroutePercentage. - Site metrics are checked every N minutes specified in - ChangeIntervalInMinutes. - Custom decision algorithm can be provided in TiPCallback site extension - which URL can be specified in ChangeDecisionCallbackUrl. - :type change_step: float - :param change_interval_in_minutes: Specifies interval in minutes to - reevaluate ReroutePercentage. - :type change_interval_in_minutes: int - :param min_reroute_percentage: Specifies lower boundary above which - ReroutePercentage will stay. - :type min_reroute_percentage: float - :param max_reroute_percentage: Specifies upper boundary below which - ReroutePercentage will stay. - :type max_reroute_percentage: float - :param change_decision_callback_url: Custom decision algorithm can be - provided in TiPCallback site extension which URL can be specified. See - TiPCallback site extension for the scaffold and contracts. - https://www.siteextensions.net/packages/TiPCallback/ - :type change_decision_callback_url: str - :param name: Name of the routing rule. The recommended name would be to - point to the slot which will receive the traffic in the experiment. - :type name: str - """ - - _attribute_map = { - 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, - 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, - 'change_step': {'key': 'changeStep', 'type': 'float'}, - 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, - 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, - 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, - 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: - super(RampUpRule, self).__init__(**kwargs) - self.action_host_name = action_host_name - self.reroute_percentage = reroute_percentage - self.change_step = change_step - self.change_interval_in_minutes = change_interval_in_minutes - self.min_reroute_percentage = min_reroute_percentage - self.max_reroute_percentage = max_reroute_percentage - self.change_decision_callback_url = change_decision_callback_url - self.name = name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation.py deleted file mode 100644 index 2871f19fb3ce..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation.py +++ /dev/null @@ -1,155 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class Recommendation(ProxyOnlyResource): - """Represents a recommendation result generated by the recommendation engine. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param creation_time: Timestamp when this instance was created. - :type creation_time: datetime - :param recommendation_id: A GUID value that each recommendation object is - associated with. - :type recommendation_id: str - :param resource_id: Full ARM resource ID string that this recommendation - object is associated with. - :type resource_id: str - :param resource_scope: Name of a resource type this recommendation - applies, e.g. Subscription, ServerFarm, Site. Possible values include: - 'ServerFarm', 'Subscription', 'WebSite' - :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType - :param rule_name: Unique name of the rule. - :type rule_name: str - :param display_name: UI friendly name of the rule (may not be unique). - :type display_name: str - :param message: Recommendation text. - :type message: str - :param level: Level indicating how critical this recommendation can - impact. Possible values include: 'Critical', 'Warning', 'Information', - 'NonUrgentSuggestion' - :type level: str or ~azure.mgmt.web.models.NotificationLevel - :param channels: List of channels that this recommendation can apply. - Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' - :type channels: str or ~azure.mgmt.web.models.Channels - :ivar category_tags: The list of category tags that this recommendation - belongs to. - :vartype category_tags: list[str] - :param action_name: Name of action recommended by this object. - :type action_name: str - :param enabled: True if this recommendation is still valid (i.e. - "actionable"). False if it is invalid. - :type enabled: int - :param states: The list of states of this recommendation. If it's null - then it should be considered "Active". - :type states: list[str] - :param start_time: The beginning time in UTC of a range that the - recommendation refers to. - :type start_time: datetime - :param end_time: The end time in UTC of a range that the recommendation - refers to. - :type end_time: datetime - :param next_notification_time: When to notify this recommendation next in - UTC. Null means that this will never be notified anymore. - :type next_notification_time: datetime - :param notification_expiration_time: Date and time in UTC when this - notification expires. - :type notification_expiration_time: datetime - :param notified_time: Last timestamp in UTC this instance was actually - notified. Null means that this recommendation hasn't been notified yet. - :type notified_time: datetime - :param score: A metric value measured by the rule. - :type score: float - :param is_dynamic: True if this is associated with a dynamically added - rule - :type is_dynamic: bool - :param extension_name: Extension name of the portal if exists. - :type extension_name: str - :param blade_name: Deep link to a blade on the portal. - :type blade_name: str - :param forward_link: Forward link to an external document associated with - the rule. - :type forward_link: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'category_tags': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, - 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, - 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, - 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, - 'channels': {'key': 'properties.channels', 'type': 'Channels'}, - 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, - 'action_name': {'key': 'properties.actionName', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'int'}, - 'states': {'key': 'properties.states', 'type': '[str]'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, - 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, - 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, - 'score': {'key': 'properties.score', 'type': 'float'}, - 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, - 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, - 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, - 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Recommendation, self).__init__(**kwargs) - self.creation_time = kwargs.get('creation_time', None) - self.recommendation_id = kwargs.get('recommendation_id', None) - self.resource_id = kwargs.get('resource_id', None) - self.resource_scope = kwargs.get('resource_scope', None) - self.rule_name = kwargs.get('rule_name', None) - self.display_name = kwargs.get('display_name', None) - self.message = kwargs.get('message', None) - self.level = kwargs.get('level', None) - self.channels = kwargs.get('channels', None) - self.category_tags = None - self.action_name = kwargs.get('action_name', None) - self.enabled = kwargs.get('enabled', None) - self.states = kwargs.get('states', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.next_notification_time = kwargs.get('next_notification_time', None) - self.notification_expiration_time = kwargs.get('notification_expiration_time', None) - self.notified_time = kwargs.get('notified_time', None) - self.score = kwargs.get('score', None) - self.is_dynamic = kwargs.get('is_dynamic', None) - self.extension_name = kwargs.get('extension_name', None) - self.blade_name = kwargs.get('blade_name', None) - self.forward_link = kwargs.get('forward_link', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_paged.py deleted file mode 100644 index 2eaf7b6d2ebd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 RecommendationPaged(Paged): - """ - A paging container for iterating over a list of :class:`Recommendation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Recommendation]'} - } - - def __init__(self, *args, **kwargs): - - super(RecommendationPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_py3.py deleted file mode 100644 index ead4f7d4852d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_py3.py +++ /dev/null @@ -1,155 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class Recommendation(ProxyOnlyResource): - """Represents a recommendation result generated by the recommendation engine. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param creation_time: Timestamp when this instance was created. - :type creation_time: datetime - :param recommendation_id: A GUID value that each recommendation object is - associated with. - :type recommendation_id: str - :param resource_id: Full ARM resource ID string that this recommendation - object is associated with. - :type resource_id: str - :param resource_scope: Name of a resource type this recommendation - applies, e.g. Subscription, ServerFarm, Site. Possible values include: - 'ServerFarm', 'Subscription', 'WebSite' - :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType - :param rule_name: Unique name of the rule. - :type rule_name: str - :param display_name: UI friendly name of the rule (may not be unique). - :type display_name: str - :param message: Recommendation text. - :type message: str - :param level: Level indicating how critical this recommendation can - impact. Possible values include: 'Critical', 'Warning', 'Information', - 'NonUrgentSuggestion' - :type level: str or ~azure.mgmt.web.models.NotificationLevel - :param channels: List of channels that this recommendation can apply. - Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' - :type channels: str or ~azure.mgmt.web.models.Channels - :ivar category_tags: The list of category tags that this recommendation - belongs to. - :vartype category_tags: list[str] - :param action_name: Name of action recommended by this object. - :type action_name: str - :param enabled: True if this recommendation is still valid (i.e. - "actionable"). False if it is invalid. - :type enabled: int - :param states: The list of states of this recommendation. If it's null - then it should be considered "Active". - :type states: list[str] - :param start_time: The beginning time in UTC of a range that the - recommendation refers to. - :type start_time: datetime - :param end_time: The end time in UTC of a range that the recommendation - refers to. - :type end_time: datetime - :param next_notification_time: When to notify this recommendation next in - UTC. Null means that this will never be notified anymore. - :type next_notification_time: datetime - :param notification_expiration_time: Date and time in UTC when this - notification expires. - :type notification_expiration_time: datetime - :param notified_time: Last timestamp in UTC this instance was actually - notified. Null means that this recommendation hasn't been notified yet. - :type notified_time: datetime - :param score: A metric value measured by the rule. - :type score: float - :param is_dynamic: True if this is associated with a dynamically added - rule - :type is_dynamic: bool - :param extension_name: Extension name of the portal if exists. - :type extension_name: str - :param blade_name: Deep link to a blade on the portal. - :type blade_name: str - :param forward_link: Forward link to an external document associated with - the rule. - :type forward_link: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'category_tags': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, - 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, - 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, - 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, - 'channels': {'key': 'properties.channels', 'type': 'Channels'}, - 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, - 'action_name': {'key': 'properties.actionName', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'int'}, - 'states': {'key': 'properties.states', 'type': '[str]'}, - 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, - 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, - 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, - 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, - 'score': {'key': 'properties.score', 'type': 'float'}, - 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, - 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, - 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, - 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, creation_time=None, recommendation_id: str=None, resource_id: str=None, resource_scope=None, rule_name: str=None, display_name: str=None, message: str=None, level=None, channels=None, action_name: str=None, enabled: int=None, states=None, start_time=None, end_time=None, next_notification_time=None, notification_expiration_time=None, notified_time=None, score: float=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: - super(Recommendation, self).__init__(kind=kind, **kwargs) - self.creation_time = creation_time - self.recommendation_id = recommendation_id - self.resource_id = resource_id - self.resource_scope = resource_scope - self.rule_name = rule_name - self.display_name = display_name - self.message = message - self.level = level - self.channels = channels - self.category_tags = None - self.action_name = action_name - self.enabled = enabled - self.states = states - self.start_time = start_time - self.end_time = end_time - self.next_notification_time = next_notification_time - self.notification_expiration_time = notification_expiration_time - self.notified_time = notified_time - self.score = score - self.is_dynamic = is_dynamic - self.extension_name = extension_name - self.blade_name = blade_name - self.forward_link = forward_link diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule.py deleted file mode 100644 index 75df7b4a8508..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class RecommendationRule(ProxyOnlyResource): - """Represents a recommendation rule that the recommendation engine can - perform. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param recommendation_name: Unique name of the rule. - :type recommendation_name: str - :param display_name: UI friendly name of the rule. - :type display_name: str - :param message: Localized name of the rule (Good for UI). - :type message: str - :param recommendation_id: Recommendation ID of an associated - recommendation object tied to the rule, if exists. - If such an object doesn't exist, it is set to null. - :type recommendation_id: str - :param description: Localized detailed description of the rule. - :type description: str - :param action_name: Name of action that is recommended by this rule in - string. - :type action_name: str - :param level: Level of impact indicating how critical this rule is. - Possible values include: 'Critical', 'Warning', 'Information', - 'NonUrgentSuggestion' - :type level: str or ~azure.mgmt.web.models.NotificationLevel - :param channels: List of available channels that this rule applies. - Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' - :type channels: str or ~azure.mgmt.web.models.Channels - :ivar category_tags: The list of category tags that this recommendation - rule belongs to. - :vartype category_tags: list[str] - :param is_dynamic: True if this is associated with a dynamically added - rule - :type is_dynamic: bool - :param extension_name: Extension name of the portal if exists. Applicable - to dynamic rule only. - :type extension_name: str - :param blade_name: Deep link to a blade on the portal. Applicable to - dynamic rule only. - :type blade_name: str - :param forward_link: Forward link to an external document associated with - the rule. Applicable to dynamic rule only. - :type forward_link: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'category_tags': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'recommendation_name': {'key': 'properties.recommendationName', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'action_name': {'key': 'properties.actionName', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, - 'channels': {'key': 'properties.channels', 'type': 'Channels'}, - 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, - 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, - 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, - 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, - 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RecommendationRule, self).__init__(**kwargs) - self.recommendation_name = kwargs.get('recommendation_name', None) - self.display_name = kwargs.get('display_name', None) - self.message = kwargs.get('message', None) - self.recommendation_id = kwargs.get('recommendation_id', None) - self.description = kwargs.get('description', None) - self.action_name = kwargs.get('action_name', None) - self.level = kwargs.get('level', None) - self.channels = kwargs.get('channels', None) - self.category_tags = None - self.is_dynamic = kwargs.get('is_dynamic', None) - self.extension_name = kwargs.get('extension_name', None) - self.blade_name = kwargs.get('blade_name', None) - self.forward_link = kwargs.get('forward_link', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule_py3.py deleted file mode 100644 index 2626ea719e72..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/recommendation_rule_py3.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class RecommendationRule(ProxyOnlyResource): - """Represents a recommendation rule that the recommendation engine can - perform. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param recommendation_name: Unique name of the rule. - :type recommendation_name: str - :param display_name: UI friendly name of the rule. - :type display_name: str - :param message: Localized name of the rule (Good for UI). - :type message: str - :param recommendation_id: Recommendation ID of an associated - recommendation object tied to the rule, if exists. - If such an object doesn't exist, it is set to null. - :type recommendation_id: str - :param description: Localized detailed description of the rule. - :type description: str - :param action_name: Name of action that is recommended by this rule in - string. - :type action_name: str - :param level: Level of impact indicating how critical this rule is. - Possible values include: 'Critical', 'Warning', 'Information', - 'NonUrgentSuggestion' - :type level: str or ~azure.mgmt.web.models.NotificationLevel - :param channels: List of available channels that this rule applies. - Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' - :type channels: str or ~azure.mgmt.web.models.Channels - :ivar category_tags: The list of category tags that this recommendation - rule belongs to. - :vartype category_tags: list[str] - :param is_dynamic: True if this is associated with a dynamically added - rule - :type is_dynamic: bool - :param extension_name: Extension name of the portal if exists. Applicable - to dynamic rule only. - :type extension_name: str - :param blade_name: Deep link to a blade on the portal. Applicable to - dynamic rule only. - :type blade_name: str - :param forward_link: Forward link to an external document associated with - the rule. Applicable to dynamic rule only. - :type forward_link: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'category_tags': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'recommendation_name': {'key': 'properties.recommendationName', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'message': {'key': 'properties.message', 'type': 'str'}, - 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'action_name': {'key': 'properties.actionName', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, - 'channels': {'key': 'properties.channels', 'type': 'Channels'}, - 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, - 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, - 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, - 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, - 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, recommendation_name: str=None, display_name: str=None, message: str=None, recommendation_id: str=None, description: str=None, action_name: str=None, level=None, channels=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: - super(RecommendationRule, self).__init__(kind=kind, **kwargs) - self.recommendation_name = recommendation_name - self.display_name = display_name - self.message = message - self.recommendation_id = recommendation_id - self.description = description - self.action_name = action_name - self.level = level - self.channels = channels - self.category_tags = None - self.is_dynamic = is_dynamic - self.extension_name = extension_name - self.blade_name = blade_name - self.forward_link = forward_link diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request.py deleted file mode 100644 index d2748321940a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ReissueCertificateOrderRequest(ProxyOnlyResource): - """Class representing certificate reissue request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_size: Certificate Key Size. - :type key_size: int - :param delay_existing_revoke_in_hours: Delay in hours to revoke existing - certificate after the new certificate is issued. - :type delay_existing_revoke_in_hours: int - :param csr: Csr to be used for re-key operation. - :type csr: str - :param is_private_key_external: Should we change the ASC type (from - managed private key to external private key and vice versa). - :type is_private_key_external: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ReissueCertificateOrderRequest, self).__init__(**kwargs) - self.key_size = kwargs.get('key_size', None) - self.delay_existing_revoke_in_hours = kwargs.get('delay_existing_revoke_in_hours', None) - self.csr = kwargs.get('csr', None) - self.is_private_key_external = kwargs.get('is_private_key_external', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request_py3.py deleted file mode 100644 index d79a1364aa17..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/reissue_certificate_order_request_py3.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ReissueCertificateOrderRequest(ProxyOnlyResource): - """Class representing certificate reissue request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_size: Certificate Key Size. - :type key_size: int - :param delay_existing_revoke_in_hours: Delay in hours to revoke existing - certificate after the new certificate is issued. - :type delay_existing_revoke_in_hours: int - :param csr: Csr to be used for re-key operation. - :type csr: str - :param is_private_key_external: Should we change the ASC type (from - managed private key to external private key and vice versa). - :type is_private_key_external: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, key_size: int=None, delay_existing_revoke_in_hours: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: - super(ReissueCertificateOrderRequest, self).__init__(kind=kind, **kwargs) - self.key_size = key_size - self.delay_existing_revoke_in_hours = delay_existing_revoke_in_hours - self.csr = csr - self.is_private_key_external = is_private_key_external diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity.py deleted file mode 100644 index d67437d392e4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class RelayServiceConnectionEntity(ProxyOnlyResource): - """Hybrid Connection for an App Service app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param entity_name: - :type entity_name: str - :param entity_connection_string: - :type entity_connection_string: str - :param resource_type: - :type resource_type: str - :param resource_connection_string: - :type resource_connection_string: str - :param hostname: - :type hostname: str - :param port: - :type port: int - :param biztalk_uri: - :type biztalk_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, - 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, - 'hostname': {'key': 'properties.hostname', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RelayServiceConnectionEntity, self).__init__(**kwargs) - self.entity_name = kwargs.get('entity_name', None) - self.entity_connection_string = kwargs.get('entity_connection_string', None) - self.resource_type = kwargs.get('resource_type', None) - self.resource_connection_string = kwargs.get('resource_connection_string', None) - self.hostname = kwargs.get('hostname', None) - self.port = kwargs.get('port', None) - self.biztalk_uri = kwargs.get('biztalk_uri', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity_py3.py deleted file mode 100644 index a31c498d377a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/relay_service_connection_entity_py3.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class RelayServiceConnectionEntity(ProxyOnlyResource): - """Hybrid Connection for an App Service app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param entity_name: - :type entity_name: str - :param entity_connection_string: - :type entity_connection_string: str - :param resource_type: - :type resource_type: str - :param resource_connection_string: - :type resource_connection_string: str - :param hostname: - :type hostname: str - :param port: - :type port: int - :param biztalk_uri: - :type biztalk_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, - 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, - 'hostname': {'key': 'properties.hostname', 'type': 'str'}, - 'port': {'key': 'properties.port', 'type': 'int'}, - 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, entity_name: str=None, entity_connection_string: str=None, resource_type: str=None, resource_connection_string: str=None, hostname: str=None, port: int=None, biztalk_uri: str=None, **kwargs) -> None: - super(RelayServiceConnectionEntity, self).__init__(kind=kind, **kwargs) - self.entity_name = entity_name - self.entity_connection_string = entity_connection_string - self.resource_type = resource_type - self.resource_connection_string = resource_connection_string - self.hostname = hostname - self.port = port - self.biztalk_uri = biztalk_uri diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering.py deleted file mode 100644 index e2327cb854ef..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Rendering(Model): - """Instructions for rendering the data. - - :param type: Rendering Type. Possible values include: 'NoGraph', 'Table', - 'TimeSeries', 'TimeSeriesPerInstance' - :type type: str or ~azure.mgmt.web.models.RenderingType - :param title: Title of data - :type title: str - :param description: Description of the data that will help it be - interpreted - :type description: str - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'RenderingType'}, - 'title': {'key': 'title', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Rendering, self).__init__(**kwargs) - self.type = kwargs.get('type', None) - self.title = kwargs.get('title', None) - self.description = kwargs.get('description', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering_py3.py deleted file mode 100644 index 7b2a87cf5a00..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/rendering_py3.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Rendering(Model): - """Instructions for rendering the data. - - :param type: Rendering Type. Possible values include: 'NoGraph', 'Table', - 'TimeSeries', 'TimeSeriesPerInstance' - :type type: str or ~azure.mgmt.web.models.RenderingType - :param title: Title of data - :type title: str - :param description: Description of the data that will help it be - interpreted - :type description: str - """ - - _attribute_map = { - 'type': {'key': 'type', 'type': 'RenderingType'}, - 'title': {'key': 'title', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, type=None, title: str=None, description: str=None, **kwargs) -> None: - super(Rendering, self).__init__(**kwargs) - self.type = type - self.title = title - self.description = description diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request.py deleted file mode 100644 index c7de239be427..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class RenewCertificateOrderRequest(ProxyOnlyResource): - """Class representing certificate renew request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_size: Certificate Key Size. - :type key_size: int - :param csr: Csr to be used for re-key operation. - :type csr: str - :param is_private_key_external: Should we change the ASC type (from - managed private key to external private key and vice versa). - :type is_private_key_external: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(RenewCertificateOrderRequest, self).__init__(**kwargs) - self.key_size = kwargs.get('key_size', None) - self.csr = kwargs.get('csr', None) - self.is_private_key_external = kwargs.get('is_private_key_external', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request_py3.py deleted file mode 100644 index fe1a28ed0225..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/renew_certificate_order_request_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class RenewCertificateOrderRequest(ProxyOnlyResource): - """Class representing certificate renew request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param key_size: Certificate Key Size. - :type key_size: int - :param csr: Csr to be used for re-key operation. - :type csr: str - :param is_private_key_external: Should we change the ASC type (from - managed private key to external private key and vice versa). - :type is_private_key_external: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'key_size': {'key': 'properties.keySize', 'type': 'int'}, - 'csr': {'key': 'properties.csr', 'type': 'str'}, - 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, key_size: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: - super(RenewCertificateOrderRequest, self).__init__(kind=kind, **kwargs) - self.key_size = key_size - self.csr = csr - self.is_private_key_external = is_private_key_external diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger.py deleted file mode 100644 index ce0c0e4a16f7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RequestsBasedTrigger(Model): - """Trigger based on total requests. - - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RequestsBasedTrigger, self).__init__(**kwargs) - self.count = kwargs.get('count', None) - self.time_interval = kwargs.get('time_interval', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger_py3.py deleted file mode 100644 index a729212c6372..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/requests_based_trigger_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class RequestsBasedTrigger(Model): - """Trigger based on total requests. - - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: - super(RequestsBasedTrigger, self).__init__(**kwargs) - self.count = count - self.time_interval = time_interval diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource.py deleted file mode 100644 index cadebebdd489..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (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): - """Azure resource. This resource is tracked in Azure Resource Manager. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.kind = kwargs.get('kind', None) - self.location = kwargs.get('location', None) - self.type = None - self.tags = kwargs.get('tags', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata.py deleted file mode 100644 index 0c6c14f68dc4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ResourceHealthMetadata(ProxyOnlyResource): - """Used for getting ResourceHealthCheck settings. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param category: The category that the resource matches in the RHC Policy - File - :type category: str - :param signal_availability: Is there a health signal for the resource - :type signal_availability: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'category': {'key': 'properties.category', 'type': 'str'}, - 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ResourceHealthMetadata, self).__init__(**kwargs) - self.category = kwargs.get('category', None) - self.signal_availability = kwargs.get('signal_availability', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_paged.py deleted file mode 100644 index 45c9b8c4945b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ResourceHealthMetadataPaged(Paged): - """ - A paging container for iterating over a list of :class:`ResourceHealthMetadata ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ResourceHealthMetadata]'} - } - - def __init__(self, *args, **kwargs): - - super(ResourceHealthMetadataPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_py3.py deleted file mode 100644 index 1e151f270086..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_health_metadata_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ResourceHealthMetadata(ProxyOnlyResource): - """Used for getting ResourceHealthCheck settings. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param category: The category that the resource matches in the RHC Policy - File - :type category: str - :param signal_availability: Is there a health signal for the resource - :type signal_availability: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'category': {'key': 'properties.category', 'type': 'str'}, - 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, category: str=None, signal_availability: bool=None, **kwargs) -> None: - super(ResourceHealthMetadata, self).__init__(kind=kind, **kwargs) - self.category = category - self.signal_availability = signal_availability diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric.py deleted file mode 100644 index 83510a981a62..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetric(Model): - """Object representing a metric for any resource . - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: Name of metric. - :vartype name: ~azure.mgmt.web.models.ResourceMetricName - :ivar unit: Metric unit. - :vartype unit: str - :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D - :vartype time_grain: str - :ivar start_time: Metric start time. - :vartype start_time: datetime - :ivar end_time: Metric end time. - :vartype end_time: datetime - :ivar resource_id: Metric resource Id. - :vartype resource_id: str - :ivar id: Resource Id. - :vartype id: str - :ivar metric_values: Metric values. - :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] - :ivar properties: Resource metric properties collection. - :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] - """ - - _validation = { - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - 'time_grain': {'readonly': True}, - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'id': {'readonly': True}, - 'metric_values': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'ResourceMetricName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, - 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, - } - - def __init__(self, **kwargs): - super(ResourceMetric, self).__init__(**kwargs) - self.name = None - self.unit = None - self.time_grain = None - self.start_time = None - self.end_time = None - self.resource_id = None - self.id = None - self.metric_values = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability.py deleted file mode 100644 index b93c0c5b442e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricAvailability(Model): - """Metrics availability and retention. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar time_grain: Time grain . - :vartype time_grain: str - :ivar retention: Retention period for the current time grain. - :vartype retention: str - """ - - _validation = { - 'time_grain': {'readonly': True}, - 'retention': {'readonly': True}, - } - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceMetricAvailability, self).__init__(**kwargs) - self.time_grain = None - self.retention = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability_py3.py deleted file mode 100644 index abd5414ebb1b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_availability_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricAvailability(Model): - """Metrics availability and retention. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar time_grain: Time grain . - :vartype time_grain: str - :ivar retention: Retention period for the current time grain. - :vartype retention: str - """ - - _validation = { - 'time_grain': {'readonly': True}, - 'retention': {'readonly': True}, - } - - _attribute_map = { - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'retention': {'key': 'retention', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ResourceMetricAvailability, self).__init__(**kwargs) - self.time_grain = None - self.retention = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition.py deleted file mode 100644 index fa01c3611c5d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class ResourceMetricDefinition(ProxyOnlyResource): - """Metadata for the metrics. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar unit: Unit of the metric. - :vartype unit: str - :ivar primary_aggregation_type: Primary aggregation type. - :vartype primary_aggregation_type: str - :ivar metric_availabilities: List of time grains supported for the metric - together with retention period. - :vartype metric_availabilities: - list[~azure.mgmt.web.models.ResourceMetricAvailability] - :ivar resource_uri: Resource URI. - :vartype resource_uri: str - :ivar properties: Resource metric definition properties. - :vartype properties: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'unit': {'readonly': True}, - 'primary_aggregation_type': {'readonly': True}, - 'metric_availabilities': {'readonly': True}, - 'resource_uri': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, - 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, - 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, - 'properties': {'key': 'properties.properties', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ResourceMetricDefinition, self).__init__(**kwargs) - self.unit = None - self.primary_aggregation_type = None - self.metric_availabilities = None - self.resource_uri = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_paged.py deleted file mode 100644 index 561e1197b5af..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ResourceMetricDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ResourceMetricDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ResourceMetricDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ResourceMetricDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_py3.py deleted file mode 100644 index bde300209a34..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_definition_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class ResourceMetricDefinition(ProxyOnlyResource): - """Metadata for the metrics. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar unit: Unit of the metric. - :vartype unit: str - :ivar primary_aggregation_type: Primary aggregation type. - :vartype primary_aggregation_type: str - :ivar metric_availabilities: List of time grains supported for the metric - together with retention period. - :vartype metric_availabilities: - list[~azure.mgmt.web.models.ResourceMetricAvailability] - :ivar resource_uri: Resource URI. - :vartype resource_uri: str - :ivar properties: Resource metric definition properties. - :vartype properties: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'unit': {'readonly': True}, - 'primary_aggregation_type': {'readonly': True}, - 'metric_availabilities': {'readonly': True}, - 'resource_uri': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, - 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, - 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, - 'properties': {'key': 'properties.properties', 'type': '{str}'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) - self.unit = None - self.primary_aggregation_type = None - self.metric_availabilities = None - self.resource_uri = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name.py deleted file mode 100644 index a9bc7e08f9e0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricName(Model): - """Name of a metric for any resource . - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: metric name value. - :vartype value: str - :ivar localized_value: Localized metric name value. - :vartype localized_value: str - """ - - _validation = { - 'value': {'readonly': True}, - 'localized_value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceMetricName, self).__init__(**kwargs) - self.value = None - self.localized_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name_py3.py deleted file mode 100644 index cefb840267a1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_name_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricName(Model): - """Name of a metric for any resource . - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar value: metric name value. - :vartype value: str - :ivar localized_value: Localized metric name value. - :vartype localized_value: str - """ - - _validation = { - 'value': {'readonly': True}, - 'localized_value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(ResourceMetricName, self).__init__(**kwargs) - self.value = None - self.localized_value = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_paged.py deleted file mode 100644 index 05823c1ddc61..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 ResourceMetricPaged(Paged): - """ - A paging container for iterating over a list of :class:`ResourceMetric ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ResourceMetric]'} - } - - def __init__(self, *args, **kwargs): - - super(ResourceMetricPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property.py deleted file mode 100644 index 0a82e61acfe3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricProperty(Model): - """Resource metric property. - - :param key: Key for resource metric property. - :type key: str - :param value: Value of pair. - :type value: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceMetricProperty, self).__init__(**kwargs) - self.key = kwargs.get('key', None) - self.value = kwargs.get('value', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property_py3.py deleted file mode 100644 index a31a4d44862d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_property_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricProperty(Model): - """Resource metric property. - - :param key: Key for resource metric property. - :type key: str - :param value: Value of pair. - :type value: str - """ - - _attribute_map = { - 'key': {'key': 'key', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, key: str=None, value: str=None, **kwargs) -> None: - super(ResourceMetricProperty, self).__init__(**kwargs) - self.key = key - self.value = value diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_py3.py deleted file mode 100644 index e15c19f17b07..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_py3.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetric(Model): - """Object representing a metric for any resource . - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: Name of metric. - :vartype name: ~azure.mgmt.web.models.ResourceMetricName - :ivar unit: Metric unit. - :vartype unit: str - :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D - :vartype time_grain: str - :ivar start_time: Metric start time. - :vartype start_time: datetime - :ivar end_time: Metric end time. - :vartype end_time: datetime - :ivar resource_id: Metric resource Id. - :vartype resource_id: str - :ivar id: Resource Id. - :vartype id: str - :ivar metric_values: Metric values. - :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] - :ivar properties: Resource metric properties collection. - :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] - """ - - _validation = { - 'name': {'readonly': True}, - 'unit': {'readonly': True}, - 'time_grain': {'readonly': True}, - 'start_time': {'readonly': True}, - 'end_time': {'readonly': True}, - 'resource_id': {'readonly': True}, - 'id': {'readonly': True}, - 'metric_values': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'ResourceMetricName'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'time_grain': {'key': 'timeGrain', 'type': 'str'}, - 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, - 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, - 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, - } - - def __init__(self, **kwargs) -> None: - super(ResourceMetric, self).__init__(**kwargs) - self.name = None - self.unit = None - self.time_grain = None - self.start_time = None - self.end_time = None - self.resource_id = None - self.id = None - self.metric_values = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value.py deleted file mode 100644 index 0253d46bebfc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricValue(Model): - """Value of resource metric. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp: Value timestamp. - :vartype timestamp: str - :ivar average: Value average. - :vartype average: float - :ivar minimum: Value minimum. - :vartype minimum: float - :ivar maximum: Value maximum. - :vartype maximum: float - :ivar total: Value total. - :vartype total: float - :ivar count: Value count. - :vartype count: float - :ivar properties: Resource metric properties collection. - :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] - """ - - _validation = { - 'timestamp': {'readonly': True}, - 'average': {'readonly': True}, - 'minimum': {'readonly': True}, - 'maximum': {'readonly': True}, - 'total': {'readonly': True}, - 'count': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'average': {'key': 'average', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'total': {'key': 'total', 'type': 'float'}, - 'count': {'key': 'count', 'type': 'float'}, - 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, - } - - def __init__(self, **kwargs): - super(ResourceMetricValue, self).__init__(**kwargs) - self.timestamp = None - self.average = None - self.minimum = None - self.maximum = None - self.total = None - self.count = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value_py3.py deleted file mode 100644 index 4037a249c04f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_metric_value_py3.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceMetricValue(Model): - """Value of resource metric. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp: Value timestamp. - :vartype timestamp: str - :ivar average: Value average. - :vartype average: float - :ivar minimum: Value minimum. - :vartype minimum: float - :ivar maximum: Value maximum. - :vartype maximum: float - :ivar total: Value total. - :vartype total: float - :ivar count: Value count. - :vartype count: float - :ivar properties: Resource metric properties collection. - :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] - """ - - _validation = { - 'timestamp': {'readonly': True}, - 'average': {'readonly': True}, - 'minimum': {'readonly': True}, - 'maximum': {'readonly': True}, - 'total': {'readonly': True}, - 'count': {'readonly': True}, - 'properties': {'readonly': True}, - } - - _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'str'}, - 'average': {'key': 'average', 'type': 'float'}, - 'minimum': {'key': 'minimum', 'type': 'float'}, - 'maximum': {'key': 'maximum', 'type': 'float'}, - 'total': {'key': 'total', 'type': 'float'}, - 'count': {'key': 'count', 'type': 'float'}, - 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, - } - - def __init__(self, **kwargs) -> None: - super(ResourceMetricValue, self).__init__(**kwargs) - self.timestamp = None - self.average = None - self.minimum = None - self.maximum = None - self.total = None - self.count = None - self.properties = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability.py deleted file mode 100644 index f24b6def4e5b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceNameAvailability(Model): - """Information regarding availability of a resource name. - - :param name_available: true indicates name is valid and - available. false indicates the name is invalid, unavailable, - or both. - :type name_available: bool - :param reason: Invalid indicates the name provided does not - match Azure App Service naming requirements. AlreadyExists - indicates that the name is already in use and is therefore unavailable. - Possible values include: 'Invalid', 'AlreadyExists' - :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType - :param message: If reason == invalid, provide the user with the reason why - the given name is invalid, and provide the resource naming requirements so - that the user can select a valid name. If reason == AlreadyExists, explain - that resource name is already in use, and direct them to select a - different name. - :type message: str - """ - - _attribute_map = { - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceNameAvailability, self).__init__(**kwargs) - self.name_available = kwargs.get('name_available', None) - self.reason = kwargs.get('reason', None) - self.message = kwargs.get('message', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_py3.py deleted file mode 100644 index a468f894cde5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceNameAvailability(Model): - """Information regarding availability of a resource name. - - :param name_available: true indicates name is valid and - available. false indicates the name is invalid, unavailable, - or both. - :type name_available: bool - :param reason: Invalid indicates the name provided does not - match Azure App Service naming requirements. AlreadyExists - indicates that the name is already in use and is therefore unavailable. - Possible values include: 'Invalid', 'AlreadyExists' - :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType - :param message: If reason == invalid, provide the user with the reason why - the given name is invalid, and provide the resource naming requirements so - that the user can select a valid name. If reason == AlreadyExists, explain - that resource name is already in use, and direct them to select a - different name. - :type message: str - """ - - _attribute_map = { - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, name_available: bool=None, reason=None, message: str=None, **kwargs) -> None: - super(ResourceNameAvailability, self).__init__(**kwargs) - self.name_available = name_available - self.reason = reason - self.message = message diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request.py deleted file mode 100644 index 58bd2ae08060..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceNameAvailabilityRequest(Model): - """Resource name availability request content. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. - :type name: str - :param type: Required. Resource type used for verification. Possible - values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', - 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes - :param is_fqdn: Is fully qualified domain name. - :type is_fqdn: bool - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.is_fqdn = kwargs.get('is_fqdn', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request_py3.py deleted file mode 100644 index 52674f7583c9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_name_availability_request_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceNameAvailabilityRequest(Model): - """Resource name availability request content. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. - :type name: str - :param type: Required. Resource type used for verification. Possible - values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', - 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', - 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' - :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes - :param is_fqdn: Is fully qualified domain name. - :type is_fqdn: bool - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, - } - - def __init__(self, *, name: str, type, is_fqdn: bool=None, **kwargs) -> None: - super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) - self.name = name - self.type = type - self.is_fqdn = is_fqdn diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_py3.py deleted file mode 100644 index 76c166da271d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/resource_py3.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (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): - """Azure resource. This resource is tracked in Azure Resource Manager. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.kind = kind - self.location = location - self.type = None - self.tags = tags diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data.py deleted file mode 100644 index 00614b9e4ebb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResponseMetaData(Model): - """ResponseMetaData. - - :param data_source: Source of the Data - :type data_source: ~azure.mgmt.web.models.DataSource - """ - - _attribute_map = { - 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, - } - - def __init__(self, **kwargs): - super(ResponseMetaData, self).__init__(**kwargs) - self.data_source = kwargs.get('data_source', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data_py3.py deleted file mode 100644 index 2245b81dc0d2..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/response_meta_data_py3.py +++ /dev/null @@ -1,28 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResponseMetaData(Model): - """ResponseMetaData. - - :param data_source: Source of the Data - :type data_source: ~azure.mgmt.web.models.DataSource - """ - - _attribute_map = { - 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, - } - - def __init__(self, *, data_source=None, **kwargs) -> None: - super(ResponseMetaData, self).__init__(**kwargs) - self.data_source = data_source diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request.py deleted file mode 100644 index 8decaf97ba5e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request.py +++ /dev/null @@ -1,107 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class RestoreRequest(ProxyOnlyResource): - """Description of a restore request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param storage_account_url: Required. SAS URL to the container. - :type storage_account_url: str - :param blob_name: Name of a blob which contains the backup. - :type blob_name: str - :param overwrite: Required. true if the restore operation can - overwrite target app; otherwise, false. true is - needed if trying to restore over an existing app. - :type overwrite: bool - :param site_name: Name of an app. - :type site_name: str - :param databases: Collection of databases which should be restored. This - list has to match the list of databases included in the backup. - :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - :param ignore_conflicting_host_names: Changes a logic when restoring an - app with custom domains. true to remove custom domains - automatically. If false, custom domains are added to - the app's object when it is being restored, but that might fail due to - conflicts during the operation. Default value: False . - :type ignore_conflicting_host_names: bool - :param ignore_databases: Ignore the databases and only restore the site - content. Default value: False . - :type ignore_databases: bool - :param app_service_plan: Specify app service plan that will own restored - site. - :type app_service_plan: str - :param operation_type: Operation type. Possible values include: 'Default', - 'Clone', 'Relocation', 'Snapshot', 'CloudFS'. Default value: "Default" . - :type operation_type: str or - ~azure.mgmt.web.models.BackupRestoreOperationType - :param adjust_connection_strings: true if - SiteConfig.ConnectionStrings should be set in new app; otherwise, - false. - :type adjust_connection_strings: bool - :param hosting_environment: App Service Environment name, if needed (only - when restoring an app to an App Service Environment). - :type hosting_environment: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'storage_account_url': {'required': True}, - 'overwrite': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, - 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, - 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, - 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, - 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, - 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, - 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(RestoreRequest, self).__init__(**kwargs) - self.storage_account_url = kwargs.get('storage_account_url', None) - self.blob_name = kwargs.get('blob_name', None) - self.overwrite = kwargs.get('overwrite', None) - self.site_name = kwargs.get('site_name', None) - self.databases = kwargs.get('databases', None) - self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', False) - self.ignore_databases = kwargs.get('ignore_databases', False) - self.app_service_plan = kwargs.get('app_service_plan', None) - self.operation_type = kwargs.get('operation_type', "Default") - self.adjust_connection_strings = kwargs.get('adjust_connection_strings', None) - self.hosting_environment = kwargs.get('hosting_environment', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request_py3.py deleted file mode 100644 index 33d11d7c2eef..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/restore_request_py3.py +++ /dev/null @@ -1,107 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class RestoreRequest(ProxyOnlyResource): - """Description of a restore request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param storage_account_url: Required. SAS URL to the container. - :type storage_account_url: str - :param blob_name: Name of a blob which contains the backup. - :type blob_name: str - :param overwrite: Required. true if the restore operation can - overwrite target app; otherwise, false. true is - needed if trying to restore over an existing app. - :type overwrite: bool - :param site_name: Name of an app. - :type site_name: str - :param databases: Collection of databases which should be restored. This - list has to match the list of databases included in the backup. - :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] - :param ignore_conflicting_host_names: Changes a logic when restoring an - app with custom domains. true to remove custom domains - automatically. If false, custom domains are added to - the app's object when it is being restored, but that might fail due to - conflicts during the operation. Default value: False . - :type ignore_conflicting_host_names: bool - :param ignore_databases: Ignore the databases and only restore the site - content. Default value: False . - :type ignore_databases: bool - :param app_service_plan: Specify app service plan that will own restored - site. - :type app_service_plan: str - :param operation_type: Operation type. Possible values include: 'Default', - 'Clone', 'Relocation', 'Snapshot', 'CloudFS'. Default value: "Default" . - :type operation_type: str or - ~azure.mgmt.web.models.BackupRestoreOperationType - :param adjust_connection_strings: true if - SiteConfig.ConnectionStrings should be set in new app; otherwise, - false. - :type adjust_connection_strings: bool - :param hosting_environment: App Service Environment name, if needed (only - when restoring an app to an App Service Environment). - :type hosting_environment: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'storage_account_url': {'required': True}, - 'overwrite': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, - 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, - 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, - 'site_name': {'key': 'properties.siteName', 'type': 'str'}, - 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, - 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, - 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, - 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, - 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, - 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, - 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, - } - - def __init__(self, *, storage_account_url: str, overwrite: bool, kind: str=None, blob_name: str=None, site_name: str=None, databases=None, ignore_conflicting_host_names: bool=False, ignore_databases: bool=False, app_service_plan: str=None, operation_type="Default", adjust_connection_strings: bool=None, hosting_environment: str=None, **kwargs) -> None: - super(RestoreRequest, self).__init__(kind=kind, **kwargs) - self.storage_account_url = storage_account_url - self.blob_name = blob_name - self.overwrite = overwrite - self.site_name = site_name - self.databases = databases - self.ignore_conflicting_host_names = ignore_conflicting_host_names - self.ignore_databases = ignore_databases - self.app_service_plan = app_service_plan - self.operation_type = operation_type - self.adjust_connection_strings = adjust_connection_strings - self.hosting_environment = hosting_environment diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification.py deleted file mode 100644 index f0a1c80fe7ae..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceSpecification(Model): - """Resource metrics service provided by Microsoft.Insights resource provider. - - :param metric_specifications: - :type metric_specifications: - list[~azure.mgmt.web.models.MetricSpecification] - :param log_specifications: - :type log_specifications: list[~azure.mgmt.web.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, **kwargs): - super(ServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = kwargs.get('metric_specifications', None) - self.log_specifications = kwargs.get('log_specifications', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification_py3.py deleted file mode 100644 index 9845f59148e5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/service_specification_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ServiceSpecification(Model): - """Resource metrics service provided by Microsoft.Insights resource provider. - - :param metric_specifications: - :type metric_specifications: - list[~azure.mgmt.web.models.MetricSpecification] - :param log_specifications: - :type log_specifications: list[~azure.mgmt.web.models.LogSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, - } - - def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: - super(ServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = metric_specifications - self.log_specifications = log_specifications diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site.py deleted file mode 100644 index ba5c03e5224e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Site(Resource): - """A web app, a mobile app backend, or an API app. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar state: Current state of the app. - :vartype state: str - :ivar host_names: Hostnames associated with the app. - :vartype host_names: list[str] - :ivar repository_site_name: Name of the repository site. - :vartype repository_site_name: str - :ivar usage_state: State indicating whether the app has exceeded its quota - usage. Read-only. Possible values include: 'Normal', 'Exceeded' - :vartype usage_state: str or ~azure.mgmt.web.models.UsageState - :param enabled: true if the app is enabled; otherwise, - false. Setting this value to false disables the app (takes - the app offline). - :type enabled: bool - :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to - be assigned (see HostNames) AND enabled. Otherwise, - the app is not served on those hostnames. - :vartype enabled_host_names: list[str] - :ivar availability_state: Management information availability state for - the app. Possible values include: 'Normal', 'Limited', - 'DisasterRecoveryMode' - :vartype availability_state: str or - ~azure.mgmt.web.models.SiteAvailabilityState - :param host_name_ssl_states: Hostname SSL states are used to manage the - SSL bindings for app's hostnames. - :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - :param reserved: true if reserved; otherwise, - false. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . - :type is_xenon: bool - :param hyper_v: Hyper-V sandbox. Default value: False . - :type hyper_v: bool - :ivar last_modified_time_utc: Last time the app was modified, in UTC. - Read-only. - :vartype last_modified_time_utc: datetime - :param site_config: Configuration of the app. - :type site_config: ~azure.mgmt.web.models.SiteConfig - :ivar traffic_manager_host_names: Azure Traffic Manager hostnames - associated with the app. Read-only. - :vartype traffic_manager_host_names: list[str] - :param scm_site_also_stopped: true to stop SCM (KUDU) site - when the app is stopped; otherwise, false. The default is - false. Default value: False . - :type scm_site_also_stopped: bool - :ivar target_swap_slot: Specifies which deployment slot this app will swap - into. Read-only. - :vartype target_swap_slot: str - :param hosting_environment_profile: App Service Environment to use for the - app. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param client_affinity_enabled: true to enable client - affinity; false to stop sending session affinity cookies, - which route client requests in the same session to the same instance. - Default is true. - :type client_affinity_enabled: bool - :param client_cert_enabled: true to enable client certificate - authentication (TLS mutual authentication); otherwise, false. - Default is false. - :type client_cert_enabled: bool - :param client_cert_exclusion_paths: client certificate authentication - comma-separated exclusion paths - :type client_cert_exclusion_paths: str - :param host_names_disabled: true to disable the public - hostnames of the app; otherwise, false. - If true, the app is only accessible via API management - process. - :type host_names_disabled: bool - :ivar outbound_ip_addresses: List of IP addresses that the app uses for - outbound connections (e.g. database access). Includes VIPs from tenants - that site can be hosted with current settings. Read-only. - :vartype outbound_ip_addresses: str - :ivar possible_outbound_ip_addresses: List of IP addresses that the app - uses for outbound connections (e.g. database access). Includes VIPs from - all tenants. Read-only. - :vartype possible_outbound_ip_addresses: str - :param container_size: Size of the function container. - :type container_size: int - :param daily_memory_time_quota: Maximum allowed daily memory-time quota - (applicable on dynamic apps only). - :type daily_memory_time_quota: int - :ivar suspended_till: App suspended till in case memory-time quota is - exceeded. - :vartype suspended_till: datetime - :ivar max_number_of_workers: Maximum number of workers. - This only applies to Functions container. - :vartype max_number_of_workers: int - :param cloning_info: If specified during app creation, the app is cloned - from a source app. - :type cloning_info: ~azure.mgmt.web.models.CloningInfo - :ivar resource_group: Name of the resource group the app belongs to. - Read-only. - :vartype resource_group: str - :ivar is_default_container: true if the app is a default - container; otherwise, false. - :vartype is_default_container: bool - :ivar default_host_name: Default hostname of the app. Read-only. - :vartype default_host_name: str - :ivar slot_swap_status: Status of the last deployment slot swap operation. - :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus - :param https_only: HttpsOnly: configures a web site to accept only https - requests. Issues redirect for - http requests - :type https_only: bool - :param redundancy_mode: Site redundancy mode. Possible values include: - 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' - :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode - :ivar in_progress_operation_id: Specifies an operation id if this site has - a pending operation. - :vartype in_progress_operation_id: str - :param geo_distributions: GeoDistributions for this site - :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] - :param identity: - :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'state': {'readonly': True}, - 'host_names': {'readonly': True}, - 'repository_site_name': {'readonly': True}, - 'usage_state': {'readonly': True}, - 'enabled_host_names': {'readonly': True}, - 'availability_state': {'readonly': True}, - 'last_modified_time_utc': {'readonly': True}, - 'traffic_manager_host_names': {'readonly': True}, - 'target_swap_slot': {'readonly': True}, - 'outbound_ip_addresses': {'readonly': True}, - 'possible_outbound_ip_addresses': {'readonly': True}, - 'suspended_till': {'readonly': True}, - 'max_number_of_workers': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'is_default_container': {'readonly': True}, - 'default_host_name': {'readonly': True}, - 'slot_swap_status': {'readonly': True}, - 'in_progress_operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, - 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, - 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, - 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, - 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, - 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, - 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, - 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, - 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, - 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, - 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, - 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, - 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, - 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, - 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, - 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, - 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, - 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, - 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, - 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, - 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, - 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, - 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, - 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(Site, self).__init__(**kwargs) - self.state = None - self.host_names = None - self.repository_site_name = None - self.usage_state = None - self.enabled = kwargs.get('enabled', None) - self.enabled_host_names = None - self.availability_state = None - self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) - self.server_farm_id = kwargs.get('server_farm_id', None) - self.reserved = kwargs.get('reserved', False) - self.is_xenon = kwargs.get('is_xenon', False) - self.hyper_v = kwargs.get('hyper_v', False) - self.last_modified_time_utc = None - self.site_config = kwargs.get('site_config', None) - self.traffic_manager_host_names = None - self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) - self.target_swap_slot = None - self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) - self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) - self.client_cert_enabled = kwargs.get('client_cert_enabled', None) - self.client_cert_exclusion_paths = kwargs.get('client_cert_exclusion_paths', None) - self.host_names_disabled = kwargs.get('host_names_disabled', None) - self.outbound_ip_addresses = None - self.possible_outbound_ip_addresses = None - self.container_size = kwargs.get('container_size', None) - self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) - self.suspended_till = None - self.max_number_of_workers = None - self.cloning_info = kwargs.get('cloning_info', None) - self.resource_group = None - self.is_default_container = None - self.default_host_name = None - self.slot_swap_status = None - self.https_only = kwargs.get('https_only', None) - self.redundancy_mode = kwargs.get('redundancy_mode', None) - self.in_progress_operation_id = None - self.geo_distributions = kwargs.get('geo_distributions', None) - self.identity = kwargs.get('identity', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings.py deleted file mode 100644 index 951a00be4b55..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings.py +++ /dev/null @@ -1,242 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteAuthSettings(ProxyOnlyResource): - """Configuration settings for the Azure App Service Authentication / - Authorization feature. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param enabled: true if the Authentication / Authorization - feature is enabled for the current app; otherwise, false. - :type enabled: bool - :param runtime_version: The RuntimeVersion of the Authentication / - Authorization feature in use for the current app. - The setting in this value can control the behavior of certain features in - the Authentication / Authorization module. - :type runtime_version: str - :param unauthenticated_client_action: The action to take when an - unauthenticated client attempts to access the app. Possible values - include: 'RedirectToLoginPage', 'AllowAnonymous' - :type unauthenticated_client_action: str or - ~azure.mgmt.web.models.UnauthenticatedClientAction - :param token_store_enabled: true to durably store - platform-specific security tokens that are obtained during login flows; - otherwise, false. - The default is false. - :type token_store_enabled: bool - :param allowed_external_redirect_urls: External URLs that can be - redirected to as part of logging in or logging out of the app. Note that - the query string part of the URL is ignored. - This is an advanced setting typically only needed by Windows Store - application backends. - Note that URLs within the current domain are always implicitly allowed. - :type allowed_external_redirect_urls: list[str] - :param default_provider: The default authentication provider to use when - multiple providers are configured. - This setting is only needed if multiple providers are configured and the - unauthenticated client - action is set to "RedirectToLoginPage". Possible values include: - 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', - 'Twitter' - :type default_provider: str or - ~azure.mgmt.web.models.BuiltInAuthenticationProvider - :param token_refresh_extension_hours: The number of hours after session - token expiration that a session token can be used to - call the token refresh API. The default is 72 hours. - :type token_refresh_extension_hours: float - :param client_id: The Client ID of this relying party application, known - as the client_id. - This setting is required for enabling OpenID Connection authentication - with Azure Active Directory or - other 3rd party OpenID Connect providers. - More information on OpenID Connect: - http://openid.net/specs/openid-connect-core-1_0.html - :type client_id: str - :param client_secret: The Client Secret of this relying party application - (in Azure Active Directory, this is also referred to as the Key). - This setting is optional. If no client secret is configured, the OpenID - Connect implicit auth flow is used to authenticate end users. - Otherwise, the OpenID Connect Authorization Code Flow is used to - authenticate end users. - More information on OpenID Connect: - http://openid.net/specs/openid-connect-core-1_0.html - :type client_secret: str - :param client_secret_certificate_thumbprint: An alternative to the client - secret, that is the thumbprint of a certificate used for signing purposes. - This property acts as - a replacement for the Client Secret. It is also optional. - :type client_secret_certificate_thumbprint: str - :param issuer: The OpenID Connect Issuer URI that represents the entity - which issues access tokens for this application. - When using Azure Active Directory, this value is the URI of the directory - tenant, e.g. https://sts.windows.net/{tenant-guid}/. - This URI is a case-sensitive identifier for the token issuer. - More information on OpenID Connect Discovery: - http://openid.net/specs/openid-connect-discovery-1_0.html - :type issuer: str - :param validate_issuer: Gets a value indicating whether the issuer should - be a valid HTTPS url and be validated as such. - :type validate_issuer: bool - :param allowed_audiences: Allowed audience values to consider when - validating JWTs issued by - Azure Active Directory. Note that the ClientID value is - always considered an - allowed audience, regardless of this setting. - :type allowed_audiences: list[str] - :param additional_login_params: Login parameters to send to the OpenID - Connect authorization endpoint when - a user logs in. Each parameter must be in the form "key=value". - :type additional_login_params: list[str] - :param google_client_id: The OpenID Connect Client ID for the Google web - application. - This setting is required for enabling Google Sign-In. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_client_id: str - :param google_client_secret: The client secret associated with the Google - web application. - This setting is required for enabling Google Sign-In. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_client_secret: str - :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as - part of Google Sign-In authentication. - This setting is optional. If not specified, "openid", "profile", and - "email" are used as default scopes. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_oauth_scopes: list[str] - :param facebook_app_id: The App ID of the Facebook app used for login. - This setting is required for enabling Facebook Login. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_app_id: str - :param facebook_app_secret: The App Secret of the Facebook app used for - Facebook Login. - This setting is required for enabling Facebook Login. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_app_secret: str - :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested - as part of Facebook Login authentication. - This setting is optional. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_oauth_scopes: list[str] - :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter - application used for sign-in. - This setting is required for enabling Twitter Sign-In. - Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - :type twitter_consumer_key: str - :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the - Twitter application used for sign-in. - This setting is required for enabling Twitter Sign-In. - Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - :type twitter_consumer_secret: str - :param microsoft_account_client_id: The OAuth 2.0 client ID that was - created for the app used for authentication. - This setting is required for enabling Microsoft Account authentication. - Microsoft Account OAuth documentation: - https://dev.onedrive.com/auth/msa_oauth.htm - :type microsoft_account_client_id: str - :param microsoft_account_client_secret: The OAuth 2.0 client secret that - was created for the app used for authentication. - This setting is required for enabling Microsoft Account authentication. - Microsoft Account OAuth documentation: - https://dev.onedrive.com/auth/msa_oauth.htm - :type microsoft_account_client_secret: str - :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be - requested as part of Microsoft Account authentication. - This setting is optional. If not specified, "wl.basic" is used as the - default scope. - Microsoft Account Scopes and permissions documentation: - https://msdn.microsoft.com/en-us/library/dn631845.aspx - :type microsoft_account_oauth_scopes: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, - 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, - 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, - 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, - 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, - 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, - 'client_id': {'key': 'properties.clientId', 'type': 'str'}, - 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, - 'client_secret_certificate_thumbprint': {'key': 'properties.clientSecretCertificateThumbprint', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'validate_issuer': {'key': 'properties.validateIssuer', 'type': 'bool'}, - 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, - 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, - 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, - 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, - 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, - 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, - 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, - 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, - 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, - 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, - 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, - 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, - 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(SiteAuthSettings, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.runtime_version = kwargs.get('runtime_version', None) - self.unauthenticated_client_action = kwargs.get('unauthenticated_client_action', None) - self.token_store_enabled = kwargs.get('token_store_enabled', None) - self.allowed_external_redirect_urls = kwargs.get('allowed_external_redirect_urls', None) - self.default_provider = kwargs.get('default_provider', None) - self.token_refresh_extension_hours = kwargs.get('token_refresh_extension_hours', None) - self.client_id = kwargs.get('client_id', None) - self.client_secret = kwargs.get('client_secret', None) - self.client_secret_certificate_thumbprint = kwargs.get('client_secret_certificate_thumbprint', None) - self.issuer = kwargs.get('issuer', None) - self.validate_issuer = kwargs.get('validate_issuer', None) - self.allowed_audiences = kwargs.get('allowed_audiences', None) - self.additional_login_params = kwargs.get('additional_login_params', None) - self.google_client_id = kwargs.get('google_client_id', None) - self.google_client_secret = kwargs.get('google_client_secret', None) - self.google_oauth_scopes = kwargs.get('google_oauth_scopes', None) - self.facebook_app_id = kwargs.get('facebook_app_id', None) - self.facebook_app_secret = kwargs.get('facebook_app_secret', None) - self.facebook_oauth_scopes = kwargs.get('facebook_oauth_scopes', None) - self.twitter_consumer_key = kwargs.get('twitter_consumer_key', None) - self.twitter_consumer_secret = kwargs.get('twitter_consumer_secret', None) - self.microsoft_account_client_id = kwargs.get('microsoft_account_client_id', None) - self.microsoft_account_client_secret = kwargs.get('microsoft_account_client_secret', None) - self.microsoft_account_oauth_scopes = kwargs.get('microsoft_account_oauth_scopes', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings_py3.py deleted file mode 100644 index 90f3e14c2c0c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_auth_settings_py3.py +++ /dev/null @@ -1,242 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteAuthSettings(ProxyOnlyResource): - """Configuration settings for the Azure App Service Authentication / - Authorization feature. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param enabled: true if the Authentication / Authorization - feature is enabled for the current app; otherwise, false. - :type enabled: bool - :param runtime_version: The RuntimeVersion of the Authentication / - Authorization feature in use for the current app. - The setting in this value can control the behavior of certain features in - the Authentication / Authorization module. - :type runtime_version: str - :param unauthenticated_client_action: The action to take when an - unauthenticated client attempts to access the app. Possible values - include: 'RedirectToLoginPage', 'AllowAnonymous' - :type unauthenticated_client_action: str or - ~azure.mgmt.web.models.UnauthenticatedClientAction - :param token_store_enabled: true to durably store - platform-specific security tokens that are obtained during login flows; - otherwise, false. - The default is false. - :type token_store_enabled: bool - :param allowed_external_redirect_urls: External URLs that can be - redirected to as part of logging in or logging out of the app. Note that - the query string part of the URL is ignored. - This is an advanced setting typically only needed by Windows Store - application backends. - Note that URLs within the current domain are always implicitly allowed. - :type allowed_external_redirect_urls: list[str] - :param default_provider: The default authentication provider to use when - multiple providers are configured. - This setting is only needed if multiple providers are configured and the - unauthenticated client - action is set to "RedirectToLoginPage". Possible values include: - 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', - 'Twitter' - :type default_provider: str or - ~azure.mgmt.web.models.BuiltInAuthenticationProvider - :param token_refresh_extension_hours: The number of hours after session - token expiration that a session token can be used to - call the token refresh API. The default is 72 hours. - :type token_refresh_extension_hours: float - :param client_id: The Client ID of this relying party application, known - as the client_id. - This setting is required for enabling OpenID Connection authentication - with Azure Active Directory or - other 3rd party OpenID Connect providers. - More information on OpenID Connect: - http://openid.net/specs/openid-connect-core-1_0.html - :type client_id: str - :param client_secret: The Client Secret of this relying party application - (in Azure Active Directory, this is also referred to as the Key). - This setting is optional. If no client secret is configured, the OpenID - Connect implicit auth flow is used to authenticate end users. - Otherwise, the OpenID Connect Authorization Code Flow is used to - authenticate end users. - More information on OpenID Connect: - http://openid.net/specs/openid-connect-core-1_0.html - :type client_secret: str - :param client_secret_certificate_thumbprint: An alternative to the client - secret, that is the thumbprint of a certificate used for signing purposes. - This property acts as - a replacement for the Client Secret. It is also optional. - :type client_secret_certificate_thumbprint: str - :param issuer: The OpenID Connect Issuer URI that represents the entity - which issues access tokens for this application. - When using Azure Active Directory, this value is the URI of the directory - tenant, e.g. https://sts.windows.net/{tenant-guid}/. - This URI is a case-sensitive identifier for the token issuer. - More information on OpenID Connect Discovery: - http://openid.net/specs/openid-connect-discovery-1_0.html - :type issuer: str - :param validate_issuer: Gets a value indicating whether the issuer should - be a valid HTTPS url and be validated as such. - :type validate_issuer: bool - :param allowed_audiences: Allowed audience values to consider when - validating JWTs issued by - Azure Active Directory. Note that the ClientID value is - always considered an - allowed audience, regardless of this setting. - :type allowed_audiences: list[str] - :param additional_login_params: Login parameters to send to the OpenID - Connect authorization endpoint when - a user logs in. Each parameter must be in the form "key=value". - :type additional_login_params: list[str] - :param google_client_id: The OpenID Connect Client ID for the Google web - application. - This setting is required for enabling Google Sign-In. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_client_id: str - :param google_client_secret: The client secret associated with the Google - web application. - This setting is required for enabling Google Sign-In. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_client_secret: str - :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as - part of Google Sign-In authentication. - This setting is optional. If not specified, "openid", "profile", and - "email" are used as default scopes. - Google Sign-In documentation: - https://developers.google.com/identity/sign-in/web/ - :type google_oauth_scopes: list[str] - :param facebook_app_id: The App ID of the Facebook app used for login. - This setting is required for enabling Facebook Login. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_app_id: str - :param facebook_app_secret: The App Secret of the Facebook app used for - Facebook Login. - This setting is required for enabling Facebook Login. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_app_secret: str - :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested - as part of Facebook Login authentication. - This setting is optional. - Facebook Login documentation: - https://developers.facebook.com/docs/facebook-login - :type facebook_oauth_scopes: list[str] - :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter - application used for sign-in. - This setting is required for enabling Twitter Sign-In. - Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - :type twitter_consumer_key: str - :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the - Twitter application used for sign-in. - This setting is required for enabling Twitter Sign-In. - Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in - :type twitter_consumer_secret: str - :param microsoft_account_client_id: The OAuth 2.0 client ID that was - created for the app used for authentication. - This setting is required for enabling Microsoft Account authentication. - Microsoft Account OAuth documentation: - https://dev.onedrive.com/auth/msa_oauth.htm - :type microsoft_account_client_id: str - :param microsoft_account_client_secret: The OAuth 2.0 client secret that - was created for the app used for authentication. - This setting is required for enabling Microsoft Account authentication. - Microsoft Account OAuth documentation: - https://dev.onedrive.com/auth/msa_oauth.htm - :type microsoft_account_client_secret: str - :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be - requested as part of Microsoft Account authentication. - This setting is optional. If not specified, "wl.basic" is used as the - default scope. - Microsoft Account Scopes and permissions documentation: - https://msdn.microsoft.com/en-us/library/dn631845.aspx - :type microsoft_account_oauth_scopes: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, - 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, - 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, - 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, - 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, - 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, - 'client_id': {'key': 'properties.clientId', 'type': 'str'}, - 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, - 'client_secret_certificate_thumbprint': {'key': 'properties.clientSecretCertificateThumbprint', 'type': 'str'}, - 'issuer': {'key': 'properties.issuer', 'type': 'str'}, - 'validate_issuer': {'key': 'properties.validateIssuer', 'type': 'bool'}, - 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, - 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, - 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, - 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, - 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, - 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, - 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, - 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, - 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, - 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, - 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, - 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, - 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, - } - - def __init__(self, *, kind: str=None, enabled: bool=None, runtime_version: str=None, unauthenticated_client_action=None, token_store_enabled: bool=None, allowed_external_redirect_urls=None, default_provider=None, token_refresh_extension_hours: float=None, client_id: str=None, client_secret: str=None, client_secret_certificate_thumbprint: str=None, issuer: str=None, validate_issuer: bool=None, allowed_audiences=None, additional_login_params=None, google_client_id: str=None, google_client_secret: str=None, google_oauth_scopes=None, facebook_app_id: str=None, facebook_app_secret: str=None, facebook_oauth_scopes=None, twitter_consumer_key: str=None, twitter_consumer_secret: str=None, microsoft_account_client_id: str=None, microsoft_account_client_secret: str=None, microsoft_account_oauth_scopes=None, **kwargs) -> None: - super(SiteAuthSettings, self).__init__(kind=kind, **kwargs) - self.enabled = enabled - self.runtime_version = runtime_version - self.unauthenticated_client_action = unauthenticated_client_action - self.token_store_enabled = token_store_enabled - self.allowed_external_redirect_urls = allowed_external_redirect_urls - self.default_provider = default_provider - self.token_refresh_extension_hours = token_refresh_extension_hours - self.client_id = client_id - self.client_secret = client_secret - self.client_secret_certificate_thumbprint = client_secret_certificate_thumbprint - self.issuer = issuer - self.validate_issuer = validate_issuer - self.allowed_audiences = allowed_audiences - self.additional_login_params = additional_login_params - self.google_client_id = google_client_id - self.google_client_secret = google_client_secret - self.google_oauth_scopes = google_oauth_scopes - self.facebook_app_id = facebook_app_id - self.facebook_app_secret = facebook_app_secret - self.facebook_oauth_scopes = facebook_oauth_scopes - self.twitter_consumer_key = twitter_consumer_key - self.twitter_consumer_secret = twitter_consumer_secret - self.microsoft_account_client_id = microsoft_account_client_id - self.microsoft_account_client_secret = microsoft_account_client_secret - self.microsoft_account_oauth_scopes = microsoft_account_oauth_scopes diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability.py deleted file mode 100644 index 37d68387f3b3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteCloneability(Model): - """Represents whether or not an app is cloneable. - - :param result: Name of app. Possible values include: 'Cloneable', - 'PartiallyCloneable', 'NotCloneable' - :type result: str or ~azure.mgmt.web.models.CloneAbilityResult - :param blocking_features: List of features enabled on app that prevent - cloning. - :type blocking_features: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - :param unsupported_features: List of features enabled on app that are - non-blocking but cannot be cloned. The app can still be cloned - but the features in this list will not be set up on cloned app. - :type unsupported_features: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - :param blocking_characteristics: List of blocking application - characteristics. - :type blocking_characteristics: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - """ - - _attribute_map = { - 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, - 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, - 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, - 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, - } - - def __init__(self, **kwargs): - super(SiteCloneability, self).__init__(**kwargs) - self.result = kwargs.get('result', None) - self.blocking_features = kwargs.get('blocking_features', None) - self.unsupported_features = kwargs.get('unsupported_features', None) - self.blocking_characteristics = kwargs.get('blocking_characteristics', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion.py deleted file mode 100644 index 619ec823c8a8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteCloneabilityCriterion(Model): - """An app cloneability criterion. - - :param name: Name of criterion. - :type name: str - :param description: Description of criterion. - :type description: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteCloneabilityCriterion, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion_py3.py deleted file mode 100644 index fcca5c64c56f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_criterion_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteCloneabilityCriterion(Model): - """An app cloneability criterion. - - :param name: Name of criterion. - :type name: str - :param description: Description of criterion. - :type description: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: - super(SiteCloneabilityCriterion, self).__init__(**kwargs) - self.name = name - self.description = description diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_py3.py deleted file mode 100644 index 87d084d5e5e4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_cloneability_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteCloneability(Model): - """Represents whether or not an app is cloneable. - - :param result: Name of app. Possible values include: 'Cloneable', - 'PartiallyCloneable', 'NotCloneable' - :type result: str or ~azure.mgmt.web.models.CloneAbilityResult - :param blocking_features: List of features enabled on app that prevent - cloning. - :type blocking_features: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - :param unsupported_features: List of features enabled on app that are - non-blocking but cannot be cloned. The app can still be cloned - but the features in this list will not be set up on cloned app. - :type unsupported_features: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - :param blocking_characteristics: List of blocking application - characteristics. - :type blocking_characteristics: - list[~azure.mgmt.web.models.SiteCloneabilityCriterion] - """ - - _attribute_map = { - 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, - 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, - 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, - 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, - } - - def __init__(self, *, result=None, blocking_features=None, unsupported_features=None, blocking_characteristics=None, **kwargs) -> None: - super(SiteCloneability, self).__init__(**kwargs) - self.result = result - self.blocking_features = blocking_features - self.unsupported_features = unsupported_features - self.blocking_characteristics = blocking_characteristics diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config.py deleted file mode 100644 index 09b9e8cf7f1c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config.py +++ /dev/null @@ -1,271 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteConfig(Model): - """Configuration of an App Service app. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param number_of_workers: Number of workers. - :type number_of_workers: int - :param default_documents: Default documents. - :type default_documents: list[str] - :param net_framework_version: .NET Framework version. Default value: - "v4.6" . - :type net_framework_version: str - :param php_version: Version of PHP. - :type php_version: str - :param python_version: Version of Python. - :type python_version: str - :param node_version: Version of Node.js. - :type node_version: str - :param linux_fx_version: Linux App Framework and version - :type linux_fx_version: str - :param windows_fx_version: Xenon App Framework and version - :type windows_fx_version: str - :param request_tracing_enabled: true if request tracing is - enabled; otherwise, false. - :type request_tracing_enabled: bool - :param request_tracing_expiration_time: Request tracing expiration time. - :type request_tracing_expiration_time: datetime - :param remote_debugging_enabled: true if remote debugging is - enabled; otherwise, false. - :type remote_debugging_enabled: bool - :param remote_debugging_version: Remote debugging version. - :type remote_debugging_version: str - :param http_logging_enabled: true if HTTP logging is enabled; - otherwise, false. - :type http_logging_enabled: bool - :param logs_directory_size_limit: HTTP logs directory size limit. - :type logs_directory_size_limit: int - :param detailed_error_logging_enabled: true if detailed error - logging is enabled; otherwise, false. - :type detailed_error_logging_enabled: bool - :param publishing_username: Publishing user name. - :type publishing_username: str - :param app_settings: Application settings. - :type app_settings: list[~azure.mgmt.web.models.NameValuePair] - :param azure_storage_accounts: User-provided Azure storage accounts. - :type azure_storage_accounts: dict[str, - ~azure.mgmt.web.models.AzureStorageInfoValue] - :param connection_strings: Connection strings. - :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] - :ivar machine_key: Site MachineKey. - :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey - :param handler_mappings: Handler mappings. - :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] - :param document_root: Document root. - :type document_root: str - :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', - 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', - 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' - :type scm_type: str or ~azure.mgmt.web.models.ScmType - :param use32_bit_worker_process: true to use 32-bit worker - process; otherwise, false. - :type use32_bit_worker_process: bool - :param web_sockets_enabled: true if WebSocket is enabled; - otherwise, false. - :type web_sockets_enabled: bool - :param always_on: true if Always On is enabled; otherwise, - false. - :type always_on: bool - :param java_version: Java version. - :type java_version: str - :param java_container: Java container. - :type java_container: str - :param java_container_version: Java container version. - :type java_container_version: str - :param app_command_line: App command line to launch. - :type app_command_line: str - :param managed_pipeline_mode: Managed pipeline mode. Possible values - include: 'Integrated', 'Classic' - :type managed_pipeline_mode: str or - ~azure.mgmt.web.models.ManagedPipelineMode - :param virtual_applications: Virtual applications. - :type virtual_applications: - list[~azure.mgmt.web.models.VirtualApplication] - :param load_balancing: Site load balancing. Possible values include: - 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', - 'WeightedTotalTraffic', 'RequestHash' - :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing - :param experiments: This is work around for polymorphic types. - :type experiments: ~azure.mgmt.web.models.Experiments - :param limits: Site limits. - :type limits: ~azure.mgmt.web.models.SiteLimits - :param auto_heal_enabled: true if Auto Heal is enabled; - otherwise, false. - :type auto_heal_enabled: bool - :param auto_heal_rules: Auto Heal rules. - :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules - :param tracing_options: Tracing options. - :type tracing_options: str - :param vnet_name: Virtual Network name. - :type vnet_name: str - :param cors: Cross-Origin Resource Sharing (CORS) settings. - :type cors: ~azure.mgmt.web.models.CorsSettings - :param push: Push endpoint settings. - :type push: ~azure.mgmt.web.models.PushSettings - :param api_definition: Information about the formal API definition for the - app. - :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo - :param auto_swap_slot_name: Auto-swap slot name. - :type auto_swap_slot_name: str - :param local_my_sql_enabled: true to enable local MySQL; - otherwise, false. Default value: False . - :type local_my_sql_enabled: bool - :param managed_service_identity_id: Managed Service Identity Id - :type managed_service_identity_id: int - :param x_managed_service_identity_id: Explicit Managed Service Identity Id - :type x_managed_service_identity_id: int - :param ip_security_restrictions: IP security restrictions for main. - :type ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions: IP security restrictions for scm. - :type scm_ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions_use_main: IP security restrictions for - scm to use main. - :type scm_ip_security_restrictions_use_main: bool - :param http20_enabled: Http20Enabled: configures a web site to allow - clients to connect over http2.0. Default value: True . - :type http20_enabled: bool - :param min_tls_version: MinTlsVersion: configures the minimum version of - TLS required for SSL requests. Possible values include: '1.0', '1.1', - '1.2' - :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions - :param ftps_state: State of FTP / FTPS service. Possible values include: - 'AllAllowed', 'FtpsOnly', 'Disabled' - :type ftps_state: str or ~azure.mgmt.web.models.FtpsState - :param reserved_instance_count: Number of reserved instances. - This setting only applies to the Consumption Plan - :type reserved_instance_count: int - """ - - _validation = { - 'machine_key': {'readonly': True}, - 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, - } - - _attribute_map = { - 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, - 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, - 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, - 'php_version': {'key': 'phpVersion', 'type': 'str'}, - 'python_version': {'key': 'pythonVersion', 'type': 'str'}, - 'node_version': {'key': 'nodeVersion', 'type': 'str'}, - 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, - 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, - 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, - 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, - 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, - 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, - 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, - 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, - 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, - 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, - 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, - 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, - 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, - 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, - 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, - 'document_root': {'key': 'documentRoot', 'type': 'str'}, - 'scm_type': {'key': 'scmType', 'type': 'str'}, - 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, - 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, - 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, - 'java_version': {'key': 'javaVersion', 'type': 'str'}, - 'java_container': {'key': 'javaContainer', 'type': 'str'}, - 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, - 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, - 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, - 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, - 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, - 'experiments': {'key': 'experiments', 'type': 'Experiments'}, - 'limits': {'key': 'limits', 'type': 'SiteLimits'}, - 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, - 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, - 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, - 'vnet_name': {'key': 'vnetName', 'type': 'str'}, - 'cors': {'key': 'cors', 'type': 'CorsSettings'}, - 'push': {'key': 'push', 'type': 'PushSettings'}, - 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, - 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, - 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, - 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, - 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, - 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, - 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, - 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, - 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SiteConfig, self).__init__(**kwargs) - self.number_of_workers = kwargs.get('number_of_workers', None) - self.default_documents = kwargs.get('default_documents', None) - self.net_framework_version = kwargs.get('net_framework_version', "v4.6") - self.php_version = kwargs.get('php_version', None) - self.python_version = kwargs.get('python_version', None) - self.node_version = kwargs.get('node_version', None) - self.linux_fx_version = kwargs.get('linux_fx_version', None) - self.windows_fx_version = kwargs.get('windows_fx_version', None) - self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) - self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) - self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) - self.remote_debugging_version = kwargs.get('remote_debugging_version', None) - self.http_logging_enabled = kwargs.get('http_logging_enabled', None) - self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) - self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) - self.publishing_username = kwargs.get('publishing_username', None) - self.app_settings = kwargs.get('app_settings', None) - self.azure_storage_accounts = kwargs.get('azure_storage_accounts', None) - self.connection_strings = kwargs.get('connection_strings', None) - self.machine_key = None - self.handler_mappings = kwargs.get('handler_mappings', None) - self.document_root = kwargs.get('document_root', None) - self.scm_type = kwargs.get('scm_type', None) - self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) - self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) - self.always_on = kwargs.get('always_on', None) - self.java_version = kwargs.get('java_version', None) - self.java_container = kwargs.get('java_container', None) - self.java_container_version = kwargs.get('java_container_version', None) - self.app_command_line = kwargs.get('app_command_line', None) - self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) - self.virtual_applications = kwargs.get('virtual_applications', None) - self.load_balancing = kwargs.get('load_balancing', None) - self.experiments = kwargs.get('experiments', None) - self.limits = kwargs.get('limits', None) - self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) - self.auto_heal_rules = kwargs.get('auto_heal_rules', None) - self.tracing_options = kwargs.get('tracing_options', None) - self.vnet_name = kwargs.get('vnet_name', None) - self.cors = kwargs.get('cors', None) - self.push = kwargs.get('push', None) - self.api_definition = kwargs.get('api_definition', None) - self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) - self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) - self.managed_service_identity_id = kwargs.get('managed_service_identity_id', None) - self.x_managed_service_identity_id = kwargs.get('x_managed_service_identity_id', None) - self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) - self.scm_ip_security_restrictions = kwargs.get('scm_ip_security_restrictions', None) - self.scm_ip_security_restrictions_use_main = kwargs.get('scm_ip_security_restrictions_use_main', None) - self.http20_enabled = kwargs.get('http20_enabled', True) - self.min_tls_version = kwargs.get('min_tls_version', None) - self.ftps_state = kwargs.get('ftps_state', None) - self.reserved_instance_count = kwargs.get('reserved_instance_count', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_py3.py deleted file mode 100644 index 1c559b452f32..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_py3.py +++ /dev/null @@ -1,271 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteConfig(Model): - """Configuration of an App Service app. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param number_of_workers: Number of workers. - :type number_of_workers: int - :param default_documents: Default documents. - :type default_documents: list[str] - :param net_framework_version: .NET Framework version. Default value: - "v4.6" . - :type net_framework_version: str - :param php_version: Version of PHP. - :type php_version: str - :param python_version: Version of Python. - :type python_version: str - :param node_version: Version of Node.js. - :type node_version: str - :param linux_fx_version: Linux App Framework and version - :type linux_fx_version: str - :param windows_fx_version: Xenon App Framework and version - :type windows_fx_version: str - :param request_tracing_enabled: true if request tracing is - enabled; otherwise, false. - :type request_tracing_enabled: bool - :param request_tracing_expiration_time: Request tracing expiration time. - :type request_tracing_expiration_time: datetime - :param remote_debugging_enabled: true if remote debugging is - enabled; otherwise, false. - :type remote_debugging_enabled: bool - :param remote_debugging_version: Remote debugging version. - :type remote_debugging_version: str - :param http_logging_enabled: true if HTTP logging is enabled; - otherwise, false. - :type http_logging_enabled: bool - :param logs_directory_size_limit: HTTP logs directory size limit. - :type logs_directory_size_limit: int - :param detailed_error_logging_enabled: true if detailed error - logging is enabled; otherwise, false. - :type detailed_error_logging_enabled: bool - :param publishing_username: Publishing user name. - :type publishing_username: str - :param app_settings: Application settings. - :type app_settings: list[~azure.mgmt.web.models.NameValuePair] - :param azure_storage_accounts: User-provided Azure storage accounts. - :type azure_storage_accounts: dict[str, - ~azure.mgmt.web.models.AzureStorageInfoValue] - :param connection_strings: Connection strings. - :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] - :ivar machine_key: Site MachineKey. - :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey - :param handler_mappings: Handler mappings. - :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] - :param document_root: Document root. - :type document_root: str - :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', - 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', - 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' - :type scm_type: str or ~azure.mgmt.web.models.ScmType - :param use32_bit_worker_process: true to use 32-bit worker - process; otherwise, false. - :type use32_bit_worker_process: bool - :param web_sockets_enabled: true if WebSocket is enabled; - otherwise, false. - :type web_sockets_enabled: bool - :param always_on: true if Always On is enabled; otherwise, - false. - :type always_on: bool - :param java_version: Java version. - :type java_version: str - :param java_container: Java container. - :type java_container: str - :param java_container_version: Java container version. - :type java_container_version: str - :param app_command_line: App command line to launch. - :type app_command_line: str - :param managed_pipeline_mode: Managed pipeline mode. Possible values - include: 'Integrated', 'Classic' - :type managed_pipeline_mode: str or - ~azure.mgmt.web.models.ManagedPipelineMode - :param virtual_applications: Virtual applications. - :type virtual_applications: - list[~azure.mgmt.web.models.VirtualApplication] - :param load_balancing: Site load balancing. Possible values include: - 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', - 'WeightedTotalTraffic', 'RequestHash' - :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing - :param experiments: This is work around for polymorphic types. - :type experiments: ~azure.mgmt.web.models.Experiments - :param limits: Site limits. - :type limits: ~azure.mgmt.web.models.SiteLimits - :param auto_heal_enabled: true if Auto Heal is enabled; - otherwise, false. - :type auto_heal_enabled: bool - :param auto_heal_rules: Auto Heal rules. - :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules - :param tracing_options: Tracing options. - :type tracing_options: str - :param vnet_name: Virtual Network name. - :type vnet_name: str - :param cors: Cross-Origin Resource Sharing (CORS) settings. - :type cors: ~azure.mgmt.web.models.CorsSettings - :param push: Push endpoint settings. - :type push: ~azure.mgmt.web.models.PushSettings - :param api_definition: Information about the formal API definition for the - app. - :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo - :param auto_swap_slot_name: Auto-swap slot name. - :type auto_swap_slot_name: str - :param local_my_sql_enabled: true to enable local MySQL; - otherwise, false. Default value: False . - :type local_my_sql_enabled: bool - :param managed_service_identity_id: Managed Service Identity Id - :type managed_service_identity_id: int - :param x_managed_service_identity_id: Explicit Managed Service Identity Id - :type x_managed_service_identity_id: int - :param ip_security_restrictions: IP security restrictions for main. - :type ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions: IP security restrictions for scm. - :type scm_ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions_use_main: IP security restrictions for - scm to use main. - :type scm_ip_security_restrictions_use_main: bool - :param http20_enabled: Http20Enabled: configures a web site to allow - clients to connect over http2.0. Default value: True . - :type http20_enabled: bool - :param min_tls_version: MinTlsVersion: configures the minimum version of - TLS required for SSL requests. Possible values include: '1.0', '1.1', - '1.2' - :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions - :param ftps_state: State of FTP / FTPS service. Possible values include: - 'AllAllowed', 'FtpsOnly', 'Disabled' - :type ftps_state: str or ~azure.mgmt.web.models.FtpsState - :param reserved_instance_count: Number of reserved instances. - This setting only applies to the Consumption Plan - :type reserved_instance_count: int - """ - - _validation = { - 'machine_key': {'readonly': True}, - 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, - } - - _attribute_map = { - 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, - 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, - 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, - 'php_version': {'key': 'phpVersion', 'type': 'str'}, - 'python_version': {'key': 'pythonVersion', 'type': 'str'}, - 'node_version': {'key': 'nodeVersion', 'type': 'str'}, - 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, - 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, - 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, - 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, - 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, - 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, - 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, - 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, - 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, - 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, - 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, - 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, - 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, - 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, - 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, - 'document_root': {'key': 'documentRoot', 'type': 'str'}, - 'scm_type': {'key': 'scmType', 'type': 'str'}, - 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, - 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, - 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, - 'java_version': {'key': 'javaVersion', 'type': 'str'}, - 'java_container': {'key': 'javaContainer', 'type': 'str'}, - 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, - 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, - 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, - 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, - 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, - 'experiments': {'key': 'experiments', 'type': 'Experiments'}, - 'limits': {'key': 'limits', 'type': 'SiteLimits'}, - 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, - 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, - 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, - 'vnet_name': {'key': 'vnetName', 'type': 'str'}, - 'cors': {'key': 'cors', 'type': 'CorsSettings'}, - 'push': {'key': 'push', 'type': 'PushSettings'}, - 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, - 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, - 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, - 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, - 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, - 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, - 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, - 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, - 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, - } - - def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, windows_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, azure_storage_accounts=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, managed_service_identity_id: int=None, x_managed_service_identity_id: int=None, ip_security_restrictions=None, scm_ip_security_restrictions=None, scm_ip_security_restrictions_use_main: bool=None, http20_enabled: bool=True, min_tls_version=None, ftps_state=None, reserved_instance_count: int=None, **kwargs) -> None: - super(SiteConfig, self).__init__(**kwargs) - self.number_of_workers = number_of_workers - self.default_documents = default_documents - self.net_framework_version = net_framework_version - self.php_version = php_version - self.python_version = python_version - self.node_version = node_version - self.linux_fx_version = linux_fx_version - self.windows_fx_version = windows_fx_version - self.request_tracing_enabled = request_tracing_enabled - self.request_tracing_expiration_time = request_tracing_expiration_time - self.remote_debugging_enabled = remote_debugging_enabled - self.remote_debugging_version = remote_debugging_version - self.http_logging_enabled = http_logging_enabled - self.logs_directory_size_limit = logs_directory_size_limit - self.detailed_error_logging_enabled = detailed_error_logging_enabled - self.publishing_username = publishing_username - self.app_settings = app_settings - self.azure_storage_accounts = azure_storage_accounts - self.connection_strings = connection_strings - self.machine_key = None - self.handler_mappings = handler_mappings - self.document_root = document_root - self.scm_type = scm_type - self.use32_bit_worker_process = use32_bit_worker_process - self.web_sockets_enabled = web_sockets_enabled - self.always_on = always_on - self.java_version = java_version - self.java_container = java_container - self.java_container_version = java_container_version - self.app_command_line = app_command_line - self.managed_pipeline_mode = managed_pipeline_mode - self.virtual_applications = virtual_applications - self.load_balancing = load_balancing - self.experiments = experiments - self.limits = limits - self.auto_heal_enabled = auto_heal_enabled - self.auto_heal_rules = auto_heal_rules - self.tracing_options = tracing_options - self.vnet_name = vnet_name - self.cors = cors - self.push = push - self.api_definition = api_definition - self.auto_swap_slot_name = auto_swap_slot_name - self.local_my_sql_enabled = local_my_sql_enabled - self.managed_service_identity_id = managed_service_identity_id - self.x_managed_service_identity_id = x_managed_service_identity_id - self.ip_security_restrictions = ip_security_restrictions - self.scm_ip_security_restrictions = scm_ip_security_restrictions - self.scm_ip_security_restrictions_use_main = scm_ip_security_restrictions_use_main - self.http20_enabled = http20_enabled - self.min_tls_version = min_tls_version - self.ftps_state = ftps_state - self.reserved_instance_count = reserved_instance_count diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource.py deleted file mode 100644 index 43af2c3a92eb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource.py +++ /dev/null @@ -1,286 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteConfigResource(ProxyOnlyResource): - """Web app configuration ARM 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param number_of_workers: Number of workers. - :type number_of_workers: int - :param default_documents: Default documents. - :type default_documents: list[str] - :param net_framework_version: .NET Framework version. Default value: - "v4.6" . - :type net_framework_version: str - :param php_version: Version of PHP. - :type php_version: str - :param python_version: Version of Python. - :type python_version: str - :param node_version: Version of Node.js. - :type node_version: str - :param linux_fx_version: Linux App Framework and version - :type linux_fx_version: str - :param windows_fx_version: Xenon App Framework and version - :type windows_fx_version: str - :param request_tracing_enabled: true if request tracing is - enabled; otherwise, false. - :type request_tracing_enabled: bool - :param request_tracing_expiration_time: Request tracing expiration time. - :type request_tracing_expiration_time: datetime - :param remote_debugging_enabled: true if remote debugging is - enabled; otherwise, false. - :type remote_debugging_enabled: bool - :param remote_debugging_version: Remote debugging version. - :type remote_debugging_version: str - :param http_logging_enabled: true if HTTP logging is enabled; - otherwise, false. - :type http_logging_enabled: bool - :param logs_directory_size_limit: HTTP logs directory size limit. - :type logs_directory_size_limit: int - :param detailed_error_logging_enabled: true if detailed error - logging is enabled; otherwise, false. - :type detailed_error_logging_enabled: bool - :param publishing_username: Publishing user name. - :type publishing_username: str - :param app_settings: Application settings. - :type app_settings: list[~azure.mgmt.web.models.NameValuePair] - :param azure_storage_accounts: User-provided Azure storage accounts. - :type azure_storage_accounts: dict[str, - ~azure.mgmt.web.models.AzureStorageInfoValue] - :param connection_strings: Connection strings. - :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] - :ivar machine_key: Site MachineKey. - :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey - :param handler_mappings: Handler mappings. - :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] - :param document_root: Document root. - :type document_root: str - :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', - 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', - 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' - :type scm_type: str or ~azure.mgmt.web.models.ScmType - :param use32_bit_worker_process: true to use 32-bit worker - process; otherwise, false. - :type use32_bit_worker_process: bool - :param web_sockets_enabled: true if WebSocket is enabled; - otherwise, false. - :type web_sockets_enabled: bool - :param always_on: true if Always On is enabled; otherwise, - false. - :type always_on: bool - :param java_version: Java version. - :type java_version: str - :param java_container: Java container. - :type java_container: str - :param java_container_version: Java container version. - :type java_container_version: str - :param app_command_line: App command line to launch. - :type app_command_line: str - :param managed_pipeline_mode: Managed pipeline mode. Possible values - include: 'Integrated', 'Classic' - :type managed_pipeline_mode: str or - ~azure.mgmt.web.models.ManagedPipelineMode - :param virtual_applications: Virtual applications. - :type virtual_applications: - list[~azure.mgmt.web.models.VirtualApplication] - :param load_balancing: Site load balancing. Possible values include: - 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', - 'WeightedTotalTraffic', 'RequestHash' - :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing - :param experiments: This is work around for polymorphic types. - :type experiments: ~azure.mgmt.web.models.Experiments - :param limits: Site limits. - :type limits: ~azure.mgmt.web.models.SiteLimits - :param auto_heal_enabled: true if Auto Heal is enabled; - otherwise, false. - :type auto_heal_enabled: bool - :param auto_heal_rules: Auto Heal rules. - :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules - :param tracing_options: Tracing options. - :type tracing_options: str - :param vnet_name: Virtual Network name. - :type vnet_name: str - :param cors: Cross-Origin Resource Sharing (CORS) settings. - :type cors: ~azure.mgmt.web.models.CorsSettings - :param push: Push endpoint settings. - :type push: ~azure.mgmt.web.models.PushSettings - :param api_definition: Information about the formal API definition for the - app. - :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo - :param auto_swap_slot_name: Auto-swap slot name. - :type auto_swap_slot_name: str - :param local_my_sql_enabled: true to enable local MySQL; - otherwise, false. Default value: False . - :type local_my_sql_enabled: bool - :param managed_service_identity_id: Managed Service Identity Id - :type managed_service_identity_id: int - :param x_managed_service_identity_id: Explicit Managed Service Identity Id - :type x_managed_service_identity_id: int - :param ip_security_restrictions: IP security restrictions for main. - :type ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions: IP security restrictions for scm. - :type scm_ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions_use_main: IP security restrictions for - scm to use main. - :type scm_ip_security_restrictions_use_main: bool - :param http20_enabled: Http20Enabled: configures a web site to allow - clients to connect over http2.0. Default value: True . - :type http20_enabled: bool - :param min_tls_version: MinTlsVersion: configures the minimum version of - TLS required for SSL requests. Possible values include: '1.0', '1.1', - '1.2' - :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions - :param ftps_state: State of FTP / FTPS service. Possible values include: - 'AllAllowed', 'FtpsOnly', 'Disabled' - :type ftps_state: str or ~azure.mgmt.web.models.FtpsState - :param reserved_instance_count: Number of reserved instances. - This setting only applies to the Consumption Plan - :type reserved_instance_count: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'machine_key': {'readonly': True}, - 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, - 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, - 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, - 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, - 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, - 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, - 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, - 'windows_fx_version': {'key': 'properties.windowsFxVersion', 'type': 'str'}, - 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, - 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, - 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, - 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, - 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, - 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, - 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, - 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, - 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, - 'azure_storage_accounts': {'key': 'properties.azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, - 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, - 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, - 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, - 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, - 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, - 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, - 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, - 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, - 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, - 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, - 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, - 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, - 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, - 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, - 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, - 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, - 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, - 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, - 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, - 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, - 'push': {'key': 'properties.push', 'type': 'PushSettings'}, - 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, - 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, - 'managed_service_identity_id': {'key': 'properties.managedServiceIdentityId', 'type': 'int'}, - 'x_managed_service_identity_id': {'key': 'properties.xManagedServiceIdentityId', 'type': 'int'}, - 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions': {'key': 'properties.scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions_use_main': {'key': 'properties.scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, - 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, - 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, - 'ftps_state': {'key': 'properties.ftpsState', 'type': 'str'}, - 'reserved_instance_count': {'key': 'properties.reservedInstanceCount', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SiteConfigResource, self).__init__(**kwargs) - self.number_of_workers = kwargs.get('number_of_workers', None) - self.default_documents = kwargs.get('default_documents', None) - self.net_framework_version = kwargs.get('net_framework_version', "v4.6") - self.php_version = kwargs.get('php_version', None) - self.python_version = kwargs.get('python_version', None) - self.node_version = kwargs.get('node_version', None) - self.linux_fx_version = kwargs.get('linux_fx_version', None) - self.windows_fx_version = kwargs.get('windows_fx_version', None) - self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) - self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) - self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) - self.remote_debugging_version = kwargs.get('remote_debugging_version', None) - self.http_logging_enabled = kwargs.get('http_logging_enabled', None) - self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) - self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) - self.publishing_username = kwargs.get('publishing_username', None) - self.app_settings = kwargs.get('app_settings', None) - self.azure_storage_accounts = kwargs.get('azure_storage_accounts', None) - self.connection_strings = kwargs.get('connection_strings', None) - self.machine_key = None - self.handler_mappings = kwargs.get('handler_mappings', None) - self.document_root = kwargs.get('document_root', None) - self.scm_type = kwargs.get('scm_type', None) - self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) - self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) - self.always_on = kwargs.get('always_on', None) - self.java_version = kwargs.get('java_version', None) - self.java_container = kwargs.get('java_container', None) - self.java_container_version = kwargs.get('java_container_version', None) - self.app_command_line = kwargs.get('app_command_line', None) - self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) - self.virtual_applications = kwargs.get('virtual_applications', None) - self.load_balancing = kwargs.get('load_balancing', None) - self.experiments = kwargs.get('experiments', None) - self.limits = kwargs.get('limits', None) - self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) - self.auto_heal_rules = kwargs.get('auto_heal_rules', None) - self.tracing_options = kwargs.get('tracing_options', None) - self.vnet_name = kwargs.get('vnet_name', None) - self.cors = kwargs.get('cors', None) - self.push = kwargs.get('push', None) - self.api_definition = kwargs.get('api_definition', None) - self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) - self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) - self.managed_service_identity_id = kwargs.get('managed_service_identity_id', None) - self.x_managed_service_identity_id = kwargs.get('x_managed_service_identity_id', None) - self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) - self.scm_ip_security_restrictions = kwargs.get('scm_ip_security_restrictions', None) - self.scm_ip_security_restrictions_use_main = kwargs.get('scm_ip_security_restrictions_use_main', None) - self.http20_enabled = kwargs.get('http20_enabled', True) - self.min_tls_version = kwargs.get('min_tls_version', None) - self.ftps_state = kwargs.get('ftps_state', None) - self.reserved_instance_count = kwargs.get('reserved_instance_count', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_paged.py deleted file mode 100644 index f18924b9a537..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SiteConfigResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`SiteConfigResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SiteConfigResource]'} - } - - def __init__(self, *args, **kwargs): - - super(SiteConfigResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_py3.py deleted file mode 100644 index fe8ce425406b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_config_resource_py3.py +++ /dev/null @@ -1,286 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteConfigResource(ProxyOnlyResource): - """Web app configuration ARM 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param number_of_workers: Number of workers. - :type number_of_workers: int - :param default_documents: Default documents. - :type default_documents: list[str] - :param net_framework_version: .NET Framework version. Default value: - "v4.6" . - :type net_framework_version: str - :param php_version: Version of PHP. - :type php_version: str - :param python_version: Version of Python. - :type python_version: str - :param node_version: Version of Node.js. - :type node_version: str - :param linux_fx_version: Linux App Framework and version - :type linux_fx_version: str - :param windows_fx_version: Xenon App Framework and version - :type windows_fx_version: str - :param request_tracing_enabled: true if request tracing is - enabled; otherwise, false. - :type request_tracing_enabled: bool - :param request_tracing_expiration_time: Request tracing expiration time. - :type request_tracing_expiration_time: datetime - :param remote_debugging_enabled: true if remote debugging is - enabled; otherwise, false. - :type remote_debugging_enabled: bool - :param remote_debugging_version: Remote debugging version. - :type remote_debugging_version: str - :param http_logging_enabled: true if HTTP logging is enabled; - otherwise, false. - :type http_logging_enabled: bool - :param logs_directory_size_limit: HTTP logs directory size limit. - :type logs_directory_size_limit: int - :param detailed_error_logging_enabled: true if detailed error - logging is enabled; otherwise, false. - :type detailed_error_logging_enabled: bool - :param publishing_username: Publishing user name. - :type publishing_username: str - :param app_settings: Application settings. - :type app_settings: list[~azure.mgmt.web.models.NameValuePair] - :param azure_storage_accounts: User-provided Azure storage accounts. - :type azure_storage_accounts: dict[str, - ~azure.mgmt.web.models.AzureStorageInfoValue] - :param connection_strings: Connection strings. - :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] - :ivar machine_key: Site MachineKey. - :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey - :param handler_mappings: Handler mappings. - :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] - :param document_root: Document root. - :type document_root: str - :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', - 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', - 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' - :type scm_type: str or ~azure.mgmt.web.models.ScmType - :param use32_bit_worker_process: true to use 32-bit worker - process; otherwise, false. - :type use32_bit_worker_process: bool - :param web_sockets_enabled: true if WebSocket is enabled; - otherwise, false. - :type web_sockets_enabled: bool - :param always_on: true if Always On is enabled; otherwise, - false. - :type always_on: bool - :param java_version: Java version. - :type java_version: str - :param java_container: Java container. - :type java_container: str - :param java_container_version: Java container version. - :type java_container_version: str - :param app_command_line: App command line to launch. - :type app_command_line: str - :param managed_pipeline_mode: Managed pipeline mode. Possible values - include: 'Integrated', 'Classic' - :type managed_pipeline_mode: str or - ~azure.mgmt.web.models.ManagedPipelineMode - :param virtual_applications: Virtual applications. - :type virtual_applications: - list[~azure.mgmt.web.models.VirtualApplication] - :param load_balancing: Site load balancing. Possible values include: - 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', - 'WeightedTotalTraffic', 'RequestHash' - :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing - :param experiments: This is work around for polymorphic types. - :type experiments: ~azure.mgmt.web.models.Experiments - :param limits: Site limits. - :type limits: ~azure.mgmt.web.models.SiteLimits - :param auto_heal_enabled: true if Auto Heal is enabled; - otherwise, false. - :type auto_heal_enabled: bool - :param auto_heal_rules: Auto Heal rules. - :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules - :param tracing_options: Tracing options. - :type tracing_options: str - :param vnet_name: Virtual Network name. - :type vnet_name: str - :param cors: Cross-Origin Resource Sharing (CORS) settings. - :type cors: ~azure.mgmt.web.models.CorsSettings - :param push: Push endpoint settings. - :type push: ~azure.mgmt.web.models.PushSettings - :param api_definition: Information about the formal API definition for the - app. - :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo - :param auto_swap_slot_name: Auto-swap slot name. - :type auto_swap_slot_name: str - :param local_my_sql_enabled: true to enable local MySQL; - otherwise, false. Default value: False . - :type local_my_sql_enabled: bool - :param managed_service_identity_id: Managed Service Identity Id - :type managed_service_identity_id: int - :param x_managed_service_identity_id: Explicit Managed Service Identity Id - :type x_managed_service_identity_id: int - :param ip_security_restrictions: IP security restrictions for main. - :type ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions: IP security restrictions for scm. - :type scm_ip_security_restrictions: - list[~azure.mgmt.web.models.IpSecurityRestriction] - :param scm_ip_security_restrictions_use_main: IP security restrictions for - scm to use main. - :type scm_ip_security_restrictions_use_main: bool - :param http20_enabled: Http20Enabled: configures a web site to allow - clients to connect over http2.0. Default value: True . - :type http20_enabled: bool - :param min_tls_version: MinTlsVersion: configures the minimum version of - TLS required for SSL requests. Possible values include: '1.0', '1.1', - '1.2' - :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions - :param ftps_state: State of FTP / FTPS service. Possible values include: - 'AllAllowed', 'FtpsOnly', 'Disabled' - :type ftps_state: str or ~azure.mgmt.web.models.FtpsState - :param reserved_instance_count: Number of reserved instances. - This setting only applies to the Consumption Plan - :type reserved_instance_count: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'machine_key': {'readonly': True}, - 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, - 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, - 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, - 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, - 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, - 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, - 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, - 'windows_fx_version': {'key': 'properties.windowsFxVersion', 'type': 'str'}, - 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, - 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, - 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, - 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, - 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, - 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, - 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, - 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, - 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, - 'azure_storage_accounts': {'key': 'properties.azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, - 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, - 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, - 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, - 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, - 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, - 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, - 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, - 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, - 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, - 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, - 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, - 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, - 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, - 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, - 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, - 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, - 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, - 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, - 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, - 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, - 'push': {'key': 'properties.push', 'type': 'PushSettings'}, - 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, - 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, - 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, - 'managed_service_identity_id': {'key': 'properties.managedServiceIdentityId', 'type': 'int'}, - 'x_managed_service_identity_id': {'key': 'properties.xManagedServiceIdentityId', 'type': 'int'}, - 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions': {'key': 'properties.scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, - 'scm_ip_security_restrictions_use_main': {'key': 'properties.scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, - 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, - 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, - 'ftps_state': {'key': 'properties.ftpsState', 'type': 'str'}, - 'reserved_instance_count': {'key': 'properties.reservedInstanceCount', 'type': 'int'}, - } - - def __init__(self, *, kind: str=None, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, windows_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, azure_storage_accounts=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, managed_service_identity_id: int=None, x_managed_service_identity_id: int=None, ip_security_restrictions=None, scm_ip_security_restrictions=None, scm_ip_security_restrictions_use_main: bool=None, http20_enabled: bool=True, min_tls_version=None, ftps_state=None, reserved_instance_count: int=None, **kwargs) -> None: - super(SiteConfigResource, self).__init__(kind=kind, **kwargs) - self.number_of_workers = number_of_workers - self.default_documents = default_documents - self.net_framework_version = net_framework_version - self.php_version = php_version - self.python_version = python_version - self.node_version = node_version - self.linux_fx_version = linux_fx_version - self.windows_fx_version = windows_fx_version - self.request_tracing_enabled = request_tracing_enabled - self.request_tracing_expiration_time = request_tracing_expiration_time - self.remote_debugging_enabled = remote_debugging_enabled - self.remote_debugging_version = remote_debugging_version - self.http_logging_enabled = http_logging_enabled - self.logs_directory_size_limit = logs_directory_size_limit - self.detailed_error_logging_enabled = detailed_error_logging_enabled - self.publishing_username = publishing_username - self.app_settings = app_settings - self.azure_storage_accounts = azure_storage_accounts - self.connection_strings = connection_strings - self.machine_key = None - self.handler_mappings = handler_mappings - self.document_root = document_root - self.scm_type = scm_type - self.use32_bit_worker_process = use32_bit_worker_process - self.web_sockets_enabled = web_sockets_enabled - self.always_on = always_on - self.java_version = java_version - self.java_container = java_container - self.java_container_version = java_container_version - self.app_command_line = app_command_line - self.managed_pipeline_mode = managed_pipeline_mode - self.virtual_applications = virtual_applications - self.load_balancing = load_balancing - self.experiments = experiments - self.limits = limits - self.auto_heal_enabled = auto_heal_enabled - self.auto_heal_rules = auto_heal_rules - self.tracing_options = tracing_options - self.vnet_name = vnet_name - self.cors = cors - self.push = push - self.api_definition = api_definition - self.auto_swap_slot_name = auto_swap_slot_name - self.local_my_sql_enabled = local_my_sql_enabled - self.managed_service_identity_id = managed_service_identity_id - self.x_managed_service_identity_id = x_managed_service_identity_id - self.ip_security_restrictions = ip_security_restrictions - self.scm_ip_security_restrictions = scm_ip_security_restrictions - self.scm_ip_security_restrictions_use_main = scm_ip_security_restrictions_use_main - self.http20_enabled = http20_enabled - self.min_tls_version = min_tls_version - self.ftps_state = ftps_state - self.reserved_instance_count = reserved_instance_count diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info.py deleted file mode 100644 index 75c2e76208dd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteConfigurationSnapshotInfo(ProxyOnlyResource): - """A snapshot of a web app configuration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar time: The time the snapshot was taken. - :vartype time: datetime - :ivar snapshot_id: The id of the snapshot - :vartype snapshot_id: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'time': {'readonly': True}, - 'snapshot_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'time': {'key': 'properties.time', 'type': 'iso-8601'}, - 'snapshot_id': {'key': 'properties.snapshotId', 'type': 'int'}, - } - - def __init__(self, **kwargs): - super(SiteConfigurationSnapshotInfo, self).__init__(**kwargs) - self.time = None - self.snapshot_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_paged.py deleted file mode 100644 index 5fec65f8e11c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SiteConfigurationSnapshotInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`SiteConfigurationSnapshotInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SiteConfigurationSnapshotInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(SiteConfigurationSnapshotInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_py3.py deleted file mode 100644 index e43d434c2d75..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_configuration_snapshot_info_py3.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteConfigurationSnapshotInfo(ProxyOnlyResource): - """A snapshot of a web app configuration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar time: The time the snapshot was taken. - :vartype time: datetime - :ivar snapshot_id: The id of the snapshot - :vartype snapshot_id: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'time': {'readonly': True}, - 'snapshot_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'time': {'key': 'properties.time', 'type': 'iso-8601'}, - 'snapshot_id': {'key': 'properties.snapshotId', 'type': 'int'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(SiteConfigurationSnapshotInfo, self).__init__(kind=kind, **kwargs) - self.time = None - self.snapshot_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info.py deleted file mode 100644 index 2084a3facb71..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info.py +++ /dev/null @@ -1,127 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteExtensionInfo(ProxyOnlyResource): - """Site Extension 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param extension_id: Site extension ID. - :type extension_id: str - :param title: - :type title: str - :param extension_type: Site extension type. Possible values include: - 'Gallery', 'WebRoot' - :type extension_type: str or ~azure.mgmt.web.models.SiteExtensionType - :param summary: Summary description. - :type summary: str - :param description: Detailed description. - :type description: str - :param version: Version information. - :type version: str - :param extension_url: Extension URL. - :type extension_url: str - :param project_url: Project URL. - :type project_url: str - :param icon_url: Icon URL. - :type icon_url: str - :param license_url: License URL. - :type license_url: str - :param feed_url: Feed URL. - :type feed_url: str - :param authors: List of authors. - :type authors: list[str] - :param installer_command_line_params: Installer command line parameters. - :type installer_command_line_params: str - :param published_date_time: Published timestamp. - :type published_date_time: datetime - :param download_count: Count of downloads. - :type download_count: int - :param local_is_latest_version: true if the local version is - the latest version; false otherwise. - :type local_is_latest_version: bool - :param local_path: Local path. - :type local_path: str - :param installed_date_time: Installed timestamp. - :type installed_date_time: datetime - :param provisioning_state: Provisioning state. - :type provisioning_state: str - :param comment: Site Extension comment. - :type comment: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'extension_id': {'key': 'properties.extension_id', 'type': 'str'}, - 'title': {'key': 'properties.title', 'type': 'str'}, - 'extension_type': {'key': 'properties.extension_type', 'type': 'SiteExtensionType'}, - 'summary': {'key': 'properties.summary', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'extension_url': {'key': 'properties.extension_url', 'type': 'str'}, - 'project_url': {'key': 'properties.project_url', 'type': 'str'}, - 'icon_url': {'key': 'properties.icon_url', 'type': 'str'}, - 'license_url': {'key': 'properties.license_url', 'type': 'str'}, - 'feed_url': {'key': 'properties.feed_url', 'type': 'str'}, - 'authors': {'key': 'properties.authors', 'type': '[str]'}, - 'installer_command_line_params': {'key': 'properties.installer_command_line_params', 'type': 'str'}, - 'published_date_time': {'key': 'properties.published_date_time', 'type': 'iso-8601'}, - 'download_count': {'key': 'properties.download_count', 'type': 'int'}, - 'local_is_latest_version': {'key': 'properties.local_is_latest_version', 'type': 'bool'}, - 'local_path': {'key': 'properties.local_path', 'type': 'str'}, - 'installed_date_time': {'key': 'properties.installed_date_time', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'comment': {'key': 'properties.comment', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteExtensionInfo, self).__init__(**kwargs) - self.extension_id = kwargs.get('extension_id', None) - self.title = kwargs.get('title', None) - self.extension_type = kwargs.get('extension_type', None) - self.summary = kwargs.get('summary', None) - self.description = kwargs.get('description', None) - self.version = kwargs.get('version', None) - self.extension_url = kwargs.get('extension_url', None) - self.project_url = kwargs.get('project_url', None) - self.icon_url = kwargs.get('icon_url', None) - self.license_url = kwargs.get('license_url', None) - self.feed_url = kwargs.get('feed_url', None) - self.authors = kwargs.get('authors', None) - self.installer_command_line_params = kwargs.get('installer_command_line_params', None) - self.published_date_time = kwargs.get('published_date_time', None) - self.download_count = kwargs.get('download_count', None) - self.local_is_latest_version = kwargs.get('local_is_latest_version', None) - self.local_path = kwargs.get('local_path', None) - self.installed_date_time = kwargs.get('installed_date_time', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.comment = kwargs.get('comment', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_paged.py deleted file mode 100644 index 3cc7ab8ef4f3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SiteExtensionInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`SiteExtensionInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SiteExtensionInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(SiteExtensionInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_py3.py deleted file mode 100644 index b4bb23a9631f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_extension_info_py3.py +++ /dev/null @@ -1,127 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteExtensionInfo(ProxyOnlyResource): - """Site Extension 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param extension_id: Site extension ID. - :type extension_id: str - :param title: - :type title: str - :param extension_type: Site extension type. Possible values include: - 'Gallery', 'WebRoot' - :type extension_type: str or ~azure.mgmt.web.models.SiteExtensionType - :param summary: Summary description. - :type summary: str - :param description: Detailed description. - :type description: str - :param version: Version information. - :type version: str - :param extension_url: Extension URL. - :type extension_url: str - :param project_url: Project URL. - :type project_url: str - :param icon_url: Icon URL. - :type icon_url: str - :param license_url: License URL. - :type license_url: str - :param feed_url: Feed URL. - :type feed_url: str - :param authors: List of authors. - :type authors: list[str] - :param installer_command_line_params: Installer command line parameters. - :type installer_command_line_params: str - :param published_date_time: Published timestamp. - :type published_date_time: datetime - :param download_count: Count of downloads. - :type download_count: int - :param local_is_latest_version: true if the local version is - the latest version; false otherwise. - :type local_is_latest_version: bool - :param local_path: Local path. - :type local_path: str - :param installed_date_time: Installed timestamp. - :type installed_date_time: datetime - :param provisioning_state: Provisioning state. - :type provisioning_state: str - :param comment: Site Extension comment. - :type comment: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'extension_id': {'key': 'properties.extension_id', 'type': 'str'}, - 'title': {'key': 'properties.title', 'type': 'str'}, - 'extension_type': {'key': 'properties.extension_type', 'type': 'SiteExtensionType'}, - 'summary': {'key': 'properties.summary', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'extension_url': {'key': 'properties.extension_url', 'type': 'str'}, - 'project_url': {'key': 'properties.project_url', 'type': 'str'}, - 'icon_url': {'key': 'properties.icon_url', 'type': 'str'}, - 'license_url': {'key': 'properties.license_url', 'type': 'str'}, - 'feed_url': {'key': 'properties.feed_url', 'type': 'str'}, - 'authors': {'key': 'properties.authors', 'type': '[str]'}, - 'installer_command_line_params': {'key': 'properties.installer_command_line_params', 'type': 'str'}, - 'published_date_time': {'key': 'properties.published_date_time', 'type': 'iso-8601'}, - 'download_count': {'key': 'properties.download_count', 'type': 'int'}, - 'local_is_latest_version': {'key': 'properties.local_is_latest_version', 'type': 'bool'}, - 'local_path': {'key': 'properties.local_path', 'type': 'str'}, - 'installed_date_time': {'key': 'properties.installed_date_time', 'type': 'iso-8601'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'comment': {'key': 'properties.comment', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, extension_id: str=None, title: str=None, extension_type=None, summary: str=None, description: str=None, version: str=None, extension_url: str=None, project_url: str=None, icon_url: str=None, license_url: str=None, feed_url: str=None, authors=None, installer_command_line_params: str=None, published_date_time=None, download_count: int=None, local_is_latest_version: bool=None, local_path: str=None, installed_date_time=None, provisioning_state: str=None, comment: str=None, **kwargs) -> None: - super(SiteExtensionInfo, self).__init__(kind=kind, **kwargs) - self.extension_id = extension_id - self.title = title - self.extension_type = extension_type - self.summary = summary - self.description = description - self.version = version - self.extension_url = extension_url - self.project_url = project_url - self.icon_url = icon_url - self.license_url = license_url - self.feed_url = feed_url - self.authors = authors - self.installer_command_line_params = installer_command_line_params - self.published_date_time = published_date_time - self.download_count = download_count - self.local_is_latest_version = local_is_latest_version - self.local_path = local_path - self.installed_date_time = installed_date_time - self.provisioning_state = provisioning_state - self.comment = comment diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance.py deleted file mode 100644 index 708d731a2e67..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteInstance(ProxyOnlyResource): - """Instance of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar site_instance_name: Name of instance. - :vartype site_instance_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'site_instance_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'site_instance_name': {'key': 'properties.siteInstanceName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteInstance, self).__init__(**kwargs) - self.site_instance_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_paged.py deleted file mode 100644 index 6f082db3ac7b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SiteInstancePaged(Paged): - """ - A paging container for iterating over a list of :class:`SiteInstance ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SiteInstance]'} - } - - def __init__(self, *args, **kwargs): - - super(SiteInstancePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_py3.py deleted file mode 100644 index d6a93ac4600e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_instance_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteInstance(ProxyOnlyResource): - """Instance of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar site_instance_name: Name of instance. - :vartype site_instance_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'site_instance_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'site_instance_name': {'key': 'properties.siteInstanceName', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(SiteInstance, self).__init__(kind=kind, **kwargs) - self.site_instance_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits.py deleted file mode 100644 index d56d77d48e01..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteLimits(Model): - """Metric limits set on an app. - - :param max_percentage_cpu: Maximum allowed CPU usage percentage. - :type max_percentage_cpu: float - :param max_memory_in_mb: Maximum allowed memory usage in MB. - :type max_memory_in_mb: long - :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. - :type max_disk_size_in_mb: long - """ - - _attribute_map = { - 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, - 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, - 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, - } - - def __init__(self, **kwargs): - super(SiteLimits, self).__init__(**kwargs) - self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) - self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) - self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits_py3.py deleted file mode 100644 index 2f58a349bca9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_limits_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteLimits(Model): - """Metric limits set on an app. - - :param max_percentage_cpu: Maximum allowed CPU usage percentage. - :type max_percentage_cpu: float - :param max_memory_in_mb: Maximum allowed memory usage in MB. - :type max_memory_in_mb: long - :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. - :type max_disk_size_in_mb: long - """ - - _attribute_map = { - 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, - 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, - 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, - } - - def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: - super(SiteLimits, self).__init__(**kwargs) - self.max_percentage_cpu = max_percentage_cpu - self.max_memory_in_mb = max_memory_in_mb - self.max_disk_size_in_mb = max_disk_size_in_mb diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config.py deleted file mode 100644 index c637d918bb78..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteLogsConfig(ProxyOnlyResource): - """Configuration of App Service site logs. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param application_logs: Application logs configuration. - :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig - :param http_logs: HTTP logs configuration. - :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig - :param failed_requests_tracing: Failed requests tracing configuration. - :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig - :param detailed_error_messages: Detailed error messages configuration. - :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, - 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, - 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, - 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, - } - - def __init__(self, **kwargs): - super(SiteLogsConfig, self).__init__(**kwargs) - self.application_logs = kwargs.get('application_logs', None) - self.http_logs = kwargs.get('http_logs', None) - self.failed_requests_tracing = kwargs.get('failed_requests_tracing', None) - self.detailed_error_messages = kwargs.get('detailed_error_messages', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config_py3.py deleted file mode 100644 index 77bd46db1b1f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_logs_config_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteLogsConfig(ProxyOnlyResource): - """Configuration of App Service site logs. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param application_logs: Application logs configuration. - :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig - :param http_logs: HTTP logs configuration. - :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig - :param failed_requests_tracing: Failed requests tracing configuration. - :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig - :param detailed_error_messages: Detailed error messages configuration. - :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, - 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, - 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, - 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, - } - - def __init__(self, *, kind: str=None, application_logs=None, http_logs=None, failed_requests_tracing=None, detailed_error_messages=None, **kwargs) -> None: - super(SiteLogsConfig, self).__init__(kind=kind, **kwargs) - self.application_logs = application_logs - self.http_logs = http_logs - self.failed_requests_tracing = failed_requests_tracing - self.detailed_error_messages = detailed_error_messages diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key.py deleted file mode 100644 index 46c20e72b102..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteMachineKey(Model): - """MachineKey of an app. - - :param validation: MachineKey validation. - :type validation: str - :param validation_key: Validation key. - :type validation_key: str - :param decryption: Algorithm used for decryption. - :type decryption: str - :param decryption_key: Decryption key. - :type decryption_key: str - """ - - _attribute_map = { - 'validation': {'key': 'validation', 'type': 'str'}, - 'validation_key': {'key': 'validationKey', 'type': 'str'}, - 'decryption': {'key': 'decryption', 'type': 'str'}, - 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteMachineKey, self).__init__(**kwargs) - self.validation = kwargs.get('validation', None) - self.validation_key = kwargs.get('validation_key', None) - self.decryption = kwargs.get('decryption', None) - self.decryption_key = kwargs.get('decryption_key', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key_py3.py deleted file mode 100644 index 55b1f1f0798f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_machine_key_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteMachineKey(Model): - """MachineKey of an app. - - :param validation: MachineKey validation. - :type validation: str - :param validation_key: Validation key. - :type validation_key: str - :param decryption: Algorithm used for decryption. - :type decryption: str - :param decryption_key: Decryption key. - :type decryption_key: str - """ - - _attribute_map = { - 'validation': {'key': 'validation', 'type': 'str'}, - 'validation_key': {'key': 'validationKey', 'type': 'str'}, - 'decryption': {'key': 'decryption', 'type': 'str'}, - 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, - } - - def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: - super(SiteMachineKey, self).__init__(**kwargs) - self.validation = validation - self.validation_key = validation_key - self.decryption = decryption - self.decryption_key = decryption_key diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource.py deleted file mode 100644 index d5a784d4ab03..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource.py +++ /dev/null @@ -1,257 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SitePatchResource(ProxyOnlyResource): - """ARM resource for a site. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar state: Current state of the app. - :vartype state: str - :ivar host_names: Hostnames associated with the app. - :vartype host_names: list[str] - :ivar repository_site_name: Name of the repository site. - :vartype repository_site_name: str - :ivar usage_state: State indicating whether the app has exceeded its quota - usage. Read-only. Possible values include: 'Normal', 'Exceeded' - :vartype usage_state: str or ~azure.mgmt.web.models.UsageState - :param enabled: true if the app is enabled; otherwise, - false. Setting this value to false disables the app (takes - the app offline). - :type enabled: bool - :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to - be assigned (see HostNames) AND enabled. Otherwise, - the app is not served on those hostnames. - :vartype enabled_host_names: list[str] - :ivar availability_state: Management information availability state for - the app. Possible values include: 'Normal', 'Limited', - 'DisasterRecoveryMode' - :vartype availability_state: str or - ~azure.mgmt.web.models.SiteAvailabilityState - :param host_name_ssl_states: Hostname SSL states are used to manage the - SSL bindings for app's hostnames. - :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - :param reserved: true if reserved; otherwise, - false. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . - :type is_xenon: bool - :param hyper_v: Hyper-V sandbox. Default value: False . - :type hyper_v: bool - :ivar last_modified_time_utc: Last time the app was modified, in UTC. - Read-only. - :vartype last_modified_time_utc: datetime - :param site_config: Configuration of the app. - :type site_config: ~azure.mgmt.web.models.SiteConfig - :ivar traffic_manager_host_names: Azure Traffic Manager hostnames - associated with the app. Read-only. - :vartype traffic_manager_host_names: list[str] - :param scm_site_also_stopped: true to stop SCM (KUDU) site - when the app is stopped; otherwise, false. The default is - false. Default value: False . - :type scm_site_also_stopped: bool - :ivar target_swap_slot: Specifies which deployment slot this app will swap - into. Read-only. - :vartype target_swap_slot: str - :param hosting_environment_profile: App Service Environment to use for the - app. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param client_affinity_enabled: true to enable client - affinity; false to stop sending session affinity cookies, - which route client requests in the same session to the same instance. - Default is true. - :type client_affinity_enabled: bool - :param client_cert_enabled: true to enable client certificate - authentication (TLS mutual authentication); otherwise, false. - Default is false. - :type client_cert_enabled: bool - :param client_cert_exclusion_paths: client certificate authentication - comma-separated exclusion paths - :type client_cert_exclusion_paths: str - :param host_names_disabled: true to disable the public - hostnames of the app; otherwise, false. - If true, the app is only accessible via API management - process. - :type host_names_disabled: bool - :ivar outbound_ip_addresses: List of IP addresses that the app uses for - outbound connections (e.g. database access). Includes VIPs from tenants - that site can be hosted with current settings. Read-only. - :vartype outbound_ip_addresses: str - :ivar possible_outbound_ip_addresses: List of IP addresses that the app - uses for outbound connections (e.g. database access). Includes VIPs from - all tenants. Read-only. - :vartype possible_outbound_ip_addresses: str - :param container_size: Size of the function container. - :type container_size: int - :param daily_memory_time_quota: Maximum allowed daily memory-time quota - (applicable on dynamic apps only). - :type daily_memory_time_quota: int - :ivar suspended_till: App suspended till in case memory-time quota is - exceeded. - :vartype suspended_till: datetime - :ivar max_number_of_workers: Maximum number of workers. - This only applies to Functions container. - :vartype max_number_of_workers: int - :param cloning_info: If specified during app creation, the app is cloned - from a source app. - :type cloning_info: ~azure.mgmt.web.models.CloningInfo - :ivar resource_group: Name of the resource group the app belongs to. - Read-only. - :vartype resource_group: str - :ivar is_default_container: true if the app is a default - container; otherwise, false. - :vartype is_default_container: bool - :ivar default_host_name: Default hostname of the app. Read-only. - :vartype default_host_name: str - :ivar slot_swap_status: Status of the last deployment slot swap operation. - :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus - :param https_only: HttpsOnly: configures a web site to accept only https - requests. Issues redirect for - http requests - :type https_only: bool - :param redundancy_mode: Site redundancy mode. Possible values include: - 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' - :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode - :ivar in_progress_operation_id: Specifies an operation id if this site has - a pending operation. - :vartype in_progress_operation_id: str - :param geo_distributions: GeoDistributions for this site - :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] - :param identity: - :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'state': {'readonly': True}, - 'host_names': {'readonly': True}, - 'repository_site_name': {'readonly': True}, - 'usage_state': {'readonly': True}, - 'enabled_host_names': {'readonly': True}, - 'availability_state': {'readonly': True}, - 'last_modified_time_utc': {'readonly': True}, - 'traffic_manager_host_names': {'readonly': True}, - 'target_swap_slot': {'readonly': True}, - 'outbound_ip_addresses': {'readonly': True}, - 'possible_outbound_ip_addresses': {'readonly': True}, - 'suspended_till': {'readonly': True}, - 'max_number_of_workers': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'is_default_container': {'readonly': True}, - 'default_host_name': {'readonly': True}, - 'slot_swap_status': {'readonly': True}, - 'in_progress_operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, - 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, - 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, - 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, - 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, - 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, - 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, - 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, - 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, - 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, - 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, - 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, - 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, - 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, - 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, - 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, - 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, - 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, - 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, - 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, - 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, - 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, - 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, - 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, **kwargs): - super(SitePatchResource, self).__init__(**kwargs) - self.state = None - self.host_names = None - self.repository_site_name = None - self.usage_state = None - self.enabled = kwargs.get('enabled', None) - self.enabled_host_names = None - self.availability_state = None - self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) - self.server_farm_id = kwargs.get('server_farm_id', None) - self.reserved = kwargs.get('reserved', False) - self.is_xenon = kwargs.get('is_xenon', False) - self.hyper_v = kwargs.get('hyper_v', False) - self.last_modified_time_utc = None - self.site_config = kwargs.get('site_config', None) - self.traffic_manager_host_names = None - self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) - self.target_swap_slot = None - self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) - self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) - self.client_cert_enabled = kwargs.get('client_cert_enabled', None) - self.client_cert_exclusion_paths = kwargs.get('client_cert_exclusion_paths', None) - self.host_names_disabled = kwargs.get('host_names_disabled', None) - self.outbound_ip_addresses = None - self.possible_outbound_ip_addresses = None - self.container_size = kwargs.get('container_size', None) - self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) - self.suspended_till = None - self.max_number_of_workers = None - self.cloning_info = kwargs.get('cloning_info', None) - self.resource_group = None - self.is_default_container = None - self.default_host_name = None - self.slot_swap_status = None - self.https_only = kwargs.get('https_only', None) - self.redundancy_mode = kwargs.get('redundancy_mode', None) - self.in_progress_operation_id = None - self.geo_distributions = kwargs.get('geo_distributions', None) - self.identity = kwargs.get('identity', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource_py3.py deleted file mode 100644 index b0cbf7a50e0c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_patch_resource_py3.py +++ /dev/null @@ -1,257 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SitePatchResource(ProxyOnlyResource): - """ARM resource for a site. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar state: Current state of the app. - :vartype state: str - :ivar host_names: Hostnames associated with the app. - :vartype host_names: list[str] - :ivar repository_site_name: Name of the repository site. - :vartype repository_site_name: str - :ivar usage_state: State indicating whether the app has exceeded its quota - usage. Read-only. Possible values include: 'Normal', 'Exceeded' - :vartype usage_state: str or ~azure.mgmt.web.models.UsageState - :param enabled: true if the app is enabled; otherwise, - false. Setting this value to false disables the app (takes - the app offline). - :type enabled: bool - :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to - be assigned (see HostNames) AND enabled. Otherwise, - the app is not served on those hostnames. - :vartype enabled_host_names: list[str] - :ivar availability_state: Management information availability state for - the app. Possible values include: 'Normal', 'Limited', - 'DisasterRecoveryMode' - :vartype availability_state: str or - ~azure.mgmt.web.models.SiteAvailabilityState - :param host_name_ssl_states: Hostname SSL states are used to manage the - SSL bindings for app's hostnames. - :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - :param reserved: true if reserved; otherwise, - false. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . - :type is_xenon: bool - :param hyper_v: Hyper-V sandbox. Default value: False . - :type hyper_v: bool - :ivar last_modified_time_utc: Last time the app was modified, in UTC. - Read-only. - :vartype last_modified_time_utc: datetime - :param site_config: Configuration of the app. - :type site_config: ~azure.mgmt.web.models.SiteConfig - :ivar traffic_manager_host_names: Azure Traffic Manager hostnames - associated with the app. Read-only. - :vartype traffic_manager_host_names: list[str] - :param scm_site_also_stopped: true to stop SCM (KUDU) site - when the app is stopped; otherwise, false. The default is - false. Default value: False . - :type scm_site_also_stopped: bool - :ivar target_swap_slot: Specifies which deployment slot this app will swap - into. Read-only. - :vartype target_swap_slot: str - :param hosting_environment_profile: App Service Environment to use for the - app. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param client_affinity_enabled: true to enable client - affinity; false to stop sending session affinity cookies, - which route client requests in the same session to the same instance. - Default is true. - :type client_affinity_enabled: bool - :param client_cert_enabled: true to enable client certificate - authentication (TLS mutual authentication); otherwise, false. - Default is false. - :type client_cert_enabled: bool - :param client_cert_exclusion_paths: client certificate authentication - comma-separated exclusion paths - :type client_cert_exclusion_paths: str - :param host_names_disabled: true to disable the public - hostnames of the app; otherwise, false. - If true, the app is only accessible via API management - process. - :type host_names_disabled: bool - :ivar outbound_ip_addresses: List of IP addresses that the app uses for - outbound connections (e.g. database access). Includes VIPs from tenants - that site can be hosted with current settings. Read-only. - :vartype outbound_ip_addresses: str - :ivar possible_outbound_ip_addresses: List of IP addresses that the app - uses for outbound connections (e.g. database access). Includes VIPs from - all tenants. Read-only. - :vartype possible_outbound_ip_addresses: str - :param container_size: Size of the function container. - :type container_size: int - :param daily_memory_time_quota: Maximum allowed daily memory-time quota - (applicable on dynamic apps only). - :type daily_memory_time_quota: int - :ivar suspended_till: App suspended till in case memory-time quota is - exceeded. - :vartype suspended_till: datetime - :ivar max_number_of_workers: Maximum number of workers. - This only applies to Functions container. - :vartype max_number_of_workers: int - :param cloning_info: If specified during app creation, the app is cloned - from a source app. - :type cloning_info: ~azure.mgmt.web.models.CloningInfo - :ivar resource_group: Name of the resource group the app belongs to. - Read-only. - :vartype resource_group: str - :ivar is_default_container: true if the app is a default - container; otherwise, false. - :vartype is_default_container: bool - :ivar default_host_name: Default hostname of the app. Read-only. - :vartype default_host_name: str - :ivar slot_swap_status: Status of the last deployment slot swap operation. - :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus - :param https_only: HttpsOnly: configures a web site to accept only https - requests. Issues redirect for - http requests - :type https_only: bool - :param redundancy_mode: Site redundancy mode. Possible values include: - 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' - :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode - :ivar in_progress_operation_id: Specifies an operation id if this site has - a pending operation. - :vartype in_progress_operation_id: str - :param geo_distributions: GeoDistributions for this site - :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] - :param identity: - :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'state': {'readonly': True}, - 'host_names': {'readonly': True}, - 'repository_site_name': {'readonly': True}, - 'usage_state': {'readonly': True}, - 'enabled_host_names': {'readonly': True}, - 'availability_state': {'readonly': True}, - 'last_modified_time_utc': {'readonly': True}, - 'traffic_manager_host_names': {'readonly': True}, - 'target_swap_slot': {'readonly': True}, - 'outbound_ip_addresses': {'readonly': True}, - 'possible_outbound_ip_addresses': {'readonly': True}, - 'suspended_till': {'readonly': True}, - 'max_number_of_workers': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'is_default_container': {'readonly': True}, - 'default_host_name': {'readonly': True}, - 'slot_swap_status': {'readonly': True}, - 'in_progress_operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, - 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, - 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, - 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, - 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, - 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, - 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, - 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, - 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, - 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, - 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, - 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, - 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, - 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, - 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, - 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, - 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, - 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, - 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, - 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, - 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, - 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, - 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, - 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, kind: str=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, client_cert_exclusion_paths: str=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, https_only: bool=None, redundancy_mode=None, geo_distributions=None, identity=None, **kwargs) -> None: - super(SitePatchResource, self).__init__(kind=kind, **kwargs) - self.state = None - self.host_names = None - self.repository_site_name = None - self.usage_state = None - self.enabled = enabled - self.enabled_host_names = None - self.availability_state = None - self.host_name_ssl_states = host_name_ssl_states - self.server_farm_id = server_farm_id - self.reserved = reserved - self.is_xenon = is_xenon - self.hyper_v = hyper_v - self.last_modified_time_utc = None - self.site_config = site_config - self.traffic_manager_host_names = None - self.scm_site_also_stopped = scm_site_also_stopped - self.target_swap_slot = None - self.hosting_environment_profile = hosting_environment_profile - self.client_affinity_enabled = client_affinity_enabled - self.client_cert_enabled = client_cert_enabled - self.client_cert_exclusion_paths = client_cert_exclusion_paths - self.host_names_disabled = host_names_disabled - self.outbound_ip_addresses = None - self.possible_outbound_ip_addresses = None - self.container_size = container_size - self.daily_memory_time_quota = daily_memory_time_quota - self.suspended_till = None - self.max_number_of_workers = None - self.cloning_info = cloning_info - self.resource_group = None - self.is_default_container = None - self.default_host_name = None - self.slot_swap_status = None - self.https_only = https_only - self.redundancy_mode = redundancy_mode - self.in_progress_operation_id = None - self.geo_distributions = geo_distributions - self.identity = identity diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag.py deleted file mode 100644 index 717ea82d2c8a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SitePhpErrorLogFlag(ProxyOnlyResource): - """Used for getting PHP error logging flag. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param local_log_errors: Local log_errors setting. - :type local_log_errors: str - :param master_log_errors: Master log_errors setting. - :type master_log_errors: str - :param local_log_errors_max_length: Local log_errors_max_len setting. - :type local_log_errors_max_length: str - :param master_log_errors_max_length: Master log_errors_max_len setting. - :type master_log_errors_max_length: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, - 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, - 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, - 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SitePhpErrorLogFlag, self).__init__(**kwargs) - self.local_log_errors = kwargs.get('local_log_errors', None) - self.master_log_errors = kwargs.get('master_log_errors', None) - self.local_log_errors_max_length = kwargs.get('local_log_errors_max_length', None) - self.master_log_errors_max_length = kwargs.get('master_log_errors_max_length', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag_py3.py deleted file mode 100644 index d13f3def0fe5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_php_error_log_flag_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SitePhpErrorLogFlag(ProxyOnlyResource): - """Used for getting PHP error logging flag. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param local_log_errors: Local log_errors setting. - :type local_log_errors: str - :param master_log_errors: Master log_errors setting. - :type master_log_errors: str - :param local_log_errors_max_length: Local log_errors_max_len setting. - :type local_log_errors_max_length: str - :param master_log_errors_max_length: Master log_errors_max_len setting. - :type master_log_errors_max_length: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, - 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, - 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, - 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, local_log_errors: str=None, master_log_errors: str=None, local_log_errors_max_length: str=None, master_log_errors_max_length: str=None, **kwargs) -> None: - super(SitePhpErrorLogFlag, self).__init__(kind=kind, **kwargs) - self.local_log_errors = local_log_errors - self.master_log_errors = master_log_errors - self.local_log_errors_max_length = local_log_errors_max_length - self.master_log_errors_max_length = master_log_errors_max_length diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_py3.py deleted file mode 100644 index 0f00fc18257d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_py3.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 Site(Resource): - """A web app, a mobile app backend, or an API app. - - 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 - :param kind: Kind of resource. - :type kind: str - :param location: Required. Resource Location. - :type location: str - :ivar type: Resource type. - :vartype type: str - :param tags: Resource tags. - :type tags: dict[str, str] - :ivar state: Current state of the app. - :vartype state: str - :ivar host_names: Hostnames associated with the app. - :vartype host_names: list[str] - :ivar repository_site_name: Name of the repository site. - :vartype repository_site_name: str - :ivar usage_state: State indicating whether the app has exceeded its quota - usage. Read-only. Possible values include: 'Normal', 'Exceeded' - :vartype usage_state: str or ~azure.mgmt.web.models.UsageState - :param enabled: true if the app is enabled; otherwise, - false. Setting this value to false disables the app (takes - the app offline). - :type enabled: bool - :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to - be assigned (see HostNames) AND enabled. Otherwise, - the app is not served on those hostnames. - :vartype enabled_host_names: list[str] - :ivar availability_state: Management information availability state for - the app. Possible values include: 'Normal', 'Limited', - 'DisasterRecoveryMode' - :vartype availability_state: str or - ~azure.mgmt.web.models.SiteAvailabilityState - :param host_name_ssl_states: Hostname SSL states are used to manage the - SSL bindings for app's hostnames. - :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] - :param server_farm_id: Resource ID of the associated App Service plan, - formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - :type server_farm_id: str - :param reserved: true if reserved; otherwise, - false. Default value: False . - :type reserved: bool - :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . - :type is_xenon: bool - :param hyper_v: Hyper-V sandbox. Default value: False . - :type hyper_v: bool - :ivar last_modified_time_utc: Last time the app was modified, in UTC. - Read-only. - :vartype last_modified_time_utc: datetime - :param site_config: Configuration of the app. - :type site_config: ~azure.mgmt.web.models.SiteConfig - :ivar traffic_manager_host_names: Azure Traffic Manager hostnames - associated with the app. Read-only. - :vartype traffic_manager_host_names: list[str] - :param scm_site_also_stopped: true to stop SCM (KUDU) site - when the app is stopped; otherwise, false. The default is - false. Default value: False . - :type scm_site_also_stopped: bool - :ivar target_swap_slot: Specifies which deployment slot this app will swap - into. Read-only. - :vartype target_swap_slot: str - :param hosting_environment_profile: App Service Environment to use for the - app. - :type hosting_environment_profile: - ~azure.mgmt.web.models.HostingEnvironmentProfile - :param client_affinity_enabled: true to enable client - affinity; false to stop sending session affinity cookies, - which route client requests in the same session to the same instance. - Default is true. - :type client_affinity_enabled: bool - :param client_cert_enabled: true to enable client certificate - authentication (TLS mutual authentication); otherwise, false. - Default is false. - :type client_cert_enabled: bool - :param client_cert_exclusion_paths: client certificate authentication - comma-separated exclusion paths - :type client_cert_exclusion_paths: str - :param host_names_disabled: true to disable the public - hostnames of the app; otherwise, false. - If true, the app is only accessible via API management - process. - :type host_names_disabled: bool - :ivar outbound_ip_addresses: List of IP addresses that the app uses for - outbound connections (e.g. database access). Includes VIPs from tenants - that site can be hosted with current settings. Read-only. - :vartype outbound_ip_addresses: str - :ivar possible_outbound_ip_addresses: List of IP addresses that the app - uses for outbound connections (e.g. database access). Includes VIPs from - all tenants. Read-only. - :vartype possible_outbound_ip_addresses: str - :param container_size: Size of the function container. - :type container_size: int - :param daily_memory_time_quota: Maximum allowed daily memory-time quota - (applicable on dynamic apps only). - :type daily_memory_time_quota: int - :ivar suspended_till: App suspended till in case memory-time quota is - exceeded. - :vartype suspended_till: datetime - :ivar max_number_of_workers: Maximum number of workers. - This only applies to Functions container. - :vartype max_number_of_workers: int - :param cloning_info: If specified during app creation, the app is cloned - from a source app. - :type cloning_info: ~azure.mgmt.web.models.CloningInfo - :ivar resource_group: Name of the resource group the app belongs to. - Read-only. - :vartype resource_group: str - :ivar is_default_container: true if the app is a default - container; otherwise, false. - :vartype is_default_container: bool - :ivar default_host_name: Default hostname of the app. Read-only. - :vartype default_host_name: str - :ivar slot_swap_status: Status of the last deployment slot swap operation. - :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus - :param https_only: HttpsOnly: configures a web site to accept only https - requests. Issues redirect for - http requests - :type https_only: bool - :param redundancy_mode: Site redundancy mode. Possible values include: - 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' - :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode - :ivar in_progress_operation_id: Specifies an operation id if this site has - a pending operation. - :vartype in_progress_operation_id: str - :param geo_distributions: GeoDistributions for this site - :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] - :param identity: - :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - 'type': {'readonly': True}, - 'state': {'readonly': True}, - 'host_names': {'readonly': True}, - 'repository_site_name': {'readonly': True}, - 'usage_state': {'readonly': True}, - 'enabled_host_names': {'readonly': True}, - 'availability_state': {'readonly': True}, - 'last_modified_time_utc': {'readonly': True}, - 'traffic_manager_host_names': {'readonly': True}, - 'target_swap_slot': {'readonly': True}, - 'outbound_ip_addresses': {'readonly': True}, - 'possible_outbound_ip_addresses': {'readonly': True}, - 'suspended_till': {'readonly': True}, - 'max_number_of_workers': {'readonly': True}, - 'resource_group': {'readonly': True}, - 'is_default_container': {'readonly': True}, - 'default_host_name': {'readonly': True}, - 'slot_swap_status': {'readonly': True}, - 'in_progress_operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, - 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, - 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, - 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, - 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, - 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, - 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, - 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, - 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, - 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, - 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, - 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, - 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, - 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, - 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, - 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, - 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, - 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, - 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, - 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, - 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, - 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, - 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, - 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, - 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, - 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, - 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, - 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, - 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, - 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, - 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, - 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - } - - def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, client_cert_exclusion_paths: str=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, https_only: bool=None, redundancy_mode=None, geo_distributions=None, identity=None, **kwargs) -> None: - super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) - self.state = None - self.host_names = None - self.repository_site_name = None - self.usage_state = None - self.enabled = enabled - self.enabled_host_names = None - self.availability_state = None - self.host_name_ssl_states = host_name_ssl_states - self.server_farm_id = server_farm_id - self.reserved = reserved - self.is_xenon = is_xenon - self.hyper_v = hyper_v - self.last_modified_time_utc = None - self.site_config = site_config - self.traffic_manager_host_names = None - self.scm_site_also_stopped = scm_site_also_stopped - self.target_swap_slot = None - self.hosting_environment_profile = hosting_environment_profile - self.client_affinity_enabled = client_affinity_enabled - self.client_cert_enabled = client_cert_enabled - self.client_cert_exclusion_paths = client_cert_exclusion_paths - self.host_names_disabled = host_names_disabled - self.outbound_ip_addresses = None - self.possible_outbound_ip_addresses = None - self.container_size = container_size - self.daily_memory_time_quota = daily_memory_time_quota - self.suspended_till = None - self.max_number_of_workers = None - self.cloning_info = cloning_info - self.resource_group = None - self.is_default_container = None - self.default_host_name = None - self.slot_swap_status = None - self.https_only = https_only - self.redundancy_mode = redundancy_mode - self.in_progress_operation_id = None - self.geo_distributions = geo_distributions - self.identity = identity diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal.py deleted file mode 100644 index c06f92634aaa..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteSeal(Model): - """Site seal. - - All required parameters must be populated in order to send to Azure. - - :param html: Required. HTML snippet - :type html: str - """ - - _validation = { - 'html': {'required': True}, - } - - _attribute_map = { - 'html': {'key': 'html', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteSeal, self).__init__(**kwargs) - self.html = kwargs.get('html', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_py3.py deleted file mode 100644 index 141f0f214753..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteSeal(Model): - """Site seal. - - All required parameters must be populated in order to send to Azure. - - :param html: Required. HTML snippet - :type html: str - """ - - _validation = { - 'html': {'required': True}, - } - - _attribute_map = { - 'html': {'key': 'html', 'type': 'str'}, - } - - def __init__(self, *, html: str, **kwargs) -> None: - super(SiteSeal, self).__init__(**kwargs) - self.html = html diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request.py deleted file mode 100644 index 039baebd82e9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteSealRequest(Model): - """Site seal request. - - :param light_theme: If true use the light color theme for - site seal; otherwise, use the default color theme. - :type light_theme: bool - :param locale: Locale of site seal. - :type locale: str - """ - - _attribute_map = { - 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, - 'locale': {'key': 'locale', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SiteSealRequest, self).__init__(**kwargs) - self.light_theme = kwargs.get('light_theme', None) - self.locale = kwargs.get('locale', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request_py3.py deleted file mode 100644 index 033e32201928..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_seal_request_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SiteSealRequest(Model): - """Site seal request. - - :param light_theme: If true use the light color theme for - site seal; otherwise, use the default color theme. - :type light_theme: bool - :param locale: Locale of site seal. - :type locale: str - """ - - _attribute_map = { - 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, - 'locale': {'key': 'locale', 'type': 'str'}, - } - - def __init__(self, *, light_theme: bool=None, locale: str=None, **kwargs) -> None: - super(SiteSealRequest, self).__init__(**kwargs) - self.light_theme = light_theme - self.locale = locale diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control.py deleted file mode 100644 index 97e16982b305..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SiteSourceControl(ProxyOnlyResource): - """Source control configuration for an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param repo_url: Repository or source control URL. - :type repo_url: str - :param branch: Name of branch to use for deployment. - :type branch: str - :param is_manual_integration: true to limit to manual - integration; false to enable continuous integration (which - configures webhooks into online repos like GitHub). - :type is_manual_integration: bool - :param deployment_rollback_enabled: true to enable deployment - rollback; otherwise, false. - :type deployment_rollback_enabled: bool - :param is_mercurial: true for a Mercurial repository; - false for a Git repository. - :type is_mercurial: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, - 'branch': {'key': 'properties.branch', 'type': 'str'}, - 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, - 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, - 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(SiteSourceControl, self).__init__(**kwargs) - self.repo_url = kwargs.get('repo_url', None) - self.branch = kwargs.get('branch', None) - self.is_manual_integration = kwargs.get('is_manual_integration', None) - self.deployment_rollback_enabled = kwargs.get('deployment_rollback_enabled', None) - self.is_mercurial = kwargs.get('is_mercurial', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control_py3.py deleted file mode 100644 index 7397edd38638..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_source_control_py3.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SiteSourceControl(ProxyOnlyResource): - """Source control configuration for an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param repo_url: Repository or source control URL. - :type repo_url: str - :param branch: Name of branch to use for deployment. - :type branch: str - :param is_manual_integration: true to limit to manual - integration; false to enable continuous integration (which - configures webhooks into online repos like GitHub). - :type is_manual_integration: bool - :param deployment_rollback_enabled: true to enable deployment - rollback; otherwise, false. - :type deployment_rollback_enabled: bool - :param is_mercurial: true for a Mercurial repository; - false for a Git repository. - :type is_mercurial: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, - 'branch': {'key': 'properties.branch', 'type': 'str'}, - 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, - 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, - 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, repo_url: str=None, branch: str=None, is_manual_integration: bool=None, deployment_rollback_enabled: bool=None, is_mercurial: bool=None, **kwargs) -> None: - super(SiteSourceControl, self).__init__(kind=kind, **kwargs) - self.repo_url = repo_url - self.branch = branch - self.is_manual_integration = is_manual_integration - self.deployment_rollback_enabled = deployment_rollback_enabled - self.is_mercurial = is_mercurial diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity.py deleted file mode 100644 index 1badcfdc803c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuCapacity(Model): - """Description of the App Service plan scale options. - - :param minimum: Minimum number of workers for this App Service plan SKU. - :type minimum: int - :param maximum: Maximum number of workers for this App Service plan SKU. - :type maximum: int - :param default: Default number of workers for this App Service plan SKU. - :type default: int - :param scale_type: Available scale configurations for an App Service plan. - :type scale_type: str - """ - - _attribute_map = { - 'minimum': {'key': 'minimum', 'type': 'int'}, - 'maximum': {'key': 'maximum', 'type': 'int'}, - 'default': {'key': 'default', 'type': 'int'}, - 'scale_type': {'key': 'scaleType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SkuCapacity, self).__init__(**kwargs) - self.minimum = kwargs.get('minimum', None) - self.maximum = kwargs.get('maximum', None) - self.default = kwargs.get('default', None) - self.scale_type = kwargs.get('scale_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity_py3.py deleted file mode 100644 index 527a1414a2d5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_capacity_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuCapacity(Model): - """Description of the App Service plan scale options. - - :param minimum: Minimum number of workers for this App Service plan SKU. - :type minimum: int - :param maximum: Maximum number of workers for this App Service plan SKU. - :type maximum: int - :param default: Default number of workers for this App Service plan SKU. - :type default: int - :param scale_type: Available scale configurations for an App Service plan. - :type scale_type: str - """ - - _attribute_map = { - 'minimum': {'key': 'minimum', 'type': 'int'}, - 'maximum': {'key': 'maximum', 'type': 'int'}, - 'default': {'key': 'default', 'type': 'int'}, - 'scale_type': {'key': 'scaleType', 'type': 'str'}, - } - - def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: - super(SkuCapacity, self).__init__(**kwargs) - self.minimum = minimum - self.maximum = maximum - self.default = default - self.scale_type = scale_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description.py deleted file mode 100644 index 3e086dfb73d9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuDescription(Model): - """Description of a SKU for a scalable resource. - - :param name: Name of the resource SKU. - :type name: str - :param tier: Service tier of the resource SKU. - :type tier: str - :param size: Size specifier of the resource SKU. - :type size: str - :param family: Family code of the resource SKU. - :type family: str - :param capacity: Current number of instances assigned to the resource. - :type capacity: int - :param sku_capacity: Min, max, and default scale values of the SKU. - :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity - :param locations: Locations of the SKU. - :type locations: list[str] - :param capabilities: Capabilities of the SKU, e.g., is traffic manager - enabled? - :type capabilities: list[~azure.mgmt.web.models.Capability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - } - - def __init__(self, **kwargs): - super(SkuDescription, 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.capacity = kwargs.get('capacity', None) - self.sku_capacity = kwargs.get('sku_capacity', None) - self.locations = kwargs.get('locations', None) - self.capabilities = kwargs.get('capabilities', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description_py3.py deleted file mode 100644 index 1c23aeb7e2c5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_description_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuDescription(Model): - """Description of a SKU for a scalable resource. - - :param name: Name of the resource SKU. - :type name: str - :param tier: Service tier of the resource SKU. - :type tier: str - :param size: Size specifier of the resource SKU. - :type size: str - :param family: Family code of the resource SKU. - :type family: str - :param capacity: Current number of instances assigned to the resource. - :type capacity: int - :param sku_capacity: Min, max, and default scale values of the SKU. - :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity - :param locations: Locations of the SKU. - :type locations: list[str] - :param capabilities: Capabilities of the SKU, e.g., is traffic manager - enabled? - :type capabilities: list[~azure.mgmt.web.models.Capability] - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'size': {'key': 'size', 'type': 'str'}, - 'family': {'key': 'family', 'type': 'str'}, - 'capacity': {'key': 'capacity', 'type': 'int'}, - 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - } - - def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: - super(SkuDescription, self).__init__(**kwargs) - self.name = name - self.tier = tier - self.size = size - self.family = family - self.capacity = capacity - self.sku_capacity = sku_capacity - self.locations = locations - self.capabilities = capabilities diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info.py deleted file mode 100644 index b4935ef3a0e8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuInfo(Model): - """SKU discovery information. - - :param resource_type: Resource type that this SKU applies to. - :type resource_type: str - :param sku: Name and tier of the SKU. - :type sku: ~azure.mgmt.web.models.SkuDescription - :param capacity: Min, max, and default scale values of the SKU. - :type capacity: ~azure.mgmt.web.models.SkuCapacity - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, - } - - def __init__(self, **kwargs): - super(SkuInfo, self).__init__(**kwargs) - self.resource_type = kwargs.get('resource_type', None) - self.sku = kwargs.get('sku', None) - self.capacity = kwargs.get('capacity', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_paged.py deleted file mode 100644 index 92367e2b0703..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SkuInfoPaged(Paged): - """ - A paging container for iterating over a list of :class:`SkuInfo ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SkuInfo]'} - } - - def __init__(self, *args, **kwargs): - - super(SkuInfoPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_py3.py deleted file mode 100644 index 58c940e0c367..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_info_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuInfo(Model): - """SKU discovery information. - - :param resource_type: Resource type that this SKU applies to. - :type resource_type: str - :param sku: Name and tier of the SKU. - :type sku: ~azure.mgmt.web.models.SkuDescription - :param capacity: Min, max, and default scale values of the SKU. - :type capacity: ~azure.mgmt.web.models.SkuCapacity - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, - } - - def __init__(self, *, resource_type: str=None, sku=None, capacity=None, **kwargs) -> None: - super(SkuInfo, self).__init__(**kwargs) - self.resource_type = resource_type - self.sku = sku - self.capacity = capacity diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos.py deleted file mode 100644 index 3c1c17aa7392..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuInfos(Model): - """Collection of SKU information. - - :param resource_type: Resource type that this SKU applies to. - :type resource_type: str - :param skus: List of SKUs the subscription is able to use. - :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, - } - - def __init__(self, **kwargs): - super(SkuInfos, self).__init__(**kwargs) - self.resource_type = kwargs.get('resource_type', None) - self.skus = kwargs.get('skus', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos_py3.py deleted file mode 100644 index e51bc7df9809..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/sku_infos_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SkuInfos(Model): - """Collection of SKU information. - - :param resource_type: Resource type that this SKU applies to. - :type resource_type: str - :param skus: List of SKUs the subscription is able to use. - :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] - """ - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, - } - - def __init__(self, *, resource_type: str=None, skus=None, **kwargs) -> None: - super(SkuInfos, self).__init__(**kwargs) - self.resource_type = resource_type - self.skus = skus diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource.py deleted file mode 100644 index 072c2237aa45..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SlotConfigNamesResource(ProxyOnlyResource): - """Slot Config names azure 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param connection_string_names: List of connection string names. - :type connection_string_names: list[str] - :param app_setting_names: List of application settings names. - :type app_setting_names: list[str] - :param azure_storage_config_names: List of external Azure storage account - identifiers. - :type azure_storage_config_names: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, - 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, - 'azure_storage_config_names': {'key': 'properties.azureStorageConfigNames', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(SlotConfigNamesResource, self).__init__(**kwargs) - self.connection_string_names = kwargs.get('connection_string_names', None) - self.app_setting_names = kwargs.get('app_setting_names', None) - self.azure_storage_config_names = kwargs.get('azure_storage_config_names', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource_py3.py deleted file mode 100644 index 44e1587a66f7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_config_names_resource_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SlotConfigNamesResource(ProxyOnlyResource): - """Slot Config names azure 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param connection_string_names: List of connection string names. - :type connection_string_names: list[str] - :param app_setting_names: List of application settings names. - :type app_setting_names: list[str] - :param azure_storage_config_names: List of external Azure storage account - identifiers. - :type azure_storage_config_names: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, - 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, - 'azure_storage_config_names': {'key': 'properties.azureStorageConfigNames', 'type': '[str]'}, - } - - def __init__(self, *, kind: str=None, connection_string_names=None, app_setting_names=None, azure_storage_config_names=None, **kwargs) -> None: - super(SlotConfigNamesResource, self).__init__(kind=kind, **kwargs) - self.connection_string_names = connection_string_names - self.app_setting_names = app_setting_names - self.azure_storage_config_names = azure_storage_config_names diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference.py deleted file mode 100644 index 26b9c0e541b0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SlotDifference(ProxyOnlyResource): - """A setting difference between two deployment slots of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar level: Level of the difference: Information, Warning or Error. - :vartype level: str - :ivar setting_type: The type of the setting: General, AppSetting or - ConnectionString. - :vartype setting_type: str - :ivar diff_rule: Rule that describes how to process the setting difference - during a slot swap. - :vartype diff_rule: str - :ivar setting_name: Name of the setting. - :vartype setting_name: str - :ivar value_in_current_slot: Value of the setting in the current slot. - :vartype value_in_current_slot: str - :ivar value_in_target_slot: Value of the setting in the target slot. - :vartype value_in_target_slot: str - :ivar description: Description of the setting difference. - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'level': {'readonly': True}, - 'setting_type': {'readonly': True}, - 'diff_rule': {'readonly': True}, - 'setting_name': {'readonly': True}, - 'value_in_current_slot': {'readonly': True}, - 'value_in_target_slot': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'str'}, - 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, - 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, - 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, - 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, - 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SlotDifference, self).__init__(**kwargs) - self.level = None - self.setting_type = None - self.diff_rule = None - self.setting_name = None - self.value_in_current_slot = None - self.value_in_target_slot = None - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_paged.py deleted file mode 100644 index 5f3817a0fdd3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SlotDifferencePaged(Paged): - """ - A paging container for iterating over a list of :class:`SlotDifference ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SlotDifference]'} - } - - def __init__(self, *args, **kwargs): - - super(SlotDifferencePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_py3.py deleted file mode 100644 index e2cb4e6fc1c5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_difference_py3.py +++ /dev/null @@ -1,82 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SlotDifference(ProxyOnlyResource): - """A setting difference between two deployment slots of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar level: Level of the difference: Information, Warning or Error. - :vartype level: str - :ivar setting_type: The type of the setting: General, AppSetting or - ConnectionString. - :vartype setting_type: str - :ivar diff_rule: Rule that describes how to process the setting difference - during a slot swap. - :vartype diff_rule: str - :ivar setting_name: Name of the setting. - :vartype setting_name: str - :ivar value_in_current_slot: Value of the setting in the current slot. - :vartype value_in_current_slot: str - :ivar value_in_target_slot: Value of the setting in the target slot. - :vartype value_in_target_slot: str - :ivar description: Description of the setting difference. - :vartype description: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'level': {'readonly': True}, - 'setting_type': {'readonly': True}, - 'diff_rule': {'readonly': True}, - 'setting_name': {'readonly': True}, - 'value_in_current_slot': {'readonly': True}, - 'value_in_target_slot': {'readonly': True}, - 'description': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'level': {'key': 'properties.level', 'type': 'str'}, - 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, - 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, - 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, - 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, - 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(SlotDifference, self).__init__(kind=kind, **kwargs) - self.level = None - self.setting_type = None - self.diff_rule = None - self.setting_name = None - self.value_in_current_slot = None - self.value_in_target_slot = None - self.description = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status.py deleted file mode 100644 index ec53d53176b3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SlotSwapStatus(Model): - """The status of the last successful slot swap operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp_utc: The time the last successful slot swap completed. - :vartype timestamp_utc: datetime - :ivar source_slot_name: The source slot of the last swap operation. - :vartype source_slot_name: str - :ivar destination_slot_name: The destination slot of the last swap - operation. - :vartype destination_slot_name: str - """ - - _validation = { - 'timestamp_utc': {'readonly': True}, - 'source_slot_name': {'readonly': True}, - 'destination_slot_name': {'readonly': True}, - } - - _attribute_map = { - 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, - 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, - 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SlotSwapStatus, self).__init__(**kwargs) - self.timestamp_utc = None - self.source_slot_name = None - self.destination_slot_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status_py3.py deleted file mode 100644 index 3b761bdd0f62..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slot_swap_status_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SlotSwapStatus(Model): - """The status of the last successful slot swap operation. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar timestamp_utc: The time the last successful slot swap completed. - :vartype timestamp_utc: datetime - :ivar source_slot_name: The source slot of the last swap operation. - :vartype source_slot_name: str - :ivar destination_slot_name: The destination slot of the last swap - operation. - :vartype destination_slot_name: str - """ - - _validation = { - 'timestamp_utc': {'readonly': True}, - 'source_slot_name': {'readonly': True}, - 'destination_slot_name': {'readonly': True}, - } - - _attribute_map = { - 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, - 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, - 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(SlotSwapStatus, self).__init__(**kwargs) - self.timestamp_utc = None - self.source_slot_name = None - self.destination_slot_name = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger.py deleted file mode 100644 index b2e7cb1168f3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SlowRequestsBasedTrigger(Model): - """Trigger based on request execution time. - - :param time_taken: Time taken. - :type time_taken: str - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'time_taken': {'key': 'timeTaken', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SlowRequestsBasedTrigger, self).__init__(**kwargs) - self.time_taken = kwargs.get('time_taken', None) - self.count = kwargs.get('count', None) - self.time_interval = kwargs.get('time_interval', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger_py3.py deleted file mode 100644 index 5288e5b100d6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/slow_requests_based_trigger_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SlowRequestsBasedTrigger(Model): - """Trigger based on request execution time. - - :param time_taken: Time taken. - :type time_taken: str - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'time_taken': {'key': 'timeTaken', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: - super(SlowRequestsBasedTrigger, self).__init__(**kwargs) - self.time_taken = time_taken - self.count = count - self.time_interval = time_interval diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot.py deleted file mode 100644 index fb9d95fd5ff7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class Snapshot(ProxyOnlyResource): - """A snapshot of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar time: The time the snapshot was taken. - :vartype time: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'time': {'key': 'properties.time', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Snapshot, self).__init__(**kwargs) - self.time = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_paged.py deleted file mode 100644 index 6b3fcd1e5fea..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SnapshotPaged(Paged): - """ - A paging container for iterating over a list of :class:`Snapshot ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Snapshot]'} - } - - def __init__(self, *args, **kwargs): - - super(SnapshotPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_py3.py deleted file mode 100644 index d1837cfef8bd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class Snapshot(ProxyOnlyResource): - """A snapshot of an app. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar time: The time the snapshot was taken. - :vartype time: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'time': {'key': 'properties.time', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(Snapshot, self).__init__(kind=kind, **kwargs) - self.time = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source.py deleted file mode 100644 index 94034c76d0ed..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SnapshotRecoverySource(Model): - """Specifies the web app that snapshot contents will be retrieved from. - - :param location: Geographical location of the source web app, e.g. - SouthEastAsia, SouthCentralUS - :type location: str - :param id: ARM resource ID of the source app. - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - for production slots and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - for other slots. - :type id: str - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(SnapshotRecoverySource, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.id = kwargs.get('id', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source_py3.py deleted file mode 100644 index bfb6ee873dae..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_recovery_source_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class SnapshotRecoverySource(Model): - """Specifies the web app that snapshot contents will be retrieved from. - - :param location: Geographical location of the source web app, e.g. - SouthEastAsia, SouthCentralUS - :type location: str - :param id: ARM resource ID of the source app. - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} - for production slots and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} - for other slots. - :type id: str - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: - super(SnapshotRecoverySource, self).__init__(**kwargs) - self.location = location - self.id = id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request.py deleted file mode 100644 index 7924152d75a8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SnapshotRestoreRequest(ProxyOnlyResource): - """Details about app recovery operation. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param snapshot_time: Point in time in which the app restore should be - done, formatted as a DateTime string. - :type snapshot_time: str - :param recovery_source: Optional. Specifies the web app that snapshot - contents will be retrieved from. - If empty, the targeted web app will be used as the source. - :type recovery_source: ~azure.mgmt.web.models.SnapshotRecoverySource - :param overwrite: Required. If true the restore operation can - overwrite source app; otherwise, false. - :type overwrite: bool - :param recover_configuration: If true, site configuration, in addition to - content, will be reverted. - :type recover_configuration: bool - :param ignore_conflicting_host_names: If true, custom hostname conflicts - will be ignored when recovering to a target web app. - This setting is only necessary when RecoverConfiguration is enabled. - :type ignore_conflicting_host_names: bool - :param use_dr_secondary: If true, the snapshot is retrieved from - DRSecondary endpoint. - :type use_dr_secondary: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'overwrite': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, - 'recovery_source': {'key': 'properties.recoverySource', 'type': 'SnapshotRecoverySource'}, - 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, - 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, - 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, - 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(SnapshotRestoreRequest, self).__init__(**kwargs) - self.snapshot_time = kwargs.get('snapshot_time', None) - self.recovery_source = kwargs.get('recovery_source', None) - self.overwrite = kwargs.get('overwrite', None) - self.recover_configuration = kwargs.get('recover_configuration', None) - self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) - self.use_dr_secondary = kwargs.get('use_dr_secondary', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request_py3.py deleted file mode 100644 index 2d6c5ca1dcd5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/snapshot_restore_request_py3.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SnapshotRestoreRequest(ProxyOnlyResource): - """Details about app recovery operation. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param snapshot_time: Point in time in which the app restore should be - done, formatted as a DateTime string. - :type snapshot_time: str - :param recovery_source: Optional. Specifies the web app that snapshot - contents will be retrieved from. - If empty, the targeted web app will be used as the source. - :type recovery_source: ~azure.mgmt.web.models.SnapshotRecoverySource - :param overwrite: Required. If true the restore operation can - overwrite source app; otherwise, false. - :type overwrite: bool - :param recover_configuration: If true, site configuration, in addition to - content, will be reverted. - :type recover_configuration: bool - :param ignore_conflicting_host_names: If true, custom hostname conflicts - will be ignored when recovering to a target web app. - This setting is only necessary when RecoverConfiguration is enabled. - :type ignore_conflicting_host_names: bool - :param use_dr_secondary: If true, the snapshot is retrieved from - DRSecondary endpoint. - :type use_dr_secondary: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'overwrite': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, - 'recovery_source': {'key': 'properties.recoverySource', 'type': 'SnapshotRecoverySource'}, - 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, - 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, - 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, - 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, - } - - def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_source=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, use_dr_secondary: bool=None, **kwargs) -> None: - super(SnapshotRestoreRequest, self).__init__(kind=kind, **kwargs) - self.snapshot_time = snapshot_time - self.recovery_source = recovery_source - self.overwrite = overwrite - self.recover_configuration = recover_configuration - self.ignore_conflicting_host_names = ignore_conflicting_host_names - self.use_dr_secondary = use_dr_secondary diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution.py deleted file mode 100644 index cca3a08776a4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Solution(Model): - """Class Representing Solution for problems detected. - - :param id: Solution Id. - :type id: float - :param display_name: Display Name of the solution - :type display_name: str - :param order: Order of the solution. - :type order: float - :param description: Description of the solution - :type description: str - :param type: Type of Solution. Possible values include: 'QuickSolution', - 'DeepInvestigation', 'BestPractices' - :type type: str or ~azure.mgmt.web.models.SolutionType - :param data: Solution Data. - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param metadata: Solution Metadata. - :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'float'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'order': {'key': 'order', 'type': 'float'}, - 'description': {'key': 'description', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'SolutionType'}, - 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, - 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, - } - - def __init__(self, **kwargs): - super(Solution, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.display_name = kwargs.get('display_name', None) - self.order = kwargs.get('order', None) - self.description = kwargs.get('description', None) - self.type = kwargs.get('type', None) - self.data = kwargs.get('data', None) - self.metadata = kwargs.get('metadata', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution_py3.py deleted file mode 100644 index ebc38ca34a18..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/solution_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Solution(Model): - """Class Representing Solution for problems detected. - - :param id: Solution Id. - :type id: float - :param display_name: Display Name of the solution - :type display_name: str - :param order: Order of the solution. - :type order: float - :param description: Description of the solution - :type description: str - :param type: Type of Solution. Possible values include: 'QuickSolution', - 'DeepInvestigation', 'BestPractices' - :type type: str or ~azure.mgmt.web.models.SolutionType - :param data: Solution Data. - :type data: list[list[~azure.mgmt.web.models.NameValuePair]] - :param metadata: Solution Metadata. - :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'float'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'order': {'key': 'order', 'type': 'float'}, - 'description': {'key': 'description', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'SolutionType'}, - 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, - 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, - } - - def __init__(self, *, id: float=None, display_name: str=None, order: float=None, description: str=None, type=None, data=None, metadata=None, **kwargs) -> None: - super(Solution, self).__init__(**kwargs) - self.id = id - self.display_name = display_name - self.order = order - self.description = description - self.type = type - self.data = data - self.metadata = metadata diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control.py deleted file mode 100644 index b6897f5cd8f7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SourceControl(ProxyOnlyResource): - """The source control OAuth token. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param token: OAuth access token. - :type token: str - :param token_secret: OAuth access token secret. - :type token_secret: str - :param refresh_token: OAuth refresh token. - :type refresh_token: str - :param expiration_time: OAuth token expiration. - :type expiration_time: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'token': {'key': 'properties.token', 'type': 'str'}, - 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, - 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - } - - def __init__(self, **kwargs): - super(SourceControl, self).__init__(**kwargs) - self.token = kwargs.get('token', None) - self.token_secret = kwargs.get('token_secret', None) - self.refresh_token = kwargs.get('refresh_token', None) - self.expiration_time = kwargs.get('expiration_time', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_paged.py deleted file mode 100644 index 5a13849dcd65..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 SourceControlPaged(Paged): - """ - A paging container for iterating over a list of :class:`SourceControl ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SourceControl]'} - } - - def __init__(self, *args, **kwargs): - - super(SourceControlPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_py3.py deleted file mode 100644 index be9ec85d95b1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/source_control_py3.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SourceControl(ProxyOnlyResource): - """The source control OAuth token. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param token: OAuth access token. - :type token: str - :param token_secret: OAuth access token secret. - :type token_secret: str - :param refresh_token: OAuth refresh token. - :type refresh_token: str - :param expiration_time: OAuth token expiration. - :type expiration_time: datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'token': {'key': 'properties.token', 'type': 'str'}, - 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, - 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, - 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, - } - - def __init__(self, *, kind: str=None, token: str=None, token_secret: str=None, refresh_token: str=None, expiration_time=None, **kwargs) -> None: - super(SourceControl, self).__init__(kind=kind, **kwargs) - self.token = token - self.token_secret = token_secret - self.refresh_token = refresh_token - self.expiration_time = expiration_time diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version.py deleted file mode 100644 index 44390b4d28c6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StackMajorVersion(Model): - """Application stack major version. - - :param display_version: Application stack major version (display only). - :type display_version: str - :param runtime_version: Application stack major version (runtime only). - :type runtime_version: str - :param is_default: true if this is the default major version; - otherwise, false. - :type is_default: bool - :param minor_versions: Minor versions associated with the major version. - :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] - :param application_insights: true if this supports - Application Insights; otherwise, false. - :type application_insights: bool - """ - - _attribute_map = { - 'display_version': {'key': 'displayVersion', 'type': 'str'}, - 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, - 'is_default': {'key': 'isDefault', 'type': 'bool'}, - 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, - 'application_insights': {'key': 'applicationInsights', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(StackMajorVersion, self).__init__(**kwargs) - self.display_version = kwargs.get('display_version', None) - self.runtime_version = kwargs.get('runtime_version', None) - self.is_default = kwargs.get('is_default', None) - self.minor_versions = kwargs.get('minor_versions', None) - self.application_insights = kwargs.get('application_insights', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version_py3.py deleted file mode 100644 index 29563e003781..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_major_version_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StackMajorVersion(Model): - """Application stack major version. - - :param display_version: Application stack major version (display only). - :type display_version: str - :param runtime_version: Application stack major version (runtime only). - :type runtime_version: str - :param is_default: true if this is the default major version; - otherwise, false. - :type is_default: bool - :param minor_versions: Minor versions associated with the major version. - :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] - :param application_insights: true if this supports - Application Insights; otherwise, false. - :type application_insights: bool - """ - - _attribute_map = { - 'display_version': {'key': 'displayVersion', 'type': 'str'}, - 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, - 'is_default': {'key': 'isDefault', 'type': 'bool'}, - 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, - 'application_insights': {'key': 'applicationInsights', 'type': 'bool'}, - } - - def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, minor_versions=None, application_insights: bool=None, **kwargs) -> None: - super(StackMajorVersion, self).__init__(**kwargs) - self.display_version = display_version - self.runtime_version = runtime_version - self.is_default = is_default - self.minor_versions = minor_versions - self.application_insights = application_insights diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version.py deleted file mode 100644 index bda75c672856..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StackMinorVersion(Model): - """Application stack minor version. - - :param display_version: Application stack minor version (display only). - :type display_version: str - :param runtime_version: Application stack minor version (runtime only). - :type runtime_version: str - :param is_default: true if this is the default minor version; - otherwise, false. - :type is_default: bool - :param is_remote_debugging_enabled: true if this supports - Remote Debugging, otherwise false. - :type is_remote_debugging_enabled: bool - """ - - _attribute_map = { - 'display_version': {'key': 'displayVersion', 'type': 'str'}, - 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, - 'is_default': {'key': 'isDefault', 'type': 'bool'}, - 'is_remote_debugging_enabled': {'key': 'isRemoteDebuggingEnabled', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(StackMinorVersion, self).__init__(**kwargs) - self.display_version = kwargs.get('display_version', None) - self.runtime_version = kwargs.get('runtime_version', None) - self.is_default = kwargs.get('is_default', None) - self.is_remote_debugging_enabled = kwargs.get('is_remote_debugging_enabled', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version_py3.py deleted file mode 100644 index 4e22ceb6be53..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stack_minor_version_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StackMinorVersion(Model): - """Application stack minor version. - - :param display_version: Application stack minor version (display only). - :type display_version: str - :param runtime_version: Application stack minor version (runtime only). - :type runtime_version: str - :param is_default: true if this is the default minor version; - otherwise, false. - :type is_default: bool - :param is_remote_debugging_enabled: true if this supports - Remote Debugging, otherwise false. - :type is_remote_debugging_enabled: bool - """ - - _attribute_map = { - 'display_version': {'key': 'displayVersion', 'type': 'str'}, - 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, - 'is_default': {'key': 'isDefault', 'type': 'bool'}, - 'is_remote_debugging_enabled': {'key': 'isRemoteDebuggingEnabled', 'type': 'bool'}, - } - - def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, is_remote_debugging_enabled: bool=None, **kwargs) -> None: - super(StackMinorVersion, self).__init__(**kwargs) - self.display_version = display_version - self.runtime_version = runtime_version - self.is_default = is_default - self.is_remote_debugging_enabled = is_remote_debugging_enabled diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity.py deleted file mode 100644 index 0366dae90070..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StampCapacity(Model): - """Stamp capacity information. - - :param name: Name of the stamp. - :type name: str - :param available_capacity: Available capacity (# of machines, bytes of - storage etc...). - :type available_capacity: long - :param total_capacity: Total capacity (# of machines, bytes of storage - etc...). - :type total_capacity: long - :param unit: Name of the unit. - :type unit: str - :param compute_mode: Shared/dedicated workers. Possible values include: - 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: Size of the machines. Possible values include: - 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'Default' - :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions - :param worker_size_id: Size ID of machines: - 0 - Small - 1 - Medium - 2 - Large - :type worker_size_id: int - :param exclude_from_capacity_allocation: If true, it includes - basic apps. - Basic apps are not used for capacity allocation. - :type exclude_from_capacity_allocation: bool - :param is_applicable_for_all_compute_modes: true if capacity - is applicable for all apps; otherwise, false. - :type is_applicable_for_all_compute_modes: bool - :param site_mode: Shared or Dedicated. - :type site_mode: str - :param is_linux: Is this a linux stamp capacity - :type is_linux: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, - 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, - 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, - 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, - 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, - 'site_mode': {'key': 'siteMode', 'type': 'str'}, - 'is_linux': {'key': 'isLinux', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(StampCapacity, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.available_capacity = kwargs.get('available_capacity', None) - self.total_capacity = kwargs.get('total_capacity', None) - self.unit = kwargs.get('unit', None) - self.compute_mode = kwargs.get('compute_mode', None) - self.worker_size = kwargs.get('worker_size', None) - self.worker_size_id = kwargs.get('worker_size_id', None) - self.exclude_from_capacity_allocation = kwargs.get('exclude_from_capacity_allocation', None) - self.is_applicable_for_all_compute_modes = kwargs.get('is_applicable_for_all_compute_modes', None) - self.site_mode = kwargs.get('site_mode', None) - self.is_linux = kwargs.get('is_linux', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_paged.py deleted file mode 100644 index 4ebc814515ad..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 StampCapacityPaged(Paged): - """ - A paging container for iterating over a list of :class:`StampCapacity ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[StampCapacity]'} - } - - def __init__(self, *args, **kwargs): - - super(StampCapacityPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_py3.py deleted file mode 100644 index 2b0bd5ade14e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/stamp_capacity_py3.py +++ /dev/null @@ -1,78 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StampCapacity(Model): - """Stamp capacity information. - - :param name: Name of the stamp. - :type name: str - :param available_capacity: Available capacity (# of machines, bytes of - storage etc...). - :type available_capacity: long - :param total_capacity: Total capacity (# of machines, bytes of storage - etc...). - :type total_capacity: long - :param unit: Name of the unit. - :type unit: str - :param compute_mode: Shared/dedicated workers. Possible values include: - 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: Size of the machines. Possible values include: - 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'Default' - :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions - :param worker_size_id: Size ID of machines: - 0 - Small - 1 - Medium - 2 - Large - :type worker_size_id: int - :param exclude_from_capacity_allocation: If true, it includes - basic apps. - Basic apps are not used for capacity allocation. - :type exclude_from_capacity_allocation: bool - :param is_applicable_for_all_compute_modes: true if capacity - is applicable for all apps; otherwise, false. - :type is_applicable_for_all_compute_modes: bool - :param site_mode: Shared or Dedicated. - :type site_mode: str - :param is_linux: Is this a linux stamp capacity - :type is_linux: bool - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, - 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, - 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, - 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, - 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, - 'site_mode': {'key': 'siteMode', 'type': 'str'}, - 'is_linux': {'key': 'isLinux', 'type': 'bool'}, - } - - def __init__(self, *, name: str=None, available_capacity: int=None, total_capacity: int=None, unit: str=None, compute_mode=None, worker_size=None, worker_size_id: int=None, exclude_from_capacity_allocation: bool=None, is_applicable_for_all_compute_modes: bool=None, site_mode: str=None, is_linux: bool=None, **kwargs) -> None: - super(StampCapacity, self).__init__(**kwargs) - self.name = name - self.available_capacity = available_capacity - self.total_capacity = total_capacity - self.unit = unit - self.compute_mode = compute_mode - self.worker_size = worker_size - self.worker_size_id = worker_size_id - self.exclude_from_capacity_allocation = exclude_from_capacity_allocation - self.is_applicable_for_all_compute_modes = is_applicable_for_all_compute_modes - self.site_mode = site_mode - self.is_linux = is_linux diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger.py deleted file mode 100644 index d1776ce91bc0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StatusCodesBasedTrigger(Model): - """Trigger based on status code. - - :param status: HTTP status code. - :type status: int - :param sub_status: Request Sub Status. - :type sub_status: int - :param win32_status: Win32 error code. - :type win32_status: int - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'int'}, - 'sub_status': {'key': 'subStatus', 'type': 'int'}, - 'win32_status': {'key': 'win32Status', 'type': 'int'}, - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(StatusCodesBasedTrigger, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.sub_status = kwargs.get('sub_status', None) - self.win32_status = kwargs.get('win32_status', None) - self.count = kwargs.get('count', None) - self.time_interval = kwargs.get('time_interval', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger_py3.py deleted file mode 100644 index 939a950c1d37..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/status_codes_based_trigger_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class StatusCodesBasedTrigger(Model): - """Trigger based on status code. - - :param status: HTTP status code. - :type status: int - :param sub_status: Request Sub Status. - :type sub_status: int - :param win32_status: Win32 error code. - :type win32_status: int - :param count: Request Count. - :type count: int - :param time_interval: Time interval. - :type time_interval: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'int'}, - 'sub_status': {'key': 'subStatus', 'type': 'int'}, - 'win32_status': {'key': 'win32Status', 'type': 'int'}, - 'count': {'key': 'count', 'type': 'int'}, - 'time_interval': {'key': 'timeInterval', 'type': 'str'}, - } - - def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: - super(StatusCodesBasedTrigger, self).__init__(**kwargs) - self.status = status - self.sub_status = sub_status - self.win32_status = win32_status - self.count = count - self.time_interval = time_interval diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options.py deleted file mode 100644 index faaeabd58089..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class StorageMigrationOptions(ProxyOnlyResource): - """Options for app content migration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param azurefiles_connection_string: Required. AzureFiles connection - string. - :type azurefiles_connection_string: str - :param azurefiles_share: Required. AzureFiles share. - :type azurefiles_share: str - :param switch_site_after_migration: trueif the app should be - switched over; otherwise, false. Default value: False . - :type switch_site_after_migration: bool - :param block_write_access_to_site: true if the app should be - read only during copy operation; otherwise, false. Default - value: False . - :type block_write_access_to_site: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'azurefiles_connection_string': {'required': True}, - 'azurefiles_share': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, - 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, - 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, - 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(StorageMigrationOptions, self).__init__(**kwargs) - self.azurefiles_connection_string = kwargs.get('azurefiles_connection_string', None) - self.azurefiles_share = kwargs.get('azurefiles_share', None) - self.switch_site_after_migration = kwargs.get('switch_site_after_migration', False) - self.block_write_access_to_site = kwargs.get('block_write_access_to_site', False) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options_py3.py deleted file mode 100644 index 0d86033f921b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_options_py3.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class StorageMigrationOptions(ProxyOnlyResource): - """Options for app content migration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param azurefiles_connection_string: Required. AzureFiles connection - string. - :type azurefiles_connection_string: str - :param azurefiles_share: Required. AzureFiles share. - :type azurefiles_share: str - :param switch_site_after_migration: trueif the app should be - switched over; otherwise, false. Default value: False . - :type switch_site_after_migration: bool - :param block_write_access_to_site: true if the app should be - read only during copy operation; otherwise, false. Default - value: False . - :type block_write_access_to_site: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'azurefiles_connection_string': {'required': True}, - 'azurefiles_share': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, - 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, - 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, - 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, - } - - def __init__(self, *, azurefiles_connection_string: str, azurefiles_share: str, kind: str=None, switch_site_after_migration: bool=False, block_write_access_to_site: bool=False, **kwargs) -> None: - super(StorageMigrationOptions, self).__init__(kind=kind, **kwargs) - self.azurefiles_connection_string = azurefiles_connection_string - self.azurefiles_share = azurefiles_share - self.switch_site_after_migration = switch_site_after_migration - self.block_write_access_to_site = block_write_access_to_site diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response.py deleted file mode 100644 index f528db53bae5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class StorageMigrationResponse(ProxyOnlyResource): - """Response for a migration of app content request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar operation_id: When server starts the migration process, it will - return an operation ID identifying that particular migration operation. - :vartype operation_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(StorageMigrationResponse, self).__init__(**kwargs) - self.operation_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response_py3.py deleted file mode 100644 index 96dabf439e79..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/storage_migration_response_py3.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class StorageMigrationResponse(ProxyOnlyResource): - """Response for a migration of app content request. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar operation_id: When server starts the migration process, it will - return an operation ID identifying that particular migration operation. - :vartype operation_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'operation_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(StorageMigrationResponse, self).__init__(kind=kind, **kwargs) - self.operation_id = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary.py deleted file mode 100644 index de492106f79c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class StringDictionary(ProxyOnlyResource): - """String dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Settings. - :type properties: 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'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(StringDictionary, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary_py3.py deleted file mode 100644 index 7a2e90bd44ff..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/string_dictionary_py3.py +++ /dev/null @@ -1,49 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class StringDictionary(ProxyOnlyResource): - """String dictionary 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param properties: Settings. - :type properties: 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'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - } - - def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: - super(StringDictionary, self).__init__(kind=kind, **kwargs) - self.properties = properties diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network.py deleted file mode 100644 index a4ee784810b8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class SwiftVirtualNetwork(ProxyOnlyResource): - """Swift Virtual Network Contract. This is used to enable the new Swift way of - doing virtual network integration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param subnet_resource_id: The Virtual Network subnet's resource ID. This - is the subnet that this Web App will join. This subnet must have a - delegation to Microsoft.Web/serverFarms defined first. - :type subnet_resource_id: str - :param swift_supported: A flag that specifies if the scale unit this Web - App is on supports Swift integration. - :type swift_supported: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'subnet_resource_id': {'key': 'properties.subnetResourceId', 'type': 'str'}, - 'swift_supported': {'key': 'properties.swiftSupported', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(SwiftVirtualNetwork, self).__init__(**kwargs) - self.subnet_resource_id = kwargs.get('subnet_resource_id', None) - self.swift_supported = kwargs.get('swift_supported', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network_py3.py deleted file mode 100644 index 30c7551eef50..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/swift_virtual_network_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class SwiftVirtualNetwork(ProxyOnlyResource): - """Swift Virtual Network Contract. This is used to enable the new Swift way of - doing virtual network integration. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param subnet_resource_id: The Virtual Network subnet's resource ID. This - is the subnet that this Web App will join. This subnet must have a - delegation to Microsoft.Web/serverFarms defined first. - :type subnet_resource_id: str - :param swift_supported: A flag that specifies if the scale unit this Web - App is on supports Swift integration. - :type swift_supported: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'subnet_resource_id': {'key': 'properties.subnetResourceId', 'type': 'str'}, - 'swift_supported': {'key': 'properties.swiftSupported', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, subnet_resource_id: str=None, swift_supported: bool=None, **kwargs) -> None: - super(SwiftVirtualNetwork, self).__init__(kind=kind, **kwargs) - self.subnet_resource_id = subnet_resource_id - self.swift_supported = swift_supported diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement.py deleted file mode 100644 index ebe9ca9add5c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TldLegalAgreement(Model): - """Legal agreement for a top level domain. - - All required parameters must be populated in order to send to Azure. - - :param agreement_key: Required. Unique identifier for the agreement. - :type agreement_key: str - :param title: Required. Agreement title. - :type title: str - :param content: Required. Agreement details. - :type content: str - :param url: URL where a copy of the agreement details is hosted. - :type url: str - """ - - _validation = { - 'agreement_key': {'required': True}, - 'title': {'required': True}, - 'content': {'required': True}, - } - - _attribute_map = { - 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, - 'title': {'key': 'title', 'type': 'str'}, - 'content': {'key': 'content', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TldLegalAgreement, self).__init__(**kwargs) - self.agreement_key = kwargs.get('agreement_key', None) - self.title = kwargs.get('title', None) - self.content = kwargs.get('content', None) - self.url = kwargs.get('url', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_paged.py deleted file mode 100644 index 562ca0710fea..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 TldLegalAgreementPaged(Paged): - """ - A paging container for iterating over a list of :class:`TldLegalAgreement ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[TldLegalAgreement]'} - } - - def __init__(self, *args, **kwargs): - - super(TldLegalAgreementPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_py3.py deleted file mode 100644 index a32633d0e8d6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/tld_legal_agreement_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TldLegalAgreement(Model): - """Legal agreement for a top level domain. - - All required parameters must be populated in order to send to Azure. - - :param agreement_key: Required. Unique identifier for the agreement. - :type agreement_key: str - :param title: Required. Agreement title. - :type title: str - :param content: Required. Agreement details. - :type content: str - :param url: URL where a copy of the agreement details is hosted. - :type url: str - """ - - _validation = { - 'agreement_key': {'required': True}, - 'title': {'required': True}, - 'content': {'required': True}, - } - - _attribute_map = { - 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, - 'title': {'key': 'title', 'type': 'str'}, - 'content': {'key': 'content', 'type': 'str'}, - 'url': {'key': 'url', 'type': 'str'}, - } - - def __init__(self, *, agreement_key: str, title: str, content: str, url: str=None, **kwargs) -> None: - super(TldLegalAgreement, self).__init__(**kwargs) - self.agreement_key = agreement_key - self.title = title - self.content = content - self.url = url diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain.py deleted file mode 100644 index a7d255ea8ecd..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class TopLevelDomain(ProxyOnlyResource): - """A top level domain object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param privacy: If true, then the top level domain supports - domain privacy; otherwise, false. - :type privacy: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(TopLevelDomain, self).__init__(**kwargs) - self.privacy = kwargs.get('privacy', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option.py deleted file mode 100644 index 94be4b55cfd3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopLevelDomainAgreementOption(Model): - """Options for retrieving the list of top level domain legal agreements. - - :param include_privacy: If true, then the list of agreements - will include agreements for domain privacy as well; otherwise, - false. - :type include_privacy: bool - :param for_transfer: If true, then the list of agreements - will include agreements for domain transfer as well; otherwise, - false. - :type for_transfer: bool - """ - - _attribute_map = { - 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, - 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(TopLevelDomainAgreementOption, self).__init__(**kwargs) - self.include_privacy = kwargs.get('include_privacy', None) - self.for_transfer = kwargs.get('for_transfer', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option_py3.py deleted file mode 100644 index 88bde7894d0f..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_agreement_option_py3.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class TopLevelDomainAgreementOption(Model): - """Options for retrieving the list of top level domain legal agreements. - - :param include_privacy: If true, then the list of agreements - will include agreements for domain privacy as well; otherwise, - false. - :type include_privacy: bool - :param for_transfer: If true, then the list of agreements - will include agreements for domain transfer as well; otherwise, - false. - :type for_transfer: bool - """ - - _attribute_map = { - 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, - 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, - } - - def __init__(self, *, include_privacy: bool=None, for_transfer: bool=None, **kwargs) -> None: - super(TopLevelDomainAgreementOption, self).__init__(**kwargs) - self.include_privacy = include_privacy - self.for_transfer = for_transfer diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_paged.py deleted file mode 100644 index c60c2a45ad16..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 TopLevelDomainPaged(Paged): - """ - A paging container for iterating over a list of :class:`TopLevelDomain ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[TopLevelDomain]'} - } - - def __init__(self, *args, **kwargs): - - super(TopLevelDomainPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_py3.py deleted file mode 100644 index 4af488b1730a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/top_level_domain_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class TopLevelDomain(ProxyOnlyResource): - """A top level domain object. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param privacy: If true, then the top level domain supports - domain privacy; otherwise, false. - :type privacy: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, privacy: bool=None, **kwargs) -> None: - super(TopLevelDomain, self).__init__(kind=kind, **kwargs) - self.privacy = privacy diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history.py deleted file mode 100644 index 0e585f4b9c8d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class TriggeredJobHistory(ProxyOnlyResource): - """Triggered Web Job History. List of Triggered Web Job Run Information - elements. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param runs: List of triggered web job runs. - :type runs: list[~azure.mgmt.web.models.TriggeredJobRun] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'runs': {'key': 'properties.runs', 'type': '[TriggeredJobRun]'}, - } - - def __init__(self, **kwargs): - super(TriggeredJobHistory, self).__init__(**kwargs) - self.runs = kwargs.get('runs', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_paged.py deleted file mode 100644 index b15c2be2a54e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 TriggeredJobHistoryPaged(Paged): - """ - A paging container for iterating over a list of :class:`TriggeredJobHistory ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[TriggeredJobHistory]'} - } - - def __init__(self, *args, **kwargs): - - super(TriggeredJobHistoryPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_py3.py deleted file mode 100644 index e5da0604cde4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_history_py3.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class TriggeredJobHistory(ProxyOnlyResource): - """Triggered Web Job History. List of Triggered Web Job Run Information - elements. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param runs: List of triggered web job runs. - :type runs: list[~azure.mgmt.web.models.TriggeredJobRun] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'runs': {'key': 'properties.runs', 'type': '[TriggeredJobRun]'}, - } - - def __init__(self, *, kind: str=None, runs=None, **kwargs) -> None: - super(TriggeredJobHistory, self).__init__(kind=kind, **kwargs) - self.runs = runs diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run.py deleted file mode 100644 index 1caecf94e018..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class TriggeredJobRun(ProxyOnlyResource): - """Triggered Web Job Run 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param web_job_id: Job ID. - :type web_job_id: str - :param web_job_name: Job name. - :type web_job_name: str - :param status: Job status. Possible values include: 'Success', 'Failed', - 'Error' - :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus - :param start_time: Start time. - :type start_time: datetime - :param end_time: End time. - :type end_time: datetime - :param duration: Job duration. - :type duration: str - :param output_url: Output URL. - :type output_url: str - :param error_url: Error URL. - :type error_url: str - :param url: Job URL. - :type url: str - :param job_name: Job name. - :type job_name: str - :param trigger: Job trigger. - :type trigger: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'web_job_id': {'key': 'properties.web_job_id', 'type': 'str'}, - 'web_job_name': {'key': 'properties.web_job_name', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, - 'duration': {'key': 'properties.duration', 'type': 'str'}, - 'output_url': {'key': 'properties.output_url', 'type': 'str'}, - 'error_url': {'key': 'properties.error_url', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'job_name': {'key': 'properties.job_name', 'type': 'str'}, - 'trigger': {'key': 'properties.trigger', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(TriggeredJobRun, self).__init__(**kwargs) - self.web_job_id = kwargs.get('web_job_id', None) - self.web_job_name = kwargs.get('web_job_name', None) - self.status = kwargs.get('status', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.duration = kwargs.get('duration', None) - self.output_url = kwargs.get('output_url', None) - self.error_url = kwargs.get('error_url', None) - self.url = kwargs.get('url', None) - self.job_name = kwargs.get('job_name', None) - self.trigger = kwargs.get('trigger', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run_py3.py deleted file mode 100644 index e939a2017f08..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_job_run_py3.py +++ /dev/null @@ -1,90 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class TriggeredJobRun(ProxyOnlyResource): - """Triggered Web Job Run 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param web_job_id: Job ID. - :type web_job_id: str - :param web_job_name: Job name. - :type web_job_name: str - :param status: Job status. Possible values include: 'Success', 'Failed', - 'Error' - :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus - :param start_time: Start time. - :type start_time: datetime - :param end_time: End time. - :type end_time: datetime - :param duration: Job duration. - :type duration: str - :param output_url: Output URL. - :type output_url: str - :param error_url: Error URL. - :type error_url: str - :param url: Job URL. - :type url: str - :param job_name: Job name. - :type job_name: str - :param trigger: Job trigger. - :type trigger: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'web_job_id': {'key': 'properties.web_job_id', 'type': 'str'}, - 'web_job_name': {'key': 'properties.web_job_name', 'type': 'str'}, - 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, - 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, - 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, - 'duration': {'key': 'properties.duration', 'type': 'str'}, - 'output_url': {'key': 'properties.output_url', 'type': 'str'}, - 'error_url': {'key': 'properties.error_url', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'job_name': {'key': 'properties.job_name', 'type': 'str'}, - 'trigger': {'key': 'properties.trigger', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, web_job_id: str=None, web_job_name: str=None, status=None, start_time=None, end_time=None, duration: str=None, output_url: str=None, error_url: str=None, url: str=None, job_name: str=None, trigger: str=None, **kwargs) -> None: - super(TriggeredJobRun, self).__init__(kind=kind, **kwargs) - self.web_job_id = web_job_id - self.web_job_name = web_job_name - self.status = status - self.start_time = start_time - self.end_time = end_time - self.duration = duration - self.output_url = output_url - self.error_url = error_url - self.url = url - self.job_name = job_name - self.trigger = trigger diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job.py deleted file mode 100644 index 7c5bf24dbff4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class TriggeredWebJob(ProxyOnlyResource): - """Triggered Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param latest_run: Latest job run information. - :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun - :param history_url: History URL. - :type history_url: str - :param scheduler_logs_url: Scheduler Logs URL. - :type scheduler_logs_url: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'latest_run': {'key': 'properties.latest_run', 'type': 'TriggeredJobRun'}, - 'history_url': {'key': 'properties.history_url', 'type': 'str'}, - 'scheduler_logs_url': {'key': 'properties.scheduler_logs_url', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, **kwargs): - super(TriggeredWebJob, self).__init__(**kwargs) - self.latest_run = kwargs.get('latest_run', None) - self.history_url = kwargs.get('history_url', None) - self.scheduler_logs_url = kwargs.get('scheduler_logs_url', None) - self.run_command = kwargs.get('run_command', None) - self.url = kwargs.get('url', None) - self.extra_info_url = kwargs.get('extra_info_url', None) - self.web_job_type = kwargs.get('web_job_type', None) - self.error = kwargs.get('error', None) - self.using_sdk = kwargs.get('using_sdk', None) - self.settings = kwargs.get('settings', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_paged.py deleted file mode 100644 index 65f7b242b856..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 TriggeredWebJobPaged(Paged): - """ - A paging container for iterating over a list of :class:`TriggeredWebJob ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[TriggeredWebJob]'} - } - - def __init__(self, *args, **kwargs): - - super(TriggeredWebJobPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_py3.py deleted file mode 100644 index 3701608eafe0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/triggered_web_job_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class TriggeredWebJob(ProxyOnlyResource): - """Triggered Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param latest_run: Latest job run information. - :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun - :param history_url: History URL. - :type history_url: str - :param scheduler_logs_url: Scheduler Logs URL. - :type scheduler_logs_url: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'latest_run': {'key': 'properties.latest_run', 'type': 'TriggeredJobRun'}, - 'history_url': {'key': 'properties.history_url', 'type': 'str'}, - 'scheduler_logs_url': {'key': 'properties.scheduler_logs_url', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, *, kind: str=None, latest_run=None, history_url: str=None, scheduler_logs_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: - super(TriggeredWebJob, self).__init__(kind=kind, **kwargs) - self.latest_run = latest_run - self.history_url = history_url - self.scheduler_logs_url = scheduler_logs_url - self.run_command = run_command - self.url = url - self.extra_info_url = extra_info_url - self.web_job_type = web_job_type - self.error = error - self.using_sdk = using_sdk - self.settings = settings diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage.py deleted file mode 100644 index 54f3cc94538c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class Usage(ProxyOnlyResource): - """Usage of the quota 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar display_name: Friendly name shown in the UI. - :vartype display_name: str - :ivar resource_name: Name of the quota resource. - :vartype resource_name: str - :ivar unit: Units of measurement for the quota resource. - :vartype unit: str - :ivar current_value: The current value of the resource counter. - :vartype current_value: long - :ivar limit: The resource limit. - :vartype limit: long - :ivar next_reset_time: Next reset time for the resource counter. - :vartype next_reset_time: datetime - :ivar compute_mode: Compute mode used for this usage. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :ivar site_mode: Site mode used for this usage. - :vartype site_mode: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'resource_name': {'readonly': True}, - 'unit': {'readonly': True}, - 'current_value': {'readonly': True}, - 'limit': {'readonly': True}, - 'next_reset_time': {'readonly': True}, - 'compute_mode': {'readonly': True}, - 'site_mode': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, - 'limit': {'key': 'properties.limit', 'type': 'long'}, - 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, - 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, - 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Usage, self).__init__(**kwargs) - self.display_name = None - self.resource_name = None - self.unit = None - self.current_value = None - self.limit = None - self.next_reset_time = None - self.compute_mode = None - self.site_mode = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_paged.py deleted file mode 100644 index fe1e5c6d4089..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 UsagePaged(Paged): - """ - A paging container for iterating over a list of :class:`Usage ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Usage]'} - } - - def __init__(self, *args, **kwargs): - - super(UsagePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_py3.py deleted file mode 100644 index 81c94d115bd8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/usage_py3.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class Usage(ProxyOnlyResource): - """Usage of the quota 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :ivar display_name: Friendly name shown in the UI. - :vartype display_name: str - :ivar resource_name: Name of the quota resource. - :vartype resource_name: str - :ivar unit: Units of measurement for the quota resource. - :vartype unit: str - :ivar current_value: The current value of the resource counter. - :vartype current_value: long - :ivar limit: The resource limit. - :vartype limit: long - :ivar next_reset_time: Next reset time for the resource counter. - :vartype next_reset_time: datetime - :ivar compute_mode: Compute mode used for this usage. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :ivar site_mode: Site mode used for this usage. - :vartype site_mode: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'resource_name': {'readonly': True}, - 'unit': {'readonly': True}, - 'current_value': {'readonly': True}, - 'limit': {'readonly': True}, - 'next_reset_time': {'readonly': True}, - 'compute_mode': {'readonly': True}, - 'site_mode': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, - 'unit': {'key': 'properties.unit', 'type': 'str'}, - 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, - 'limit': {'key': 'properties.limit', 'type': 'long'}, - 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, - 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, - 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, **kwargs) -> None: - super(Usage, self).__init__(kind=kind, **kwargs) - self.display_name = None - self.resource_name = None - self.unit = None - self.current_value = None - self.limit = None - self.next_reset_time = None - self.compute_mode = None - self.site_mode = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user.py deleted file mode 100644 index 09fa23dbe8f0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class User(ProxyOnlyResource): - """User credentials used for publishing activity. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param publishing_user_name: Required. Username used for publishing. - :type publishing_user_name: str - :param publishing_password: Password used for publishing. - :type publishing_password: str - :param publishing_password_hash: Password hash used for publishing. - :type publishing_password_hash: str - :param publishing_password_hash_salt: Password hash salt used for - publishing. - :type publishing_password_hash_salt: str - :param scm_uri: Url of SCM site. - :type scm_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'publishing_user_name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, - 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, - 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, - 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, - 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(User, self).__init__(**kwargs) - self.publishing_user_name = kwargs.get('publishing_user_name', None) - self.publishing_password = kwargs.get('publishing_password', None) - self.publishing_password_hash = kwargs.get('publishing_password_hash', None) - self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) - self.scm_uri = kwargs.get('scm_uri', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user_py3.py deleted file mode 100644 index b6b6d210a0a6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/user_py3.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class User(ProxyOnlyResource): - """User credentials used for publishing activity. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param publishing_user_name: Required. Username used for publishing. - :type publishing_user_name: str - :param publishing_password: Password used for publishing. - :type publishing_password: str - :param publishing_password_hash: Password hash used for publishing. - :type publishing_password_hash: str - :param publishing_password_hash_salt: Password hash salt used for - publishing. - :type publishing_password_hash_salt: str - :param scm_uri: Url of SCM site. - :type scm_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'publishing_user_name': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, - 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, - 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, - 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, - 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, - } - - def __init__(self, *, publishing_user_name: str, kind: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, scm_uri: str=None, **kwargs) -> None: - super(User, self).__init__(kind=kind, **kwargs) - self.publishing_user_name = publishing_user_name - self.publishing_password = publishing_password - self.publishing_password_hash = publishing_password_hash - self.publishing_password_hash_salt = publishing_password_hash_salt - self.scm_uri = scm_uri diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request.py deleted file mode 100644 index c8a4a5d97903..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateContainerSettingsRequest(Model): - """Container settings validation request context. - - :param base_url: Base URL of the container registry - :type base_url: str - :param username: Username for to access the container registry - :type username: str - :param password: Password for to access the container registry - :type password: str - :param repository: Repository name (image name) - :type repository: str - :param tag: Image tag - :type tag: str - :param platform: Platform (windows or linux) - :type platform: str - """ - - _attribute_map = { - 'base_url': {'key': 'baseUrl', 'type': 'str'}, - 'username': {'key': 'username', 'type': 'str'}, - 'password': {'key': 'password', 'type': 'str'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'platform': {'key': 'platform', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ValidateContainerSettingsRequest, self).__init__(**kwargs) - self.base_url = kwargs.get('base_url', None) - self.username = kwargs.get('username', None) - self.password = kwargs.get('password', None) - self.repository = kwargs.get('repository', None) - self.tag = kwargs.get('tag', None) - self.platform = kwargs.get('platform', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request_py3.py deleted file mode 100644 index 95e2ecfb46e3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_container_settings_request_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateContainerSettingsRequest(Model): - """Container settings validation request context. - - :param base_url: Base URL of the container registry - :type base_url: str - :param username: Username for to access the container registry - :type username: str - :param password: Password for to access the container registry - :type password: str - :param repository: Repository name (image name) - :type repository: str - :param tag: Image tag - :type tag: str - :param platform: Platform (windows or linux) - :type platform: str - """ - - _attribute_map = { - 'base_url': {'key': 'baseUrl', 'type': 'str'}, - 'username': {'key': 'username', 'type': 'str'}, - 'password': {'key': 'password', 'type': 'str'}, - 'repository': {'key': 'repository', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'platform': {'key': 'platform', 'type': 'str'}, - } - - def __init__(self, *, base_url: str=None, username: str=None, password: str=None, repository: str=None, tag: str=None, platform: str=None, **kwargs) -> None: - super(ValidateContainerSettingsRequest, self).__init__(**kwargs) - self.base_url = base_url - self.username = username - self.password = password - self.repository = repository - self.tag = tag - self.platform = platform diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request.py deleted file mode 100644 index dd69fc30ccb5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateRequest(Model): - """Resource validation request content. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. - :type name: str - :param type: Required. Resource type used for verification. Possible - values include: 'ServerFarm', 'Site' - :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes - :param location: Required. Expected location of the resource. - :type location: str - :param server_farm_id: ARM resource ID of an App Service plan that would - host the app. - :type server_farm_id: str - :param sku_name: Name of the target SKU for the App Service plan. - :type sku_name: str - :param need_linux_workers: true if App Service plan is for - Linux workers; otherwise, false. - :type need_linux_workers: bool - :param is_spot: true if App Service plan is for Spot - instances; otherwise, false. - :type is_spot: bool - :param capacity: Target capacity of the App Service plan (number of VMs). - :type capacity: int - :param hosting_environment: Name of App Service Environment where app or - App Service plan should be created. - :type hosting_environment: str - :param is_xenon: true if App Service plan is running as a - windows container - :type is_xenon: bool - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - 'location': {'required': True}, - 'capacity': {'minimum': 1}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, - 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'capacity': {'key': 'properties.capacity', 'type': 'int'}, - 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(ValidateRequest, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.type = kwargs.get('type', None) - self.location = kwargs.get('location', None) - self.server_farm_id = kwargs.get('server_farm_id', None) - self.sku_name = kwargs.get('sku_name', None) - self.need_linux_workers = kwargs.get('need_linux_workers', None) - self.is_spot = kwargs.get('is_spot', None) - self.capacity = kwargs.get('capacity', None) - self.hosting_environment = kwargs.get('hosting_environment', None) - self.is_xenon = kwargs.get('is_xenon', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request_py3.py deleted file mode 100644 index 864ec706c9c7..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_request_py3.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateRequest(Model): - """Resource validation request content. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Resource name to verify. - :type name: str - :param type: Required. Resource type used for verification. Possible - values include: 'ServerFarm', 'Site' - :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes - :param location: Required. Expected location of the resource. - :type location: str - :param server_farm_id: ARM resource ID of an App Service plan that would - host the app. - :type server_farm_id: str - :param sku_name: Name of the target SKU for the App Service plan. - :type sku_name: str - :param need_linux_workers: true if App Service plan is for - Linux workers; otherwise, false. - :type need_linux_workers: bool - :param is_spot: true if App Service plan is for Spot - instances; otherwise, false. - :type is_spot: bool - :param capacity: Target capacity of the App Service plan (number of VMs). - :type capacity: int - :param hosting_environment: Name of App Service Environment where app or - App Service plan should be created. - :type hosting_environment: str - :param is_xenon: true if App Service plan is running as a - windows container - :type is_xenon: bool - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - 'location': {'required': True}, - 'capacity': {'minimum': 1}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, - 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, - 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, - 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, - 'capacity': {'key': 'properties.capacity', 'type': 'int'}, - 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, - 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, - } - - def __init__(self, *, name: str, type, location: str, server_farm_id: str=None, sku_name: str=None, need_linux_workers: bool=None, is_spot: bool=None, capacity: int=None, hosting_environment: str=None, is_xenon: bool=None, **kwargs) -> None: - super(ValidateRequest, self).__init__(**kwargs) - self.name = name - self.type = type - self.location = location - self.server_farm_id = server_farm_id - self.sku_name = sku_name - self.need_linux_workers = need_linux_workers - self.is_spot = is_spot - self.capacity = capacity - self.hosting_environment = hosting_environment - self.is_xenon = is_xenon diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response.py deleted file mode 100644 index 473d45b816ca..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateResponse(Model): - """Describes the result of resource validation. - - :param status: Result of validation. - :type status: str - :param error: Error details for the case when validation fails. - :type error: ~azure.mgmt.web.models.ValidateResponseError - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'ValidateResponseError'}, - } - - def __init__(self, **kwargs): - super(ValidateResponse, self).__init__(**kwargs) - self.status = kwargs.get('status', None) - self.error = kwargs.get('error', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error.py deleted file mode 100644 index 3d265a67be07..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateResponseError(Model): - """Error details for when validation fails. - - :param code: Validation error code. - :type code: str - :param message: Validation error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ValidateResponseError, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error_py3.py deleted file mode 100644 index 8c52675c3356..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_error_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateResponseError(Model): - """Error details for when validation fails. - - :param code: Validation error code. - :type code: str - :param message: Validation error message. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: - super(ValidateResponseError, self).__init__(**kwargs) - self.code = code - self.message = message diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_py3.py deleted file mode 100644 index 7c21b066f7cc..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/validate_response_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ValidateResponse(Model): - """Describes the result of resource validation. - - :param status: Result of validation. - :type status: str - :param error: Error details for the case when validation fails. - :type error: ~azure.mgmt.web.models.ValidateResponseError - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'error': {'key': 'error', 'type': 'ValidateResponseError'}, - } - - def __init__(self, *, status: str=None, error=None, **kwargs) -> None: - super(ValidateResponse, self).__init__(**kwargs) - self.status = status - self.error = error diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application.py deleted file mode 100644 index 7b5538859ff9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualApplication(Model): - """Virtual application in an app. - - :param virtual_path: Virtual path. - :type virtual_path: str - :param physical_path: Physical path. - :type physical_path: str - :param preload_enabled: true if preloading is enabled; - otherwise, false. - :type preload_enabled: bool - :param virtual_directories: Virtual directories for virtual application. - :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] - """ - - _attribute_map = { - 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, - 'physical_path': {'key': 'physicalPath', 'type': 'str'}, - 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, - 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, - } - - def __init__(self, **kwargs): - super(VirtualApplication, self).__init__(**kwargs) - self.virtual_path = kwargs.get('virtual_path', None) - self.physical_path = kwargs.get('physical_path', None) - self.preload_enabled = kwargs.get('preload_enabled', None) - self.virtual_directories = kwargs.get('virtual_directories', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application_py3.py deleted file mode 100644 index 9fb6d7595fb6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_application_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualApplication(Model): - """Virtual application in an app. - - :param virtual_path: Virtual path. - :type virtual_path: str - :param physical_path: Physical path. - :type physical_path: str - :param preload_enabled: true if preloading is enabled; - otherwise, false. - :type preload_enabled: bool - :param virtual_directories: Virtual directories for virtual application. - :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] - """ - - _attribute_map = { - 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, - 'physical_path': {'key': 'physicalPath', 'type': 'str'}, - 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, - 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, - } - - def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: - super(VirtualApplication, self).__init__(**kwargs) - self.virtual_path = virtual_path - self.physical_path = physical_path - self.preload_enabled = preload_enabled - self.virtual_directories = virtual_directories diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory.py deleted file mode 100644 index e29d6e124afe..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualDirectory(Model): - """Directory for virtual application. - - :param virtual_path: Path to virtual application. - :type virtual_path: str - :param physical_path: Physical path. - :type physical_path: str - """ - - _attribute_map = { - 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, - 'physical_path': {'key': 'physicalPath', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualDirectory, self).__init__(**kwargs) - self.virtual_path = kwargs.get('virtual_path', None) - self.physical_path = kwargs.get('physical_path', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory_py3.py deleted file mode 100644 index d24e93b8e0e4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_directory_py3.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualDirectory(Model): - """Directory for virtual application. - - :param virtual_path: Path to virtual application. - :type virtual_path: str - :param physical_path: Physical path. - :type physical_path: str - """ - - _attribute_map = { - 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, - 'physical_path': {'key': 'physicalPath', 'type': 'str'}, - } - - def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: - super(VirtualDirectory, self).__init__(**kwargs) - self.virtual_path = virtual_path - self.physical_path = physical_path diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping.py deleted file mode 100644 index 60c9a80fd16a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualIPMapping(Model): - """Virtual IP mapping. - - :param virtual_ip: Virtual IP address. - :type virtual_ip: str - :param internal_http_port: Internal HTTP port. - :type internal_http_port: int - :param internal_https_port: Internal HTTPS port. - :type internal_https_port: int - :param in_use: Is virtual IP mapping in use. - :type in_use: bool - """ - - _attribute_map = { - 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, - 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, - 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, - 'in_use': {'key': 'inUse', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(VirtualIPMapping, self).__init__(**kwargs) - self.virtual_ip = kwargs.get('virtual_ip', None) - self.internal_http_port = kwargs.get('internal_http_port', None) - self.internal_https_port = kwargs.get('internal_https_port', None) - self.in_use = kwargs.get('in_use', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping_py3.py deleted file mode 100644 index 5f77859f5068..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_ip_mapping_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualIPMapping(Model): - """Virtual IP mapping. - - :param virtual_ip: Virtual IP address. - :type virtual_ip: str - :param internal_http_port: Internal HTTP port. - :type internal_http_port: int - :param internal_https_port: Internal HTTPS port. - :type internal_https_port: int - :param in_use: Is virtual IP mapping in use. - :type in_use: bool - """ - - _attribute_map = { - 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, - 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, - 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, - 'in_use': {'key': 'inUse', 'type': 'bool'}, - } - - def __init__(self, *, virtual_ip: str=None, internal_http_port: int=None, internal_https_port: int=None, in_use: bool=None, **kwargs) -> None: - super(VirtualIPMapping, self).__init__(**kwargs) - self.virtual_ip = virtual_ip - self.internal_http_port = internal_http_port - self.internal_https_port = internal_https_port - self.in_use = in_use diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile.py deleted file mode 100644 index decb7f8737c8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkProfile(Model): - """Specification for using a Virtual Network. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource id of the Virtual Network. - :type id: str - :ivar name: Name of the Virtual Network (read-only). - :vartype name: str - :ivar type: Resource type of the Virtual Network (read-only). - :vartype type: str - :param subnet: Subnet within the Virtual Network. - :type subnet: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'subnet': {'key': 'subnet', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VirtualNetworkProfile, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None - self.subnet = kwargs.get('subnet', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile_py3.py deleted file mode 100644 index a45c1060294e..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/virtual_network_profile_py3.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VirtualNetworkProfile(Model): - """Specification for using a Virtual Network. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param id: Resource id of the Virtual Network. - :type id: str - :ivar name: Name of the Virtual Network (read-only). - :vartype name: str - :ivar type: Resource type of the Virtual Network (read-only). - :vartype type: str - :param subnet: Subnet within the Virtual Network. - :type subnet: str - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'subnet': {'key': 'subnet', 'type': 'str'}, - } - - def __init__(self, *, id: str=None, subnet: str=None, **kwargs) -> None: - super(VirtualNetworkProfile, self).__init__(**kwargs) - self.id = id - self.name = None - self.type = None - self.subnet = subnet diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway.py deleted file mode 100644 index 104f9bab1405..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetGateway(ProxyOnlyResource): - """The Virtual Network gateway contract. This is used to give the Virtual - Network gateway access to the VPN package. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_name: The Virtual Network name. - :type vnet_name: str - :param vpn_package_uri: Required. The URI where the VPN package can be - downloaded. - :type vpn_package_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_package_uri': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VnetGateway, self).__init__(**kwargs) - self.vnet_name = kwargs.get('vnet_name', None) - self.vpn_package_uri = kwargs.get('vpn_package_uri', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway_py3.py deleted file mode 100644 index 60a9ab744fa9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_gateway_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetGateway(ProxyOnlyResource): - """The Virtual Network gateway contract. This is used to give the Virtual - Network gateway access to the VPN package. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_name: The Virtual Network name. - :type vnet_name: str - :param vpn_package_uri: Required. The URI where the VPN package can be - downloaded. - :type vpn_package_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'vpn_package_uri': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, - } - - def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: - super(VnetGateway, self).__init__(kind=kind, **kwargs) - self.vnet_name = vnet_name - self.vpn_package_uri = vpn_package_uri diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info.py deleted file mode 100644 index c43df28d861b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetInfo(ProxyOnlyResource): - """Virtual Network information contract. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_resource_id: The Virtual Network's resource ID. - :type vnet_resource_id: str - :ivar cert_thumbprint: The client certificate thumbprint. - :vartype cert_thumbprint: str - :param cert_blob: A certificate file (.cer) blob containing the public key - of the private key used to authenticate a - Point-To-Site VPN connection. - :type cert_blob: str - :ivar routes: The routes that this Virtual Network connection uses. - :vartype routes: list[~azure.mgmt.web.models.VnetRoute] - :ivar resync_required: true if a resync is required; - otherwise, false. - :vartype resync_required: bool - :param dns_servers: DNS servers to be used by this Virtual Network. This - should be a comma-separated list of IP addresses. - :type dns_servers: str - :param is_swift: Flag that is used to denote if this is VNET injection - :type is_swift: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'cert_thumbprint': {'readonly': True}, - 'routes': {'readonly': True}, - 'resync_required': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, - 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, - 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, - 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, - 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, - 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, - 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, - } - - def __init__(self, **kwargs): - super(VnetInfo, self).__init__(**kwargs) - self.vnet_resource_id = kwargs.get('vnet_resource_id', None) - self.cert_thumbprint = None - self.cert_blob = kwargs.get('cert_blob', None) - self.routes = None - self.resync_required = None - self.dns_servers = kwargs.get('dns_servers', None) - self.is_swift = kwargs.get('is_swift', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info_py3.py deleted file mode 100644 index d56776b513e5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_info_py3.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetInfo(ProxyOnlyResource): - """Virtual Network information contract. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_resource_id: The Virtual Network's resource ID. - :type vnet_resource_id: str - :ivar cert_thumbprint: The client certificate thumbprint. - :vartype cert_thumbprint: str - :param cert_blob: A certificate file (.cer) blob containing the public key - of the private key used to authenticate a - Point-To-Site VPN connection. - :type cert_blob: str - :ivar routes: The routes that this Virtual Network connection uses. - :vartype routes: list[~azure.mgmt.web.models.VnetRoute] - :ivar resync_required: true if a resync is required; - otherwise, false. - :vartype resync_required: bool - :param dns_servers: DNS servers to be used by this Virtual Network. This - should be a comma-separated list of IP addresses. - :type dns_servers: str - :param is_swift: Flag that is used to denote if this is VNET injection - :type is_swift: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'cert_thumbprint': {'readonly': True}, - 'routes': {'readonly': True}, - 'resync_required': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, - 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, - 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, - 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, - 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, - 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, - 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, - } - - def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: str=None, dns_servers: str=None, is_swift: bool=None, **kwargs) -> None: - super(VnetInfo, self).__init__(kind=kind, **kwargs) - self.vnet_resource_id = vnet_resource_id - self.cert_thumbprint = None - self.cert_blob = cert_blob - self.routes = None - self.resync_required = None - self.dns_servers = dns_servers - self.is_swift = is_swift diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters.py deleted file mode 100644 index 493b96c7daa1..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetParameters(ProxyOnlyResource): - """The required set of inputs to validate a VNET. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_resource_group: The Resource Group of the VNET to be validated - :type vnet_resource_group: str - :param vnet_name: The name of the VNET to be validated - :type vnet_name: str - :param vnet_subnet_name: The subnet name to be validated - :type vnet_subnet_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VnetParameters, self).__init__(**kwargs) - self.vnet_resource_group = kwargs.get('vnet_resource_group', None) - self.vnet_name = kwargs.get('vnet_name', None) - self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters_py3.py deleted file mode 100644 index 342af4a4e5a5..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_parameters_py3.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetParameters(ProxyOnlyResource): - """The required set of inputs to validate a VNET. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param vnet_resource_group: The Resource Group of the VNET to be validated - :type vnet_resource_group: str - :param vnet_name: The name of the VNET to be validated - :type vnet_name: str - :param vnet_subnet_name: The subnet name to be validated - :type vnet_subnet_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, - 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, - 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, vnet_resource_group: str=None, vnet_name: str=None, vnet_subnet_name: str=None, **kwargs) -> None: - super(VnetParameters, self).__init__(kind=kind, **kwargs) - self.vnet_resource_group = vnet_resource_group - self.vnet_name = vnet_name - self.vnet_subnet_name = vnet_subnet_name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route.py deleted file mode 100644 index 8e0158098ceb..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetRoute(ProxyOnlyResource): - """Virtual Network route contract used to pass routing information for a - Virtual Network. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_address: The starting address for this route. This may also - include a CIDR notation, in which case the end address must not be - specified. - :type start_address: str - :param end_address: The ending address for this route. If the start - address is specified in CIDR notation, this must be omitted. - :type end_address: str - :param route_type: The type of route this is: - DEFAULT - By default, every app has routes to the local address ranges - specified by RFC1918 - INHERITED - Routes inherited from the real Virtual Network routes - STATIC - Static route set on the app only - These values will be used for syncing an app's routes with those from a - Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' - :type route_type: str or ~azure.mgmt.web.models.RouteType - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, - 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, - 'route_type': {'key': 'properties.routeType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VnetRoute, self).__init__(**kwargs) - self.start_address = kwargs.get('start_address', None) - self.end_address = kwargs.get('end_address', None) - self.route_type = kwargs.get('route_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route_py3.py deleted file mode 100644 index 1816fa5834c9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_route_py3.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetRoute(ProxyOnlyResource): - """Virtual Network route contract used to pass routing information for a - Virtual Network. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param start_address: The starting address for this route. This may also - include a CIDR notation, in which case the end address must not be - specified. - :type start_address: str - :param end_address: The ending address for this route. If the start - address is specified in CIDR notation, this must be omitted. - :type end_address: str - :param route_type: The type of route this is: - DEFAULT - By default, every app has routes to the local address ranges - specified by RFC1918 - INHERITED - Routes inherited from the real Virtual Network routes - STATIC - Static route set on the app only - These values will be used for syncing an app's routes with those from a - Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' - :type route_type: str or ~azure.mgmt.web.models.RouteType - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, - 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, - 'route_type': {'key': 'properties.routeType', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: - super(VnetRoute, self).__init__(kind=kind, **kwargs) - self.start_address = start_address - self.end_address = end_address - self.route_type = route_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details.py deleted file mode 100644 index f980264509d3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetValidationFailureDetails(ProxyOnlyResource): - """A class that describes the reason for a validation failure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param failed: A flag describing whether or not validation failed. - :type failed: bool - :param failed_tests: A list of tests that failed in the validation. - :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'failed': {'key': 'properties.failed', 'type': 'bool'}, - 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, - } - - def __init__(self, **kwargs): - super(VnetValidationFailureDetails, self).__init__(**kwargs) - self.failed = kwargs.get('failed', None) - self.failed_tests = kwargs.get('failed_tests', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details_py3.py deleted file mode 100644 index 6d0fcd6b6ae8..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_failure_details_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetValidationFailureDetails(ProxyOnlyResource): - """A class that describes the reason for a validation failure. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param failed: A flag describing whether or not validation failed. - :type failed: bool - :param failed_tests: A list of tests that failed in the validation. - :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'failed': {'key': 'properties.failed', 'type': 'bool'}, - 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, - } - - def __init__(self, *, kind: str=None, failed: bool=None, failed_tests=None, **kwargs) -> None: - super(VnetValidationFailureDetails, self).__init__(kind=kind, **kwargs) - self.failed = failed - self.failed_tests = failed_tests diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure.py deleted file mode 100644 index 25326a68951a..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class VnetValidationTestFailure(ProxyOnlyResource): - """A class that describes a test that failed during NSG and UDR validation. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param test_name: The name of the test that failed. - :type test_name: str - :param details: The details of what caused the failure, e.g. the blocking - rule name, etc. - :type details: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'test_name': {'key': 'properties.testName', 'type': 'str'}, - 'details': {'key': 'properties.details', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VnetValidationTestFailure, self).__init__(**kwargs) - self.test_name = kwargs.get('test_name', None) - self.details = kwargs.get('details', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure_py3.py deleted file mode 100644 index e8d1d9854a18..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/vnet_validation_test_failure_py3.py +++ /dev/null @@ -1,54 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class VnetValidationTestFailure(ProxyOnlyResource): - """A class that describes a test that failed during NSG and UDR validation. - - 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param test_name: The name of the test that failed. - :type test_name: str - :param details: The details of what caused the failure, e.g. the blocking - rule name, etc. - :type details: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'test_name': {'key': 'properties.testName', 'type': 'str'}, - 'details': {'key': 'properties.details', 'type': 'str'}, - } - - def __init__(self, *, kind: str=None, test_name: str=None, details: str=None, **kwargs) -> None: - super(VnetValidationTestFailure, self).__init__(kind=kind, **kwargs) - self.test_name = test_name - self.details = details diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection.py deleted file mode 100644 index a74350b0d7a4..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WebAppCollection(Model): - """Collection of App Service apps. - - 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 value: Required. Collection of resources. - :type value: list[~azure.mgmt.web.models.Site] - :ivar next_link: Link to next page of resources. - :vartype next_link: str - """ - - _validation = { - 'value': {'required': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Site]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(WebAppCollection, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection_py3.py deleted file mode 100644 index 855f2095a1a3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_app_collection_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WebAppCollection(Model): - """Collection of App Service apps. - - 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 value: Required. Collection of resources. - :type value: list[~azure.mgmt.web.models.Site] - :ivar next_link: Link to next page of resources. - :vartype next_link: str - """ - - _validation = { - 'value': {'required': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Site]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__(self, *, value, **kwargs) -> None: - super(WebAppCollection, self).__init__(**kwargs) - self.value = value - self.next_link = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job.py deleted file mode 100644 index d162868885d3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class WebJob(ProxyOnlyResource): - """Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, **kwargs): - super(WebJob, self).__init__(**kwargs) - self.run_command = kwargs.get('run_command', None) - self.url = kwargs.get('url', None) - self.extra_info_url = kwargs.get('extra_info_url', None) - self.web_job_type = kwargs.get('web_job_type', None) - self.error = kwargs.get('error', None) - self.using_sdk = kwargs.get('using_sdk', None) - self.settings = kwargs.get('settings', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_paged.py deleted file mode 100644 index f275f2de3af0..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 WebJobPaged(Paged): - """ - A paging container for iterating over a list of :class:`WebJob ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WebJob]'} - } - - def __init__(self, *args, **kwargs): - - super(WebJobPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_py3.py deleted file mode 100644 index 47bb10e340b6..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_job_py3.py +++ /dev/null @@ -1,74 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class WebJob(ProxyOnlyResource): - """Web Job 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param run_command: Run command. - :type run_command: str - :param url: Job URL. - :type url: str - :param extra_info_url: Extra Info URL. - :type extra_info_url: str - :param web_job_type: Job type. Possible values include: 'Continuous', - 'Triggered' - :type web_job_type: str or ~azure.mgmt.web.models.WebJobType - :param error: Error information. - :type error: str - :param using_sdk: Using SDK? - :type using_sdk: bool - :param settings: Job settings. - :type settings: dict[str, object] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'run_command': {'key': 'properties.run_command', 'type': 'str'}, - 'url': {'key': 'properties.url', 'type': 'str'}, - 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, - 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, - 'error': {'key': 'properties.error', 'type': 'str'}, - 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, - 'settings': {'key': 'properties.settings', 'type': '{object}'}, - } - - def __init__(self, *, kind: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: - super(WebJob, self).__init__(kind=kind, **kwargs) - self.run_command = run_command - self.url = url - self.extra_info_url = extra_info_url - self.web_job_type = web_job_type - self.error = error - self.using_sdk = using_sdk - self.settings = settings diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool.py deleted file mode 100644 index 74b28651e46c..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkerPool(Model): - """Worker pool of an App Service Environment. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param worker_size_id: Worker size ID for referencing this worker pool. - :type worker_size_id: int - :param compute_mode: Shared or dedicated app hosting. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: VM size of the worker pool instances. - :type worker_size: str - :param worker_count: Number of instances in the worker pool. - :type worker_count: int - :ivar instance_names: Names of all instances in the worker pool (read - only). - :vartype instance_names: list[str] - """ - - _validation = { - 'instance_names': {'readonly': True}, - } - - _attribute_map = { - 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, - 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'workerSize', 'type': 'str'}, - 'worker_count': {'key': 'workerCount', 'type': 'int'}, - 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(WorkerPool, self).__init__(**kwargs) - self.worker_size_id = kwargs.get('worker_size_id', None) - self.compute_mode = kwargs.get('compute_mode', None) - self.worker_size = kwargs.get('worker_size', None) - self.worker_count = kwargs.get('worker_count', None) - self.instance_names = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_py3.py deleted file mode 100644 index d320043e70b9..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class WorkerPool(Model): - """Worker pool of an App Service Environment. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param worker_size_id: Worker size ID for referencing this worker pool. - :type worker_size_id: int - :param compute_mode: Shared or dedicated app hosting. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: VM size of the worker pool instances. - :type worker_size: str - :param worker_count: Number of instances in the worker pool. - :type worker_count: int - :ivar instance_names: Names of all instances in the worker pool (read - only). - :vartype instance_names: list[str] - """ - - _validation = { - 'instance_names': {'readonly': True}, - } - - _attribute_map = { - 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, - 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'workerSize', 'type': 'str'}, - 'worker_count': {'key': 'workerCount', 'type': 'int'}, - 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, - } - - def __init__(self, *, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, **kwargs) -> None: - super(WorkerPool, self).__init__(**kwargs) - self.worker_size_id = worker_size_id - self.compute_mode = compute_mode - self.worker_size = worker_size - self.worker_count = worker_count - self.instance_names = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource.py deleted file mode 100644 index ca90bf8d794d..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource import ProxyOnlyResource - - -class WorkerPoolResource(ProxyOnlyResource): - """Worker pool of an App Service Environment ARM 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param worker_size_id: Worker size ID for referencing this worker pool. - :type worker_size_id: int - :param compute_mode: Shared or dedicated app hosting. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: VM size of the worker pool instances. - :type worker_size: str - :param worker_count: Number of instances in the worker pool. - :type worker_count: int - :ivar instance_names: Names of all instances in the worker pool (read - only). - :vartype instance_names: list[str] - :param sku: - :type sku: ~azure.mgmt.web.models.SkuDescription - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'instance_names': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, - 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, - 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, - 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - } - - def __init__(self, **kwargs): - super(WorkerPoolResource, self).__init__(**kwargs) - self.worker_size_id = kwargs.get('worker_size_id', None) - self.compute_mode = kwargs.get('compute_mode', None) - self.worker_size = kwargs.get('worker_size', None) - self.worker_count = kwargs.get('worker_count', None) - self.instance_names = None - self.sku = kwargs.get('sku', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_paged.py deleted file mode 100644 index e05c7fac1619..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# 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 WorkerPoolResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`WorkerPoolResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[WorkerPoolResource]'} - } - - def __init__(self, *args, **kwargs): - - super(WorkerPoolResourcePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_py3.py deleted file mode 100644 index ab2c8333804b..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/worker_pool_resource_py3.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .proxy_only_resource_py3 import ProxyOnlyResource - - -class WorkerPoolResource(ProxyOnlyResource): - """Worker pool of an App Service Environment ARM 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 - :param kind: Kind of resource. - :type kind: str - :ivar type: Resource type. - :vartype type: str - :param worker_size_id: Worker size ID for referencing this worker pool. - :type worker_size_id: int - :param compute_mode: Shared or dedicated app hosting. Possible values - include: 'Shared', 'Dedicated', 'Dynamic' - :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions - :param worker_size: VM size of the worker pool instances. - :type worker_size: str - :param worker_count: Number of instances in the worker pool. - :type worker_count: int - :ivar instance_names: Names of all instances in the worker pool (read - only). - :vartype instance_names: list[str] - :param sku: - :type sku: ~azure.mgmt.web.models.SkuDescription - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'instance_names': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, - 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, - 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, - 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, - 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, - 'sku': {'key': 'sku', 'type': 'SkuDescription'}, - } - - def __init__(self, *, kind: str=None, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, sku=None, **kwargs) -> None: - super(WorkerPoolResource, self).__init__(kind=kind, **kwargs) - self.worker_size_id = worker_size_id - self.compute_mode = compute_mode - self.worker_size = worker_size - self.worker_count = worker_count - self.instance_names = None - self.sku = sku diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/__init__.py deleted file mode 100644 index 20bb873098b3..000000000000 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .app_service_certificate_orders_operations import AppServiceCertificateOrdersOperations -from .certificate_registration_provider_operations import CertificateRegistrationProviderOperations -from .domains_operations import DomainsOperations -from .top_level_domains_operations import TopLevelDomainsOperations -from .domain_registration_provider_operations import DomainRegistrationProviderOperations -from .certificates_operations import CertificatesOperations -from .deleted_web_apps_operations import DeletedWebAppsOperations -from .diagnostics_operations import DiagnosticsOperations -from .provider_operations import ProviderOperations -from .recommendations_operations import RecommendationsOperations -from .web_apps_operations import WebAppsOperations -from .app_service_environments_operations import AppServiceEnvironmentsOperations -from .app_service_plans_operations import AppServicePlansOperations -from .resource_health_metadata_operations import ResourceHealthMetadataOperations - -__all__ = [ - 'AppServiceCertificateOrdersOperations', - 'CertificateRegistrationProviderOperations', - 'DomainsOperations', - 'TopLevelDomainsOperations', - 'DomainRegistrationProviderOperations', - 'CertificatesOperations', - 'DeletedWebAppsOperations', - 'DiagnosticsOperations', - 'ProviderOperations', - 'RecommendationsOperations', - 'WebAppsOperations', - 'AppServiceEnvironmentsOperations', - 'AppServicePlansOperations', - 'ResourceHealthMetadataOperations', -] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/__init__.py similarity index 56% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/__init__.py index cfc47d475f44..55c66f839cff 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/__init__.py @@ -9,20 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model +from ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] +from .version import VERSION -class NameIdentifier(Model): - """Identifies an object. +__version__ = VERSION - :param name: Name of the object. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NameIdentifier, self).__init__(**kwargs) - self.name = kwargs.get('name', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_web_site_management_client.py new file mode 100644 index 000000000000..fec20065beaa --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/_web_site_management_client.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.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import WebSiteManagementClientConfiguration +from .operations import DomainsOperations +from .operations import TopLevelDomainsOperations +from .operations import DomainRegistrationProviderOperations +from . import models + + +class WebSiteManagementClient(SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar domains: Domains operations + :vartype domains: azure.mgmt.web.operations.DomainsOperations + :ivar top_level_domains: TopLevelDomains operations + :vartype top_level_domains: azure.mgmt.web.operations.TopLevelDomainsOperations + :ivar domain_registration_provider: DomainRegistrationProvider operations + :vartype domain_registration_provider: azure.mgmt.web.operations.DomainRegistrationProviderOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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-04-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.domains = DomainsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.top_level_domains = TopLevelDomainsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.domain_registration_provider = DomainRegistrationProviderOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/__init__.py new file mode 100644 index 000000000000..fe5a475ae205 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/__init__.py @@ -0,0 +1,271 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import Address + from ._models_py3 import ApiDefinitionInfo + from ._models_py3 import AppServicePlan + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import Capability + from ._models_py3 import CloningInfo + from ._models_py3 import ConnStringInfo + from ._models_py3 import Contact + from ._models_py3 import CorsSettings + from ._models_py3 import CsmOperationDescription + from ._models_py3 import CsmOperationDescriptionProperties + from ._models_py3 import CsmOperationDisplay + from ._models_py3 import Dimension + from ._models_py3 import Domain + from ._models_py3 import DomainAvailablilityCheckResult + from ._models_py3 import DomainControlCenterSsoRequest + from ._models_py3 import DomainOwnershipIdentifier + from ._models_py3 import DomainPatchResource + from ._models_py3 import DomainPurchaseConsent + from ._models_py3 import DomainRecommendationSearchParameters + from ._models_py3 import ErrorResponse, ErrorResponseException + from ._models_py3 import Experiments + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostName + from ._models_py3 import HostNameSslState + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import MetricAvailability + from ._models_py3 import MetricSpecification + from ._models_py3 import NameIdentifier + from ._models_py3 import NameValuePair + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricName + from ._models_py3 import ServiceSpecification + from ._models_py3 import Site + from ._models_py3 import SiteConfig + from ._models_py3 import SiteLimits + from ._models_py3 import SiteMachineKey + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import SnapshotRecoveryRequest + from ._models_py3 import SnapshotRecoveryTarget + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import TldLegalAgreement + from ._models_py3 import TopLevelDomain + from ._models_py3 import TopLevelDomainAgreementOption + from ._models_py3 import User + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetRoute +except (SyntaxError, ImportError): + from ._models import Address + from ._models import ApiDefinitionInfo + from ._models import AppServicePlan + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import Capability + from ._models import CloningInfo + from ._models import ConnStringInfo + from ._models import Contact + from ._models import CorsSettings + from ._models import CsmOperationDescription + from ._models import CsmOperationDescriptionProperties + from ._models import CsmOperationDisplay + from ._models import Dimension + from ._models import Domain + from ._models import DomainAvailablilityCheckResult + from ._models import DomainControlCenterSsoRequest + from ._models import DomainOwnershipIdentifier + from ._models import DomainPatchResource + from ._models import DomainPurchaseConsent + from ._models import DomainRecommendationSearchParameters + from ._models import ErrorResponse, ErrorResponseException + from ._models import Experiments + from ._models import HandlerMapping + from ._models import HostingEnvironmentProfile + from ._models import HostName + from ._models import HostNameSslState + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import ManagedServiceIdentity + from ._models import MetricAvailability + from ._models import MetricSpecification + from ._models import NameIdentifier + from ._models import NameValuePair + from ._models import ProxyOnlyResource + from ._models import PushSettings + from ._models import RampUpRule + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricName + from ._models import ServiceSpecification + from ._models import Site + from ._models import SiteConfig + from ._models import SiteLimits + from ._models import SiteMachineKey + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import SnapshotRecoveryRequest + from ._models import SnapshotRecoveryTarget + from ._models import StatusCodesBasedTrigger + from ._models import TldLegalAgreement + from ._models import TopLevelDomain + from ._models import TopLevelDomainAgreementOption + from ._models import User + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetRoute +from ._paged_models import CsmOperationDescriptionPaged +from ._paged_models import DomainOwnershipIdentifierPaged +from ._paged_models import DomainPaged +from ._paged_models import NameIdentifierPaged +from ._paged_models import TldLegalAgreementPaged +from ._paged_models import TopLevelDomainPaged +from ._web_site_management_client_enums import ( + DomainStatus, + ProvisioningState, + AzureResourceType, + CustomHostNameDnsRecordType, + HostNameType, + DnsType, + DomainType, + RouteType, + ManagedServiceIdentityType, + AutoHealActionType, + ConnectionStringType, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + StatusOptions, +) + +__all__ = [ + 'Address', + 'ApiDefinitionInfo', + 'AppServicePlan', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'Capability', + 'CloningInfo', + 'ConnStringInfo', + 'Contact', + 'CorsSettings', + 'CsmOperationDescription', + 'CsmOperationDescriptionProperties', + 'CsmOperationDisplay', + 'Dimension', + 'Domain', + 'DomainAvailablilityCheckResult', + 'DomainControlCenterSsoRequest', + 'DomainOwnershipIdentifier', + 'DomainPatchResource', + 'DomainPurchaseConsent', + 'DomainRecommendationSearchParameters', + 'ErrorResponse', 'ErrorResponseException', + 'Experiments', + 'HandlerMapping', + 'HostingEnvironmentProfile', + 'HostName', + 'HostNameSslState', + 'HybridConnection', + 'HybridConnectionKey', + 'Identifier', + 'IpSecurityRestriction', + 'ManagedServiceIdentity', + 'MetricAvailability', + 'MetricSpecification', + 'NameIdentifier', + 'NameValuePair', + 'ProxyOnlyResource', + 'PushSettings', + 'RampUpRule', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'ResourceMetricName', + 'ServiceSpecification', + 'Site', + 'SiteConfig', + 'SiteLimits', + 'SiteMachineKey', + 'SkuCapacity', + 'SkuDescription', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'SnapshotRecoveryRequest', + 'SnapshotRecoveryTarget', + 'StatusCodesBasedTrigger', + 'TldLegalAgreement', + 'TopLevelDomain', + 'TopLevelDomainAgreementOption', + 'User', + 'VirtualApplication', + 'VirtualDirectory', + 'VnetGateway', + 'VnetInfo', + 'VnetRoute', + 'DomainPaged', + 'NameIdentifierPaged', + 'DomainOwnershipIdentifierPaged', + 'TopLevelDomainPaged', + 'TldLegalAgreementPaged', + 'CsmOperationDescriptionPaged', + 'DomainStatus', + 'ProvisioningState', + 'AzureResourceType', + 'CustomHostNameDnsRecordType', + 'HostNameType', + 'DnsType', + 'DomainType', + 'RouteType', + 'ManagedServiceIdentityType', + 'AutoHealActionType', + 'ConnectionStringType', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'StatusOptions', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models.py new file mode 100644 index 000000000000..41728046e9e8 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models.py @@ -0,0 +1,3103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 Address(Model): + """Address information for domain registration. + + All required parameters must be populated in order to send to Azure. + + :param address1: Required. First line of an Address. + :type address1: str + :param address2: The second line of the Address. Optional. + :type address2: str + :param city: Required. The city for the address. + :type city: str + :param country: Required. The country for the address. + :type country: str + :param postal_code: Required. The postal code for the address. + :type postal_code: str + :param state: Required. The state or province for the address. + :type state: str + """ + + _validation = { + 'address1': {'required': True}, + 'city': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'address1': {'key': 'address1', 'type': 'str'}, + 'address2': {'key': 'address2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Address, self).__init__(**kwargs) + self.address1 = kwargs.get('address1', None) + self.address2 = kwargs.get('address2', None) + self.city = kwargs.get('city', None) + self.country = kwargs.get('country', None) + self.postal_code = kwargs.get('postal_code', None) + self.state = kwargs.get('state', None) + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.app_service_plan_name = kwargs.get('app_service_plan_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + self.ignore_quotas = kwargs.get('ignore_quotas', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class Contact(Model): + """Contact information for domain registration. If 'Domain Privacy' option is + not selected then the contact information is made publicly available + through the Whois + directories as per ICANN requirements. + + All required parameters must be populated in order to send to Azure. + + :param address_mailing: Mailing address. + :type address_mailing: ~azure.mgmt.web.models.Address + :param email: Required. Email address. + :type email: str + :param fax: Fax number. + :type fax: str + :param job_title: Job title. + :type job_title: str + :param name_first: Required. First name. + :type name_first: str + :param name_last: Required. Last name. + :type name_last: str + :param name_middle: Middle name. + :type name_middle: str + :param organization: Organization contact belongs to. + :type organization: str + :param phone: Required. Phone number. + :type phone: str + """ + + _validation = { + 'email': {'required': True}, + 'name_first': {'required': True}, + 'name_last': {'required': True}, + 'phone': {'required': True}, + } + + _attribute_map = { + 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, + 'email': {'key': 'email', 'type': 'str'}, + 'fax': {'key': 'fax', 'type': 'str'}, + 'job_title': {'key': 'jobTitle', 'type': 'str'}, + 'name_first': {'key': 'nameFirst', 'type': 'str'}, + 'name_last': {'key': 'nameLast', 'type': 'str'}, + 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, + 'organization': {'key': 'organization', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Contact, self).__init__(**kwargs) + self.address_mailing = kwargs.get('address_mailing', None) + self.email = kwargs.get('email', None) + self.fax = kwargs.get('fax', None) + self.job_title = kwargs.get('job_title', None) + self.name_first = kwargs.get('name_first', None) + self.name_last = kwargs.get('name_last', None) + self.name_middle = kwargs.get('name_middle', None) + self.organization = kwargs.get('organization', None) + self.phone = kwargs.get('phone', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, 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) + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class Domain(Resource): + """Information about a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Domain, self).__init__(**kwargs) + self.contact_admin = kwargs.get('contact_admin', None) + self.contact_billing = kwargs.get('contact_billing', None) + self.contact_registrant = kwargs.get('contact_registrant', None) + self.contact_tech = kwargs.get('contact_tech', None) + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = kwargs.get('privacy', None) + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = kwargs.get('auto_renew', True) + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = kwargs.get('consent', None) + self.domain_not_renewable_reasons = None + self.dns_type = kwargs.get('dns_type', None) + self.dns_zone_id = kwargs.get('dns_zone_id', None) + self.target_dns_type = kwargs.get('target_dns_type', None) + self.auth_code = kwargs.get('auth_code', None) + + +class DomainAvailablilityCheckResult(Model): + """Domain availability check result. + + :param name: Name of the domain. + :type name: str + :param available: true if domain can be purchased using + CreateDomain API; otherwise, false. + :type available: bool + :param domain_type: Valid values are Regular domain: Azure will charge the + full price of domain registration, SoftDeleted: Purchasing this domain + will simply restore it and this operation will not cost anything. Possible + values include: 'Regular', 'SoftDeleted' + :type domain_type: str or ~azure.mgmt.web.models.DomainType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available': {'key': 'available', 'type': 'bool'}, + 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, + } + + def __init__(self, **kwargs): + super(DomainAvailablilityCheckResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.available = kwargs.get('available', None) + self.domain_type = kwargs.get('domain_type', None) + + +class DomainControlCenterSsoRequest(Model): + """Single sign-on request information for domain management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar url: URL where the single sign-on request is to be made. + :vartype url: str + :ivar post_parameter_key: Post parameter key. + :vartype post_parameter_key: str + :ivar post_parameter_value: Post parameter value. Client should use + 'application/x-www-form-urlencoded' encoding for this value. + :vartype post_parameter_value: str + """ + + _validation = { + 'url': {'readonly': True}, + 'post_parameter_key': {'readonly': True}, + 'post_parameter_value': {'readonly': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, + 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainControlCenterSsoRequest, self).__init__(**kwargs) + self.url = None + self.post_parameter_key = None + self.post_parameter_value = None + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class DomainOwnershipIdentifier(ProxyOnlyResource): + """Domain ownership Identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param ownership_id: Ownership Id. + :type ownership_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainOwnershipIdentifier, self).__init__(**kwargs) + self.ownership_id = kwargs.get('ownership_id', None) + + +class DomainPatchResource(ProxyOnlyResource): + """ARM resource for a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainPatchResource, self).__init__(**kwargs) + self.contact_admin = kwargs.get('contact_admin', None) + self.contact_billing = kwargs.get('contact_billing', None) + self.contact_registrant = kwargs.get('contact_registrant', None) + self.contact_tech = kwargs.get('contact_tech', None) + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = kwargs.get('privacy', None) + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = kwargs.get('auto_renew', True) + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = kwargs.get('consent', None) + self.domain_not_renewable_reasons = None + self.dns_type = kwargs.get('dns_type', None) + self.dns_zone_id = kwargs.get('dns_zone_id', None) + self.target_dns_type = kwargs.get('target_dns_type', None) + self.auth_code = kwargs.get('auth_code', None) + + +class DomainPurchaseConsent(Model): + """Domain purchase consent object, representing acceptance of applicable legal + agreements. + + :param agreement_keys: List of applicable legal agreement keys. This list + can be retrieved using ListLegalAgreements API under + TopLevelDomain resource. + :type agreement_keys: list[str] + :param agreed_by: Client IP address. + :type agreed_by: str + :param agreed_at: Timestamp when the agreements were accepted. + :type agreed_at: datetime + """ + + _attribute_map = { + 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, + 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, + 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(DomainPurchaseConsent, self).__init__(**kwargs) + self.agreement_keys = kwargs.get('agreement_keys', None) + self.agreed_by = kwargs.get('agreed_by', None) + self.agreed_at = kwargs.get('agreed_at', None) + + +class DomainRecommendationSearchParameters(Model): + """Domain recommendation search parameters. + + :param keywords: Keywords to be used for generating domain + recommendations. + :type keywords: str + :param max_domain_recommendations: Maximum number of recommendations. + :type max_domain_recommendations: int + """ + + _attribute_map = { + 'keywords': {'key': 'keywords', 'type': 'str'}, + 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DomainRecommendationSearchParameters, self).__init__(**kwargs) + self.keywords = kwargs.get('keywords', None) + self.max_domain_recommendations = kwargs.get('max_domain_recommendations', None) + + +class ErrorResponse(Model): + """Error Response. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('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) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostName(Model): + """Details of a hostname derived from a domain. + + :param name: Name of the hostname. + :type name: str + :param site_names: List of apps the hostname is assigned to. This list + will have more than one app only if the hostname is pointing to a Traffic + Manager. + :type site_names: list[str] + :param azure_resource_name: Name of the Azure resource the hostname is + assigned to. If it is assigned to a Traffic Manager then it will be the + Traffic Manager name otherwise it will be the app name. + :type azure_resource_name: str + :param azure_resource_type: Type of the Azure resource the hostname is + assigned to. Possible values include: 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Type of the DNS record. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Type of the hostname. Possible values include: + 'Verified', 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'site_names': {'key': 'siteNames', 'type': '[str]'}, + 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, + } + + def __init__(self, **kwargs): + super(HostName, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.site_names = kwargs.get('site_names', None) + self.azure_resource_name = kwargs.get('azure_resource_name', None) + self.azure_resource_type = kwargs.get('azure_resource_type', None) + self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) + self.host_name_type = kwargs.get('host_name_type', None) + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supports_instance_level_aggregation = kwargs.get('supports_instance_level_aggregation', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.is_internal = kwargs.get('is_internal', None) + self.dimensions = kwargs.get('dimensions', None) + self.category = kwargs.get('category', None) + self.availabilities = kwargs.get('availabilities', None) + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameIdentifier, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.identity = kwargs.get('identity', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_target = kwargs.get('recovery_target', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class TldLegalAgreement(Model): + """Legal agreement for a top level domain. + + All required parameters must be populated in order to send to Azure. + + :param agreement_key: Required. Unique identifier for the agreement. + :type agreement_key: str + :param title: Required. Agreement title. + :type title: str + :param content: Required. Agreement details. + :type content: str + :param url: URL where a copy of the agreement details is hosted. + :type url: str + """ + + _validation = { + 'agreement_key': {'required': True}, + 'title': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TldLegalAgreement, self).__init__(**kwargs) + self.agreement_key = kwargs.get('agreement_key', None) + self.title = kwargs.get('title', None) + self.content = kwargs.get('content', None) + self.url = kwargs.get('url', None) + + +class TopLevelDomain(ProxyOnlyResource): + """A top level domain object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar domain_name: Name of the top level domain. + :vartype domain_name: str + :param privacy: If true, then the top level domain supports + domain privacy; otherwise, false. + :type privacy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'domain_name': {'key': 'properties.name', 'type': 'str'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TopLevelDomain, self).__init__(**kwargs) + self.domain_name = None + self.privacy = kwargs.get('privacy', None) + + +class TopLevelDomainAgreementOption(Model): + """Options for retrieving the list of top level domain legal agreements. + + :param include_privacy: If true, then the list of agreements + will include agreements for domain privacy as well; otherwise, + false. + :type include_privacy: bool + :param for_transfer: If true, then the list of agreements + will include agreements for domain transfer as well; otherwise, + false. + :type for_transfer: bool + """ + + _attribute_map = { + 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, + 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TopLevelDomainAgreementOption, self).__init__(**kwargs) + self.include_privacy = kwargs.get('include_privacy', None) + self.for_transfer = kwargs.get('for_transfer', None) + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.vnet_route_name = kwargs.get('vnet_route_name', None) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models_py3.py new file mode 100644 index 000000000000..3e00135fc340 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_models_py3.py @@ -0,0 +1,3103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 Address(Model): + """Address information for domain registration. + + All required parameters must be populated in order to send to Azure. + + :param address1: Required. First line of an Address. + :type address1: str + :param address2: The second line of the Address. Optional. + :type address2: str + :param city: Required. The city for the address. + :type city: str + :param country: Required. The country for the address. + :type country: str + :param postal_code: Required. The postal code for the address. + :type postal_code: str + :param state: Required. The state or province for the address. + :type state: str + """ + + _validation = { + 'address1': {'required': True}, + 'city': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'address1': {'key': 'address1', 'type': 'str'}, + 'address2': {'key': 'address2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, address1: str, city: str, country: str, postal_code: str, state: str, address2: str=None, **kwargs) -> None: + super(Address, self).__init__(**kwargs) + self.address1 = address1 + self.address2 = address2 + self.city = city + self.country = country + self.postal_code = postal_code + self.state = state + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, app_service_plan_name: str, kind: str=None, tags=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_plan_name = app_service_plan_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, ignore_quotas: bool=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + self.ignore_quotas = ignore_quotas + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class Contact(Model): + """Contact information for domain registration. If 'Domain Privacy' option is + not selected then the contact information is made publicly available + through the Whois + directories as per ICANN requirements. + + All required parameters must be populated in order to send to Azure. + + :param address_mailing: Mailing address. + :type address_mailing: ~azure.mgmt.web.models.Address + :param email: Required. Email address. + :type email: str + :param fax: Fax number. + :type fax: str + :param job_title: Job title. + :type job_title: str + :param name_first: Required. First name. + :type name_first: str + :param name_last: Required. Last name. + :type name_last: str + :param name_middle: Middle name. + :type name_middle: str + :param organization: Organization contact belongs to. + :type organization: str + :param phone: Required. Phone number. + :type phone: str + """ + + _validation = { + 'email': {'required': True}, + 'name_first': {'required': True}, + 'name_last': {'required': True}, + 'phone': {'required': True}, + } + + _attribute_map = { + 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, + 'email': {'key': 'email', 'type': 'str'}, + 'fax': {'key': 'fax', 'type': 'str'}, + 'job_title': {'key': 'jobTitle', 'type': 'str'}, + 'name_first': {'key': 'nameFirst', 'type': 'str'}, + 'name_last': {'key': 'nameLast', 'type': 'str'}, + 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, + 'organization': {'key': 'organization', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__(self, *, email: str, name_first: str, name_last: str, phone: str, address_mailing=None, fax: str=None, job_title: str=None, name_middle: str=None, organization: str=None, **kwargs) -> None: + super(Contact, self).__init__(**kwargs) + self.address_mailing = address_mailing + self.email = email + self.fax = fax + self.job_title = job_title + self.name_first = name_first + self.name_last = name_last + self.name_middle = name_middle + self.organization = organization + self.phone = phone + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, service_specification=None, **kwargs) -> None: + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, to_be_exported_for_shoebox: bool=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class Domain(Resource): + """Information about a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, *, location: str, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, tags=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: + super(Domain, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.contact_admin = contact_admin + self.contact_billing = contact_billing + self.contact_registrant = contact_registrant + self.contact_tech = contact_tech + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = privacy + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = auto_renew + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = consent + self.domain_not_renewable_reasons = None + self.dns_type = dns_type + self.dns_zone_id = dns_zone_id + self.target_dns_type = target_dns_type + self.auth_code = auth_code + + +class DomainAvailablilityCheckResult(Model): + """Domain availability check result. + + :param name: Name of the domain. + :type name: str + :param available: true if domain can be purchased using + CreateDomain API; otherwise, false. + :type available: bool + :param domain_type: Valid values are Regular domain: Azure will charge the + full price of domain registration, SoftDeleted: Purchasing this domain + will simply restore it and this operation will not cost anything. Possible + values include: 'Regular', 'SoftDeleted' + :type domain_type: str or ~azure.mgmt.web.models.DomainType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available': {'key': 'available', 'type': 'bool'}, + 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, + } + + def __init__(self, *, name: str=None, available: bool=None, domain_type=None, **kwargs) -> None: + super(DomainAvailablilityCheckResult, self).__init__(**kwargs) + self.name = name + self.available = available + self.domain_type = domain_type + + +class DomainControlCenterSsoRequest(Model): + """Single sign-on request information for domain management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar url: URL where the single sign-on request is to be made. + :vartype url: str + :ivar post_parameter_key: Post parameter key. + :vartype post_parameter_key: str + :ivar post_parameter_value: Post parameter value. Client should use + 'application/x-www-form-urlencoded' encoding for this value. + :vartype post_parameter_value: str + """ + + _validation = { + 'url': {'readonly': True}, + 'post_parameter_key': {'readonly': True}, + 'post_parameter_value': {'readonly': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, + 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DomainControlCenterSsoRequest, self).__init__(**kwargs) + self.url = None + self.post_parameter_key = None + self.post_parameter_value = None + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class DomainOwnershipIdentifier(ProxyOnlyResource): + """Domain ownership Identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param ownership_id: Ownership Id. + :type ownership_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, ownership_id: str=None, **kwargs) -> None: + super(DomainOwnershipIdentifier, self).__init__(kind=kind, **kwargs) + self.ownership_id = ownership_id + + +class DomainPatchResource(ProxyOnlyResource): + """ARM resource for a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, *, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: + super(DomainPatchResource, self).__init__(kind=kind, **kwargs) + self.contact_admin = contact_admin + self.contact_billing = contact_billing + self.contact_registrant = contact_registrant + self.contact_tech = contact_tech + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = privacy + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = auto_renew + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = consent + self.domain_not_renewable_reasons = None + self.dns_type = dns_type + self.dns_zone_id = dns_zone_id + self.target_dns_type = target_dns_type + self.auth_code = auth_code + + +class DomainPurchaseConsent(Model): + """Domain purchase consent object, representing acceptance of applicable legal + agreements. + + :param agreement_keys: List of applicable legal agreement keys. This list + can be retrieved using ListLegalAgreements API under + TopLevelDomain resource. + :type agreement_keys: list[str] + :param agreed_by: Client IP address. + :type agreed_by: str + :param agreed_at: Timestamp when the agreements were accepted. + :type agreed_at: datetime + """ + + _attribute_map = { + 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, + 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, + 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, agreement_keys=None, agreed_by: str=None, agreed_at=None, **kwargs) -> None: + super(DomainPurchaseConsent, self).__init__(**kwargs) + self.agreement_keys = agreement_keys + self.agreed_by = agreed_by + self.agreed_at = agreed_at + + +class DomainRecommendationSearchParameters(Model): + """Domain recommendation search parameters. + + :param keywords: Keywords to be used for generating domain + recommendations. + :type keywords: str + :param max_domain_recommendations: Maximum number of recommendations. + :type max_domain_recommendations: int + """ + + _attribute_map = { + 'keywords': {'key': 'keywords', 'type': 'str'}, + 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, + } + + def __init__(self, *, keywords: str=None, max_domain_recommendations: int=None, **kwargs) -> None: + super(DomainRecommendationSearchParameters, self).__init__(**kwargs) + self.keywords = keywords + self.max_domain_recommendations = max_domain_recommendations + + +class ErrorResponse(Model): + """Error Response. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.code = code + self.message = 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) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostName(Model): + """Details of a hostname derived from a domain. + + :param name: Name of the hostname. + :type name: str + :param site_names: List of apps the hostname is assigned to. This list + will have more than one app only if the hostname is pointing to a Traffic + Manager. + :type site_names: list[str] + :param azure_resource_name: Name of the Azure resource the hostname is + assigned to. If it is assigned to a Traffic Manager then it will be the + Traffic Manager name otherwise it will be the app name. + :type azure_resource_name: str + :param azure_resource_type: Type of the Azure resource the hostname is + assigned to. Possible values include: 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Type of the DNS record. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Type of the hostname. Possible values include: + 'Verified', 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'site_names': {'key': 'siteNames', 'type': '[str]'}, + 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, + } + + def __init__(self, *, name: str=None, site_names=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, **kwargs) -> None: + super(HostName, self).__init__(**kwargs) + self.name = name + self.site_names = site_names + self.azure_resource_name = azure_resource_name + self.azure_resource_type = azure_resource_type + self.custom_host_name_dns_record_type = custom_host_name_dns_record_type + self.host_name_type = host_name_type + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str, subnet_mask: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, blob_duration: str=None, **kwargs) -> None: + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = time_grain + self.blob_duration = blob_duration + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, supports_instance_level_aggregation: bool=None, enable_regional_mdm_account: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, metric_filter_pattern: str=None, fill_gap_with_zero: bool=None, is_internal: bool=None, dimensions=None, category: str=None, availabilities=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.supports_instance_level_aggregation = supports_instance_level_aggregation + self.enable_regional_mdm_account = enable_regional_mdm_account + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.metric_filter_pattern = metric_filter_pattern + self.fill_gap_with_zero = fill_gap_with_zero + self.is_internal = is_internal + self.dimensions = dimensions + self.category = category + self.availabilities = availabilities + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(NameIdentifier, self).__init__(**kwargs) + self.name = name + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.identity = identity + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_target=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, **kwargs) -> None: + super(SnapshotRecoveryRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_target = recovery_target + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = location + self.id = id + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class TldLegalAgreement(Model): + """Legal agreement for a top level domain. + + All required parameters must be populated in order to send to Azure. + + :param agreement_key: Required. Unique identifier for the agreement. + :type agreement_key: str + :param title: Required. Agreement title. + :type title: str + :param content: Required. Agreement details. + :type content: str + :param url: URL where a copy of the agreement details is hosted. + :type url: str + """ + + _validation = { + 'agreement_key': {'required': True}, + 'title': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, agreement_key: str, title: str, content: str, url: str=None, **kwargs) -> None: + super(TldLegalAgreement, self).__init__(**kwargs) + self.agreement_key = agreement_key + self.title = title + self.content = content + self.url = url + + +class TopLevelDomain(ProxyOnlyResource): + """A top level domain object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar domain_name: Name of the top level domain. + :vartype domain_name: str + :param privacy: If true, then the top level domain supports + domain privacy; otherwise, false. + :type privacy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'domain_name': {'key': 'properties.name', 'type': 'str'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, privacy: bool=None, **kwargs) -> None: + super(TopLevelDomain, self).__init__(kind=kind, **kwargs) + self.domain_name = None + self.privacy = privacy + + +class TopLevelDomainAgreementOption(Model): + """Options for retrieving the list of top level domain legal agreements. + + :param include_privacy: If true, then the list of agreements + will include agreements for domain privacy as well; otherwise, + false. + :type include_privacy: bool + :param for_transfer: If true, then the list of agreements + will include agreements for domain transfer as well; otherwise, + false. + :type for_transfer: bool + """ + + _attribute_map = { + 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, + 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, + } + + def __init__(self, *, include_privacy: bool=None, for_transfer: bool=None, **kwargs) -> None: + super(TopLevelDomainAgreementOption, self).__init__(**kwargs) + self.include_privacy = include_privacy + self.for_transfer = for_transfer + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, user_name: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.user_name = user_name + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: bytearray=None, dns_servers: str=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_route_name: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.vnet_route_name = vnet_route_name + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_paged_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_paged_models.py new file mode 100644 index 000000000000..b36d7a41d515 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_paged_models.py @@ -0,0 +1,92 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 DomainPaged(Paged): + """ + A paging container for iterating over a list of :class:`Domain ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Domain]'} + } + + def __init__(self, *args, **kwargs): + + super(DomainPaged, self).__init__(*args, **kwargs) +class NameIdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`NameIdentifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NameIdentifier]'} + } + + def __init__(self, *args, **kwargs): + + super(NameIdentifierPaged, self).__init__(*args, **kwargs) +class DomainOwnershipIdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`DomainOwnershipIdentifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DomainOwnershipIdentifier]'} + } + + def __init__(self, *args, **kwargs): + + super(DomainOwnershipIdentifierPaged, self).__init__(*args, **kwargs) +class TopLevelDomainPaged(Paged): + """ + A paging container for iterating over a list of :class:`TopLevelDomain ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TopLevelDomain]'} + } + + def __init__(self, *args, **kwargs): + + super(TopLevelDomainPaged, self).__init__(*args, **kwargs) +class TldLegalAgreementPaged(Paged): + """ + A paging container for iterating over a list of :class:`TldLegalAgreement ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TldLegalAgreement]'} + } + + def __init__(self, *args, **kwargs): + + super(TldLegalAgreementPaged, self).__init__(*args, **kwargs) +class CsmOperationDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmOperationDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmOperationDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmOperationDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..22f218bb63e5 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/models/_web_site_management_client_enums.py @@ -0,0 +1,182 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 DomainStatus(str, Enum): + + active = "Active" + awaiting = "Awaiting" + cancelled = "Cancelled" + confiscated = "Confiscated" + disabled = "Disabled" + excluded = "Excluded" + expired = "Expired" + failed = "Failed" + held = "Held" + locked = "Locked" + parked = "Parked" + pending = "Pending" + reserved = "Reserved" + reverted = "Reverted" + suspended = "Suspended" + transferred = "Transferred" + unknown = "Unknown" + unlocked = "Unlocked" + unparked = "Unparked" + updated = "Updated" + json_converter_failed = "JsonConverterFailed" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" + + +class AzureResourceType(str, Enum): + + website = "Website" + traffic_manager = "TrafficManager" + + +class CustomHostNameDnsRecordType(str, Enum): + + cname = "CName" + a = "A" + + +class HostNameType(str, Enum): + + verified = "Verified" + managed = "Managed" + + +class DnsType(str, Enum): + + azure_dns = "AzureDns" + default_domain_registrar_dns = "DefaultDomainRegistrarDns" + + +class DomainType(str, Enum): + + regular = "Regular" + soft_deleted = "SoftDeleted" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/__init__.py new file mode 100644 index 000000000000..c190a5674c86 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_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 ._domains_operations import DomainsOperations +from ._top_level_domains_operations import TopLevelDomainsOperations +from ._domain_registration_provider_operations import DomainRegistrationProviderOperations + +__all__ = [ + 'DomainsOperations', + 'TopLevelDomainsOperations', + 'DomainRegistrationProviderOperations', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domain_registration_provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domain_registration_provider_operations.py new file mode 100644 index 000000000000..686366e74b90 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domain_registration_provider_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class DomainRegistrationProviderOperations(object): + """DomainRegistrationProviderOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2015-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-04-01" + + self.config = config + + def list_operations( + self, custom_headers=None, raw=False, **operation_config): + """Implements Csm operations Api to exposes the list of available Csm Apis + under the resource provider. + + Implements Csm operations Api to exposes the list of available Csm Apis + under the resource provider. + + :param dict custom_headers: headers that will 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 CsmOperationDescription + :rtype: + ~azure.mgmt.web.models.CsmOperationDescriptionPaged[~azure.mgmt.web.models.CsmOperationDescription] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_operations.metadata = {'url': '/providers/Microsoft.DomainRegistration/operations'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domains_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domains_operations.py new file mode 100644 index 000000000000..dedfde837f6f --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_domains_operations.py @@ -0,0 +1,1102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 DomainsOperations(object): + """DomainsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2015-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-04-01" + + self.config = config + + def check_availability( + self, name=None, custom_headers=None, raw=False, **operation_config): + """Check if a domain is available for registration. + + Check if a domain is available for registration. + + :param name: Name of the object. + :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: DomainAvailablilityCheckResult or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.DomainAvailablilityCheckResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + identifier = models.NameIdentifier(name=name) + + # Construct URL + url = self.check_availability.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' + 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(identifier, 'NameIdentifier') + + # 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('DomainAvailablilityCheckResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all domains in a subscription. + + Get all domains 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 Domain + :rtype: + ~azure.mgmt.web.models.DomainPaged[~azure.mgmt.web.models.Domain] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains'} + + def get_control_center_sso_request( + self, custom_headers=None, raw=False, **operation_config): + """Generate a single sign-on request for the domain management portal. + + Generate a single sign-on request for the domain management portal. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DomainControlCenterSsoRequest or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.DomainControlCenterSsoRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_control_center_sso_request.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.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('DomainControlCenterSsoRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_control_center_sso_request.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest'} + + def list_recommendations( + self, keywords=None, max_domain_recommendations=None, custom_headers=None, raw=False, **operation_config): + """Get domain name recommendations based on keywords. + + Get domain name recommendations based on keywords. + + :param keywords: Keywords to be used for generating domain + recommendations. + :type keywords: str + :param max_domain_recommendations: Maximum number of recommendations. + :type max_domain_recommendations: 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 NameIdentifier + :rtype: + ~azure.mgmt.web.models.NameIdentifierPaged[~azure.mgmt.web.models.NameIdentifier] + :raises: :class:`CloudError` + """ + parameters = models.DomainRecommendationSearchParameters(keywords=keywords, max_domain_recommendations=max_domain_recommendations) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_recommendations.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' + 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, 'DomainRecommendationSearchParameters') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.NameIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_recommendations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all domains in a resource group. + + Get all domains in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 Domain + :rtype: + ~azure.mgmt.web.models.DomainPaged[~azure.mgmt.web.models.Domain] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains'} + + def get( + self, resource_group_name, domain_name, custom_headers=None, raw=False, **operation_config): + """Get a domain. + + Get a domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of the domain. + :type domain_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: Domain or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Domain 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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_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('Domain', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}'} + + + def _create_or_update_initial( + self, resource_group_name, domain_name, domain, 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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str', pattern=r'[a-zA-Z0-9][a-zA-Z0-9\.-]+'), + 'subscriptionId': self._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(domain, 'Domain') + + # 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, 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('Domain', response) + if response.status_code == 202: + deserialized = self._deserialize('Domain', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, domain_name, domain, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a domain. + + Creates or updates a domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of the domain. + :type domain_name: str + :param domain: Domain registration information. + :type domain: ~azure.mgmt.web.models.Domain + :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 Domain or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.Domain] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.Domain]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + domain_name=domain_name, + domain=domain, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Domain', 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.DomainRegistration/domains/{domainName}'} + + def delete( + self, resource_group_name, domain_name, force_hard_delete_domain=None, custom_headers=None, raw=False, **operation_config): + """Delete a domain. + + Delete a domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of the domain. + :type domain_name: str + :param force_hard_delete_domain: Specify true to delete + the domain immediately. The default is false which + deletes the domain after 24 hours. + :type force_hard_delete_domain: bool + :param dict custom_headers: headers that will 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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_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 force_hard_delete_domain is not None: + query_parameters['forceHardDeleteDomain'] = self._serialize.query("force_hard_delete_domain", force_hard_delete_domain, 'bool') + 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}'} + + def update( + self, resource_group_name, domain_name, domain, custom_headers=None, raw=False, **operation_config): + """Creates or updates a domain. + + Creates or updates a domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of the domain. + :type domain_name: str + :param domain: Domain registration information. + :type domain: ~azure.mgmt.web.models.DomainPatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Domain or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Domain 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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str', pattern=r'[a-zA-Z0-9][a-zA-Z0-9\.-]+'), + 'subscriptionId': self._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(domain, 'DomainPatchResource') + + # 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('Domain', response) + if response.status_code == 202: + deserialized = self._deserialize('Domain', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}'} + + def list_ownership_identifiers( + self, resource_group_name, domain_name, custom_headers=None, raw=False, **operation_config): + """Lists domain ownership identifiers. + + Lists domain ownership identifiers. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of domain. + :type domain_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 DomainOwnershipIdentifier + :rtype: + ~azure.mgmt.web.models.DomainOwnershipIdentifierPaged[~azure.mgmt.web.models.DomainOwnershipIdentifier] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_ownership_identifiers.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DomainOwnershipIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_ownership_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers'} + + def get_ownership_identifier( + self, resource_group_name, domain_name, name, custom_headers=None, raw=False, **operation_config): + """Get ownership identifier for domain. + + Get ownership identifier for domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of domain. + :type domain_name: str + :param name: Name of identifier. + :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: DomainOwnershipIdentifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DomainOwnershipIdentifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ownership_identifier.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str'), + 'name': self._serialize.url("name", 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('DomainOwnershipIdentifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}'} + + def create_or_update_ownership_identifier( + self, resource_group_name, domain_name, name, kind=None, ownership_id=None, custom_headers=None, raw=False, **operation_config): + """Creates an ownership identifier for a domain or updates identifier + details for an existing identifer. + + Creates an ownership identifier for a domain or updates identifier + details for an existing identifer. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of domain. + :type domain_name: str + :param name: Name of identifier. + :type name: str + :param kind: Kind of resource. + :type kind: str + :param ownership_id: Ownership Id. + :type ownership_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: DomainOwnershipIdentifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DomainOwnershipIdentifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.DomainOwnershipIdentifier(kind=kind, ownership_id=ownership_id) + + # Construct URL + url = self.create_or_update_ownership_identifier.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str'), + 'name': self._serialize.url("name", 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(domain_ownership_identifier, 'DomainOwnershipIdentifier') + + # 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]: + 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('DomainOwnershipIdentifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}'} + + def delete_ownership_identifier( + self, resource_group_name, domain_name, name, custom_headers=None, raw=False, **operation_config): + """Delete ownership identifier for domain. + + Delete ownership identifier for domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of domain. + :type domain_name: str + :param name: Name of identifier. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_ownership_identifier.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str'), + 'name': self._serialize.url("name", 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_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}'} + + def update_ownership_identifier( + self, resource_group_name, domain_name, name, kind=None, ownership_id=None, custom_headers=None, raw=False, **operation_config): + """Creates an ownership identifier for a domain or updates identifier + details for an existing identifer. + + Creates an ownership identifier for a domain or updates identifier + details for an existing identifer. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of domain. + :type domain_name: str + :param name: Name of identifier. + :type name: str + :param kind: Kind of resource. + :type kind: str + :param ownership_id: Ownership Id. + :type ownership_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: DomainOwnershipIdentifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DomainOwnershipIdentifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.DomainOwnershipIdentifier(kind=kind, ownership_id=ownership_id) + + # Construct URL + url = self.update_ownership_identifier.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_name, 'str'), + 'name': self._serialize.url("name", 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(domain_ownership_identifier, 'DomainOwnershipIdentifier') + + # 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('DomainOwnershipIdentifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}'} + + def renew( + self, resource_group_name, domain_name, custom_headers=None, raw=False, **operation_config): + """Renew a domain. + + Renew a domain. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param domain_name: Name of the domain. + :type domain_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.renew.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\._\(\)]+[^\.]$'), + 'domainName': self._serialize.url("domain_name", domain_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 [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + renew.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_top_level_domains_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_top_level_domains_operations.py new file mode 100644 index 000000000000..6d52daf70ad0 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/operations/_top_level_domains_operations.py @@ -0,0 +1,255 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 TopLevelDomainsOperations(object): + """TopLevelDomainsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2015-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all top-level domains supported for registration. + + Get all top-level domains supported for registration. + + :param dict custom_headers: headers that will 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 TopLevelDomain + :rtype: + ~azure.mgmt.web.models.TopLevelDomainPaged[~azure.mgmt.web.models.TopLevelDomain] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.TopLevelDomainPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains'} + + def get( + self, name, custom_headers=None, raw=False, **operation_config): + """Get details of a top-level domain. + + Get details of a top-level domain. + + :param name: Name of the top-level domain. + :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: TopLevelDomain or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.TopLevelDomain or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'name': self._serialize.url("name", 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('TopLevelDomain', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}'} + + def list_agreements( + self, name, include_privacy=None, for_transfer=None, custom_headers=None, raw=False, **operation_config): + """Gets all legal agreements that user needs to accept before purchasing a + domain. + + Gets all legal agreements that user needs to accept before purchasing a + domain. + + :param name: Name of the top-level domain. + :type name: str + :param include_privacy: If true, then the list of + agreements will include agreements for domain privacy as well; + otherwise, false. + :type include_privacy: bool + :param for_transfer: If true, then the list of agreements + will include agreements for domain transfer as well; otherwise, + false. + :type for_transfer: bool + :param dict custom_headers: headers that will 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 TldLegalAgreement + :rtype: + ~azure.mgmt.web.models.TldLegalAgreementPaged[~azure.mgmt.web.models.TldLegalAgreement] + :raises: :class:`CloudError` + """ + agreement_option = models.TopLevelDomainAgreementOption(include_privacy=include_privacy, for_transfer=for_transfer) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_agreements.metadata['url'] + path_format_arguments = { + 'name': self._serialize.url("name", 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') + + else: + url = next_link + query_parameters = {} + + # 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(agreement_option, 'TopLevelDomainAgreementOption') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.TldLegalAgreementPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_agreements.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_04_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/str_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/__init__.py similarity index 56% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/str_paged.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/__init__.py index 32b5aa1f28af..55c66f839cff 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/str_paged.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/__init__.py @@ -9,19 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.paging import Paged +from ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] +from .version import VERSION -class StrPaged(Paged): - """ - A paging container for iterating over a list of str object - """ +__version__ = VERSION - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[str]'} - } - - def __init__(self, *args, **kwargs): - - super(StrPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_web_site_management_client.py new file mode 100644 index 000000000000..c2075d4fe756 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/_web_site_management_client.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 ._configuration import WebSiteManagementClientConfiguration +from .operations import AppServiceCertificateOrdersOperations +from .operations import CertificateRegistrationProviderOperations +from . import models + + +class WebSiteManagementClient(SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar app_service_certificate_orders: AppServiceCertificateOrders operations + :vartype app_service_certificate_orders: azure.mgmt.web.operations.AppServiceCertificateOrdersOperations + :ivar certificate_registration_provider: CertificateRegistrationProvider operations + :vartype certificate_registration_provider: azure.mgmt.web.operations.CertificateRegistrationProviderOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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-08-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.app_service_certificate_orders = AppServiceCertificateOrdersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.certificate_registration_provider = CertificateRegistrationProviderOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/__init__.py new file mode 100644 index 000000000000..325f9d716c75 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/__init__.py @@ -0,0 +1,255 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import ApiDefinitionInfo + from ._models_py3 import AppServiceCertificate + from ._models_py3 import AppServiceCertificateOrder + from ._models_py3 import AppServiceCertificateOrderPatchResource + from ._models_py3 import AppServiceCertificatePatchResource + from ._models_py3 import AppServiceCertificateResource + from ._models_py3 import AppServicePlan + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import Capability + from ._models_py3 import CertificateDetails + from ._models_py3 import CertificateEmail + from ._models_py3 import CertificateOrderAction + from ._models_py3 import CloningInfo + from ._models_py3 import ConnStringInfo + from ._models_py3 import CorsSettings + from ._models_py3 import CsmOperationDescription + from ._models_py3 import CsmOperationDescriptionProperties + from ._models_py3 import CsmOperationDisplay + from ._models_py3 import Dimension + from ._models_py3 import Experiments + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostNameSslState + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import MetricAvailability + from ._models_py3 import MetricSpecification + from ._models_py3 import NameIdentifier + from ._models_py3 import NameValuePair + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import ReissueCertificateOrderRequest + from ._models_py3 import RenewCertificateOrderRequest + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricName + from ._models_py3 import ServiceSpecification + from ._models_py3 import Site + from ._models_py3 import SiteConfig + from ._models_py3 import SiteLimits + from ._models_py3 import SiteMachineKey + from ._models_py3 import SiteSeal + from ._models_py3 import SiteSealRequest + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import SnapshotRecoveryRequest + from ._models_py3 import SnapshotRecoveryTarget + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import User + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetRoute +except (SyntaxError, ImportError): + from ._models import ApiDefinitionInfo + from ._models import AppServiceCertificate + from ._models import AppServiceCertificateOrder + from ._models import AppServiceCertificateOrderPatchResource + from ._models import AppServiceCertificatePatchResource + from ._models import AppServiceCertificateResource + from ._models import AppServicePlan + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import Capability + from ._models import CertificateDetails + from ._models import CertificateEmail + from ._models import CertificateOrderAction + from ._models import CloningInfo + from ._models import ConnStringInfo + from ._models import CorsSettings + from ._models import CsmOperationDescription + from ._models import CsmOperationDescriptionProperties + from ._models import CsmOperationDisplay + from ._models import Dimension + from ._models import Experiments + from ._models import HandlerMapping + from ._models import HostingEnvironmentProfile + from ._models import HostNameSslState + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import ManagedServiceIdentity + from ._models import MetricAvailability + from ._models import MetricSpecification + from ._models import NameIdentifier + from ._models import NameValuePair + from ._models import ProxyOnlyResource + from ._models import PushSettings + from ._models import RampUpRule + from ._models import ReissueCertificateOrderRequest + from ._models import RenewCertificateOrderRequest + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricName + from ._models import ServiceSpecification + from ._models import Site + from ._models import SiteConfig + from ._models import SiteLimits + from ._models import SiteMachineKey + from ._models import SiteSeal + from ._models import SiteSealRequest + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import SnapshotRecoveryRequest + from ._models import SnapshotRecoveryTarget + from ._models import StatusCodesBasedTrigger + from ._models import User + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetRoute +from ._paged_models import AppServiceCertificateOrderPaged +from ._paged_models import AppServiceCertificateResourcePaged +from ._paged_models import CsmOperationDescriptionPaged +from ._web_site_management_client_enums import ( + KeyVaultSecretStatus, + CertificateProductType, + ProvisioningState, + CertificateOrderStatus, + CertificateOrderActionType, + RouteType, + ManagedServiceIdentityType, + AutoHealActionType, + ConnectionStringType, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + StatusOptions, +) + +__all__ = [ + 'ApiDefinitionInfo', + 'AppServiceCertificate', + 'AppServiceCertificateOrder', + 'AppServiceCertificateOrderPatchResource', + 'AppServiceCertificatePatchResource', + 'AppServiceCertificateResource', + 'AppServicePlan', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'Capability', + 'CertificateDetails', + 'CertificateEmail', + 'CertificateOrderAction', + 'CloningInfo', + 'ConnStringInfo', + 'CorsSettings', + 'CsmOperationDescription', + 'CsmOperationDescriptionProperties', + 'CsmOperationDisplay', + 'Dimension', + 'Experiments', + 'HandlerMapping', + 'HostingEnvironmentProfile', + 'HostNameSslState', + 'HybridConnection', + 'HybridConnectionKey', + 'Identifier', + 'IpSecurityRestriction', + 'ManagedServiceIdentity', + 'MetricAvailability', + 'MetricSpecification', + 'NameIdentifier', + 'NameValuePair', + 'ProxyOnlyResource', + 'PushSettings', + 'RampUpRule', + 'ReissueCertificateOrderRequest', + 'RenewCertificateOrderRequest', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'ResourceMetricName', + 'ServiceSpecification', + 'Site', + 'SiteConfig', + 'SiteLimits', + 'SiteMachineKey', + 'SiteSeal', + 'SiteSealRequest', + 'SkuCapacity', + 'SkuDescription', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'SnapshotRecoveryRequest', + 'SnapshotRecoveryTarget', + 'StatusCodesBasedTrigger', + 'User', + 'VirtualApplication', + 'VirtualDirectory', + 'VnetGateway', + 'VnetInfo', + 'VnetRoute', + 'AppServiceCertificateOrderPaged', + 'AppServiceCertificateResourcePaged', + 'CsmOperationDescriptionPaged', + 'KeyVaultSecretStatus', + 'CertificateProductType', + 'ProvisioningState', + 'CertificateOrderStatus', + 'CertificateOrderActionType', + 'RouteType', + 'ManagedServiceIdentityType', + 'AutoHealActionType', + 'ConnectionStringType', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'StatusOptions', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models.py new file mode 100644 index 000000000000..7a1252df828a --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models.py @@ -0,0 +1,3101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class AppServiceCertificate(Model): + """Key Vault container for a certificate that is purchased through Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificate, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServiceCertificateOrder(Resource): + """SSL certificate purchase order. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateOrder, self).__init__(**kwargs) + self.certificates = kwargs.get('certificates', None) + self.distinguished_name = kwargs.get('distinguished_name', None) + self.domain_verification_token = None + self.validity_in_years = kwargs.get('validity_in_years', 1) + self.key_size = kwargs.get('key_size', 2048) + self.product_type = kwargs.get('product_type', None) + self.auto_renew = kwargs.get('auto_renew', True) + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = kwargs.get('csr', None) + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): + """ARM resource for a certificate order that is purchased through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateOrderPatchResource, self).__init__(**kwargs) + self.certificates = kwargs.get('certificates', None) + self.distinguished_name = kwargs.get('distinguished_name', None) + self.domain_verification_token = None + self.validity_in_years = kwargs.get('validity_in_years', 1) + self.key_size = kwargs.get('key_size', 2048) + self.product_type = kwargs.get('product_type', None) + self.auto_renew = kwargs.get('auto_renew', True) + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = kwargs.get('csr', None) + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificatePatchResource(ProxyOnlyResource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificatePatchResource, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class AppServiceCertificateResource(Resource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateResource, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.app_service_plan_name = kwargs.get('app_service_plan_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class CertificateDetails(Model): + """SSL certificate details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar version: Certificate Version. + :vartype version: int + :ivar serial_number: Certificate Serial Number. + :vartype serial_number: str + :ivar thumbprint: Certificate Thumbprint. + :vartype thumbprint: str + :ivar subject: Certificate Subject. + :vartype subject: str + :ivar not_before: Date Certificate is valid from. + :vartype not_before: datetime + :ivar not_after: Date Certificate is valid to. + :vartype not_after: datetime + :ivar signature_algorithm: Certificate Signature algorithm. + :vartype signature_algorithm: str + :ivar issuer: Certificate Issuer. + :vartype issuer: str + :ivar raw_data: Raw certificate data. + :vartype raw_data: str + """ + + _validation = { + 'version': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'thumbprint': {'readonly': True}, + 'subject': {'readonly': True}, + 'not_before': {'readonly': True}, + 'not_after': {'readonly': True}, + 'signature_algorithm': {'readonly': True}, + 'issuer': {'readonly': True}, + 'raw_data': {'readonly': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'raw_data': {'key': 'rawData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificateDetails, self).__init__(**kwargs) + self.version = None + self.serial_number = None + self.thumbprint = None + self.subject = None + self.not_before = None + self.not_after = None + self.signature_algorithm = None + self.issuer = None + self.raw_data = None + + +class CertificateEmail(ProxyOnlyResource): + """SSL certificate email. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param email_id: Email id. + :type email_id: str + :param time_stamp: Time stamp. + :type time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'email_id': {'key': 'properties.emailId', 'type': 'str'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(CertificateEmail, self).__init__(**kwargs) + self.email_id = kwargs.get('email_id', None) + self.time_stamp = kwargs.get('time_stamp', None) + + +class CertificateOrderAction(ProxyOnlyResource): + """Certificate order action. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificate_order_action_type: Action type. Possible values + include: 'CertificateIssued', 'CertificateOrderCanceled', + 'CertificateOrderCreated', 'CertificateRevoked', + 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', + 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' + :type certificate_order_action_type: str or + ~azure.mgmt.web.models.CertificateOrderActionType + :param created_at: Time at which the certificate action was performed. + :type created_at: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificate_order_action_type': {'key': 'properties.type', 'type': 'CertificateOrderActionType'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(CertificateOrderAction, self).__init__(**kwargs) + self.certificate_order_action_type = kwargs.get('certificate_order_action_type', None) + self.created_at = kwargs.get('created_at', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + self.ignore_quotas = kwargs.get('ignore_quotas', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, 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) + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supports_instance_level_aggregation = kwargs.get('supports_instance_level_aggregation', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.is_internal = kwargs.get('is_internal', None) + self.dimensions = kwargs.get('dimensions', None) + self.category = kwargs.get('category', None) + self.availabilities = kwargs.get('availabilities', None) + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameIdentifier, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class ReissueCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate reissue request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param delay_existing_revoke_in_hours: Delay in hours to revoke existing + certificate after the new certificate is issued. + :type delay_existing_revoke_in_hours: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ReissueCertificateOrderRequest, self).__init__(**kwargs) + self.key_size = kwargs.get('key_size', None) + self.delay_existing_revoke_in_hours = kwargs.get('delay_existing_revoke_in_hours', None) + self.csr = kwargs.get('csr', None) + self.is_private_key_external = kwargs.get('is_private_key_external', None) + + +class RenewCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate renew request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RenewCertificateOrderRequest, self).__init__(**kwargs) + self.key_size = kwargs.get('key_size', None) + self.csr = kwargs.get('csr', None) + self.is_private_key_external = kwargs.get('is_private_key_external', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.identity = kwargs.get('identity', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SiteSeal(Model): + """Site seal. + + All required parameters must be populated in order to send to Azure. + + :param html: Required. HTML snippet + :type html: str + """ + + _validation = { + 'html': {'required': True}, + } + + _attribute_map = { + 'html': {'key': 'html', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteSeal, self).__init__(**kwargs) + self.html = kwargs.get('html', None) + + +class SiteSealRequest(Model): + """Site seal request. + + :param light_theme: If true use the light color theme for + site seal; otherwise, use the default color theme. + :type light_theme: bool + :param locale: Locale of site seal. + :type locale: str + """ + + _attribute_map = { + 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, + 'locale': {'key': 'locale', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteSealRequest, self).__init__(**kwargs) + self.light_theme = kwargs.get('light_theme', None) + self.locale = kwargs.get('locale', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_target = kwargs.get('recovery_target', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.vnet_route_name = kwargs.get('vnet_route_name', None) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models_py3.py new file mode 100644 index 000000000000..c253ef358982 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_models_py3.py @@ -0,0 +1,3101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class AppServiceCertificate(Model): + """Key Vault container for a certificate that is purchased through Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificate, self).__init__(**kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServiceCertificateOrder(Resource): + """SSL certificate purchase order. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, location: str, product_type, kind: str=None, tags=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: + super(AppServiceCertificateOrder, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.certificates = certificates + self.distinguished_name = distinguished_name + self.domain_verification_token = None + self.validity_in_years = validity_in_years + self.key_size = key_size + self.product_type = product_type + self.auto_renew = auto_renew + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = csr + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): + """ARM resource for a certificate order that is purchased through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, product_type, kind: str=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: + super(AppServiceCertificateOrderPatchResource, self).__init__(kind=kind, **kwargs) + self.certificates = certificates + self.distinguished_name = distinguished_name + self.domain_verification_token = None + self.validity_in_years = validity_in_years + self.key_size = key_size + self.product_type = product_type + self.auto_renew = auto_renew + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = csr + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificatePatchResource(ProxyOnlyResource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, kind: str=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificatePatchResource, self).__init__(kind=kind, **kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class AppServiceCertificateResource(Resource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificateResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, app_service_plan_name: str, kind: str=None, tags=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_plan_name = app_service_plan_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class CertificateDetails(Model): + """SSL certificate details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar version: Certificate Version. + :vartype version: int + :ivar serial_number: Certificate Serial Number. + :vartype serial_number: str + :ivar thumbprint: Certificate Thumbprint. + :vartype thumbprint: str + :ivar subject: Certificate Subject. + :vartype subject: str + :ivar not_before: Date Certificate is valid from. + :vartype not_before: datetime + :ivar not_after: Date Certificate is valid to. + :vartype not_after: datetime + :ivar signature_algorithm: Certificate Signature algorithm. + :vartype signature_algorithm: str + :ivar issuer: Certificate Issuer. + :vartype issuer: str + :ivar raw_data: Raw certificate data. + :vartype raw_data: str + """ + + _validation = { + 'version': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'thumbprint': {'readonly': True}, + 'subject': {'readonly': True}, + 'not_before': {'readonly': True}, + 'not_after': {'readonly': True}, + 'signature_algorithm': {'readonly': True}, + 'issuer': {'readonly': True}, + 'raw_data': {'readonly': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'raw_data': {'key': 'rawData', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CertificateDetails, self).__init__(**kwargs) + self.version = None + self.serial_number = None + self.thumbprint = None + self.subject = None + self.not_before = None + self.not_after = None + self.signature_algorithm = None + self.issuer = None + self.raw_data = None + + +class CertificateEmail(ProxyOnlyResource): + """SSL certificate email. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param email_id: Email id. + :type email_id: str + :param time_stamp: Time stamp. + :type time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'email_id': {'key': 'properties.emailId', 'type': 'str'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, email_id: str=None, time_stamp=None, **kwargs) -> None: + super(CertificateEmail, self).__init__(kind=kind, **kwargs) + self.email_id = email_id + self.time_stamp = time_stamp + + +class CertificateOrderAction(ProxyOnlyResource): + """Certificate order action. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificate_order_action_type: Action type. Possible values + include: 'CertificateIssued', 'CertificateOrderCanceled', + 'CertificateOrderCreated', 'CertificateRevoked', + 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', + 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' + :type certificate_order_action_type: str or + ~azure.mgmt.web.models.CertificateOrderActionType + :param created_at: Time at which the certificate action was performed. + :type created_at: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificate_order_action_type': {'key': 'properties.type', 'type': 'CertificateOrderActionType'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, certificate_order_action_type=None, created_at=None, **kwargs) -> None: + super(CertificateOrderAction, self).__init__(kind=kind, **kwargs) + self.certificate_order_action_type = certificate_order_action_type + self.created_at = created_at + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, ignore_quotas: bool=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + self.ignore_quotas = ignore_quotas + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, service_specification=None, **kwargs) -> None: + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, to_be_exported_for_shoebox: bool=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str, subnet_mask: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, blob_duration: str=None, **kwargs) -> None: + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = time_grain + self.blob_duration = blob_duration + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, supports_instance_level_aggregation: bool=None, enable_regional_mdm_account: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, metric_filter_pattern: str=None, fill_gap_with_zero: bool=None, is_internal: bool=None, dimensions=None, category: str=None, availabilities=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.supports_instance_level_aggregation = supports_instance_level_aggregation + self.enable_regional_mdm_account = enable_regional_mdm_account + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.metric_filter_pattern = metric_filter_pattern + self.fill_gap_with_zero = fill_gap_with_zero + self.is_internal = is_internal + self.dimensions = dimensions + self.category = category + self.availabilities = availabilities + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(NameIdentifier, self).__init__(**kwargs) + self.name = name + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class ReissueCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate reissue request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param delay_existing_revoke_in_hours: Delay in hours to revoke existing + certificate after the new certificate is issued. + :type delay_existing_revoke_in_hours: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, key_size: int=None, delay_existing_revoke_in_hours: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: + super(ReissueCertificateOrderRequest, self).__init__(kind=kind, **kwargs) + self.key_size = key_size + self.delay_existing_revoke_in_hours = delay_existing_revoke_in_hours + self.csr = csr + self.is_private_key_external = is_private_key_external + + +class RenewCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate renew request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, key_size: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: + super(RenewCertificateOrderRequest, self).__init__(kind=kind, **kwargs) + self.key_size = key_size + self.csr = csr + self.is_private_key_external = is_private_key_external + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.identity = identity + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SiteSeal(Model): + """Site seal. + + All required parameters must be populated in order to send to Azure. + + :param html: Required. HTML snippet + :type html: str + """ + + _validation = { + 'html': {'required': True}, + } + + _attribute_map = { + 'html': {'key': 'html', 'type': 'str'}, + } + + def __init__(self, *, html: str, **kwargs) -> None: + super(SiteSeal, self).__init__(**kwargs) + self.html = html + + +class SiteSealRequest(Model): + """Site seal request. + + :param light_theme: If true use the light color theme for + site seal; otherwise, use the default color theme. + :type light_theme: bool + :param locale: Locale of site seal. + :type locale: str + """ + + _attribute_map = { + 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, + 'locale': {'key': 'locale', 'type': 'str'}, + } + + def __init__(self, *, light_theme: bool=None, locale: str=None, **kwargs) -> None: + super(SiteSealRequest, self).__init__(**kwargs) + self.light_theme = light_theme + self.locale = locale + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_target=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, **kwargs) -> None: + super(SnapshotRecoveryRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_target = recovery_target + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = location + self.id = id + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, user_name: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.user_name = user_name + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: bytearray=None, dns_servers: str=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_route_name: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.vnet_route_name = vnet_route_name + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_paged_models.py similarity index 50% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_paged.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_paged_models.py index bd6469897d27..05ff18469c4e 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/app_service_certificate_resource_paged.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_paged_models.py @@ -12,6 +12,19 @@ from msrest.paging import Paged +class AppServiceCertificateOrderPaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServiceCertificateOrder ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServiceCertificateOrder]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServiceCertificateOrderPaged, self).__init__(*args, **kwargs) class AppServiceCertificateResourcePaged(Paged): """ A paging container for iterating over a list of :class:`AppServiceCertificateResource ` object @@ -25,3 +38,16 @@ class AppServiceCertificateResourcePaged(Paged): def __init__(self, *args, **kwargs): super(AppServiceCertificateResourcePaged, self).__init__(*args, **kwargs) +class CsmOperationDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmOperationDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmOperationDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmOperationDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..facff8cc4f71 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/models/_web_site_management_client_enums.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. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class KeyVaultSecretStatus(str, Enum): + + initialized = "Initialized" + waiting_on_certificate_order = "WaitingOnCertificateOrder" + succeeded = "Succeeded" + certificate_order_failed = "CertificateOrderFailed" + operation_not_permitted_on_key_vault = "OperationNotPermittedOnKeyVault" + azure_service_unauthorized_to_access_key_vault = "AzureServiceUnauthorizedToAccessKeyVault" + key_vault_does_not_exist = "KeyVaultDoesNotExist" + key_vault_secret_does_not_exist = "KeyVaultSecretDoesNotExist" + unknown_error = "UnknownError" + external_private_key = "ExternalPrivateKey" + unknown = "Unknown" + + +class CertificateProductType(str, Enum): + + standard_domain_validated_ssl = "StandardDomainValidatedSsl" + standard_domain_validated_wild_card_ssl = "StandardDomainValidatedWildCardSsl" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" + + +class CertificateOrderStatus(str, Enum): + + pendingissuance = "Pendingissuance" + issued = "Issued" + revoked = "Revoked" + canceled = "Canceled" + denied = "Denied" + pendingrevocation = "Pendingrevocation" + pending_rekey = "PendingRekey" + unused = "Unused" + expired = "Expired" + not_submitted = "NotSubmitted" + + +class CertificateOrderActionType(str, Enum): + + certificate_issued = "CertificateIssued" + certificate_order_canceled = "CertificateOrderCanceled" + certificate_order_created = "CertificateOrderCreated" + certificate_revoked = "CertificateRevoked" + domain_validation_complete = "DomainValidationComplete" + fraud_detected = "FraudDetected" + org_name_change = "OrgNameChange" + org_validation_complete = "OrgValidationComplete" + san_drop = "SanDrop" + fraud_cleared = "FraudCleared" + certificate_expired = "CertificateExpired" + certificate_expiration_warning = "CertificateExpirationWarning" + fraud_documentation_required = "FraudDocumentationRequired" + unknown = "Unknown" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/__init__.py new file mode 100644 index 000000000000..075b7482c6a6 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_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 ._app_service_certificate_orders_operations import AppServiceCertificateOrdersOperations +from ._certificate_registration_provider_operations import CertificateRegistrationProviderOperations + +__all__ = [ + 'AppServiceCertificateOrdersOperations', + 'CertificateRegistrationProviderOperations', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_app_service_certificate_orders_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_app_service_certificate_orders_operations.py new file mode 100644 index 000000000000..646880cff233 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_app_service_certificate_orders_operations.py @@ -0,0 +1,1436 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AppServiceCertificateOrdersOperations(object): + """AppServiceCertificateOrdersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2015-08-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-08-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all certificate orders in a subscription. + + List all certificate orders 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 AppServiceCertificateOrder + :rtype: + ~azure.mgmt.web.models.AppServiceCertificateOrderPaged[~azure.mgmt.web.models.AppServiceCertificateOrder] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders'} + + def validate_purchase_information( + self, app_service_certificate_order, custom_headers=None, raw=False, **operation_config): + """Validate information for a certificate order. + + Validate information for a certificate order. + + :param app_service_certificate_order: Information for a certificate + order. + :type app_service_certificate_order: + ~azure.mgmt.web.models.AppServiceCertificateOrder + :param dict custom_headers: headers that will 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.validate_purchase_information.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['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(app_service_certificate_order, 'AppServiceCertificateOrder') + + # 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 [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 + validate_purchase_information.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get certificate orders in a resource group. + + Get certificate orders in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 AppServiceCertificateOrder + :rtype: + ~azure.mgmt.web.models.AppServiceCertificateOrderPaged[~azure.mgmt.web.models.AppServiceCertificateOrder] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders'} + + def get( + self, resource_group_name, certificate_order_name, custom_headers=None, raw=False, **operation_config): + """Get a certificate order. + + Get a certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order.. + :type certificate_order_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: AppServiceCertificateOrder or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.AppServiceCertificateOrder 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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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('AppServiceCertificateOrder', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}'} + + + def _create_or_update_initial( + self, resource_group_name, certificate_order_name, certificate_distinguished_name, 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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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(certificate_distinguished_name, 'AppServiceCertificateOrder') + + # 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('AppServiceCertificateOrder', response) + if response.status_code == 201: + deserialized = self._deserialize('AppServiceCertificateOrder', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, certificate_order_name, certificate_distinguished_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a certificate purchase order. + + Create or update a certificate purchase order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param certificate_distinguished_name: Distinguished name to use for + the certificate order. + :type certificate_distinguished_name: + ~azure.mgmt.web.models.AppServiceCertificateOrder + :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 + AppServiceCertificateOrder or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.AppServiceCertificateOrder] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.AppServiceCertificateOrder]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + certificate_order_name=certificate_order_name, + certificate_distinguished_name=certificate_distinguished_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppServiceCertificateOrder', 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.CertificateRegistration/certificateOrders/{certificateOrderName}'} + + def delete( + self, resource_group_name, certificate_order_name, custom_headers=None, raw=False, **operation_config): + """Delete an existing certificate order. + + Delete an existing certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}'} + + def update( + self, resource_group_name, certificate_order_name, certificate_distinguished_name, custom_headers=None, raw=False, **operation_config): + """Create or update a certificate purchase order. + + Create or update a certificate purchase order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param certificate_distinguished_name: Distinguished name to use for + the certificate order. + :type certificate_distinguished_name: + ~azure.mgmt.web.models.AppServiceCertificateOrderPatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AppServiceCertificateOrder or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.AppServiceCertificateOrder 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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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(certificate_distinguished_name, 'AppServiceCertificateOrderPatchResource') + + # 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, 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('AppServiceCertificateOrder', response) + if response.status_code == 201: + deserialized = self._deserialize('AppServiceCertificateOrder', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}'} + + def list_certificates( + self, resource_group_name, certificate_order_name, custom_headers=None, raw=False, **operation_config): + """List all certificates associated with a certificate order. + + List all certificates associated with a certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_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 AppServiceCertificateResource + :rtype: + ~azure.mgmt.web.models.AppServiceCertificateResourcePaged[~azure.mgmt.web.models.AppServiceCertificateResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_certificates.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServiceCertificateResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates'} + + def get_certificate( + self, resource_group_name, certificate_order_name, name, custom_headers=None, raw=False, **operation_config): + """Get the certificate associated with a certificate order. + + Get the certificate associated with a certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param name: Name of the certificate. + :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: AppServiceCertificateResource or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.AppServiceCertificateResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_certificate.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_name, 'str'), + 'name': self._serialize.url("name", 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('AppServiceCertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}'} + + + def _create_or_update_certificate_initial( + self, resource_group_name, certificate_order_name, name, key_vault_certificate, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_certificate.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_name, 'str'), + 'name': self._serialize.url("name", 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(key_vault_certificate, 'AppServiceCertificateResource') + + # 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('AppServiceCertificateResource', response) + if response.status_code == 201: + deserialized = self._deserialize('AppServiceCertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_certificate( + self, resource_group_name, certificate_order_name, name, key_vault_certificate, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a certificate and associates with key vault secret. + + Creates or updates a certificate and associates with key vault secret. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param name: Name of the certificate. + :type name: str + :param key_vault_certificate: Key vault certificate resource Id. + :type key_vault_certificate: + ~azure.mgmt.web.models.AppServiceCertificateResource + :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 + AppServiceCertificateResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.AppServiceCertificateResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.AppServiceCertificateResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_certificate_initial( + resource_group_name=resource_group_name, + certificate_order_name=certificate_order_name, + name=name, + key_vault_certificate=key_vault_certificate, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppServiceCertificateResource', 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_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}'} + + def delete_certificate( + self, resource_group_name, certificate_order_name, name, custom_headers=None, raw=False, **operation_config): + """Delete the certificate associated with a certificate order. + + Delete the certificate associated with a certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param name: Name of the certificate. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_certificate.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_name, 'str'), + 'name': self._serialize.url("name", 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_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}'} + + def update_certificate( + self, resource_group_name, certificate_order_name, name, key_vault_certificate, custom_headers=None, raw=False, **operation_config): + """Creates or updates a certificate and associates with key vault secret. + + Creates or updates a certificate and associates with key vault secret. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param name: Name of the certificate. + :type name: str + :param key_vault_certificate: Key vault certificate resource Id. + :type key_vault_certificate: + ~azure.mgmt.web.models.AppServiceCertificatePatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AppServiceCertificateResource or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.AppServiceCertificateResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_certificate.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_name, 'str'), + 'name': self._serialize.url("name", 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(key_vault_certificate, 'AppServiceCertificatePatchResource') + + # 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, 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('AppServiceCertificateResource', response) + if response.status_code == 201: + deserialized = self._deserialize('AppServiceCertificateResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}'} + + def reissue( + self, resource_group_name, certificate_order_name, reissue_certificate_order_request, custom_headers=None, raw=False, **operation_config): + """Reissue an existing certificate order. + + Reissue an existing certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param reissue_certificate_order_request: Parameters for the reissue. + :type reissue_certificate_order_request: + ~azure.mgmt.web.models.ReissueCertificateOrderRequest + :param dict custom_headers: headers that will 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.reissue.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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['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(reissue_certificate_order_request, 'ReissueCertificateOrderRequest') + + # 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 [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 + reissue.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue'} + + def renew( + self, resource_group_name, certificate_order_name, renew_certificate_order_request, custom_headers=None, raw=False, **operation_config): + """Renew an existing certificate order. + + Renew an existing certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param renew_certificate_order_request: Renew parameters + :type renew_certificate_order_request: + ~azure.mgmt.web.models.RenewCertificateOrderRequest + :param dict custom_headers: headers that will 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.renew.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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['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(renew_certificate_order_request, 'RenewCertificateOrderRequest') + + # 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 [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 + renew.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew'} + + def resend_email( + self, resource_group_name, certificate_order_name, custom_headers=None, raw=False, **operation_config): + """Resend certificate email. + + Resend certificate email. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_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.resend_email.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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 + resend_email.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail'} + + def resend_request_emails( + self, resource_group_name, certificate_order_name, name=None, custom_headers=None, raw=False, **operation_config): + """Verify domain ownership for this certificate order. + + Verify domain ownership for this certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param name: Name of the object. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + name_identifier = models.NameIdentifier(name=name) + + # Construct URL + url = self.resend_request_emails.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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['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(name_identifier, 'NameIdentifier') + + # 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 [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 + resend_request_emails.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails'} + + def retrieve_site_seal( + self, resource_group_name, certificate_order_name, light_theme=None, locale=None, custom_headers=None, raw=False, **operation_config): + """Verify domain ownership for this certificate order. + + Verify domain ownership for this certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_name: str + :param light_theme: If true use the light color theme for + site seal; otherwise, use the default color theme. + :type light_theme: bool + :param locale: Locale of site seal. + :type locale: 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: SiteSeal or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteSeal or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + site_seal_request = models.SiteSealRequest(light_theme=light_theme, locale=locale) + + # Construct URL + url = self.retrieve_site_seal.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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(site_seal_request, 'SiteSealRequest') + + # 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('SiteSeal', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + retrieve_site_seal.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal'} + + def verify_domain_ownership( + self, resource_group_name, certificate_order_name, custom_headers=None, raw=False, **operation_config): + """Verify domain ownership for this certificate order. + + Verify domain ownership for this certificate order. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param certificate_order_name: Name of the certificate order. + :type certificate_order_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.verify_domain_ownership.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\._\(\)]+[^\.]$'), + 'certificateOrderName': self._serialize.url("certificate_order_name", certificate_order_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 + verify_domain_ownership.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership'} + + def retrieve_certificate_actions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Retrieve the list of certificate actions. + + Retrieve the list of certificate actions. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate order. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.CertificateOrderAction] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.retrieve_certificate_actions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[CertificateOrderAction]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + retrieve_certificate_actions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions'} + + def retrieve_certificate_email_history( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Retrieve email history. + + Retrieve email history. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate order. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.CertificateEmail] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.retrieve_certificate_email_history.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[CertificateEmail]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + retrieve_certificate_email_history.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_certificate_registration_provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_certificate_registration_provider_operations.py new file mode 100644 index 000000000000..1a56eca1896a --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/operations/_certificate_registration_provider_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class CertificateRegistrationProviderOperations(object): + """CertificateRegistrationProviderOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2015-08-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2015-08-01" + + self.config = config + + def list_operations( + self, custom_headers=None, raw=False, **operation_config): + """Implements Csm operations Api to exposes the list of available Csm Apis + under the resource provider. + + Implements Csm operations Api to exposes the list of available Csm Apis + under the resource provider. + + :param dict custom_headers: headers that will 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 CsmOperationDescription + :rtype: + ~azure.mgmt.web.models.CsmOperationDescriptionPaged[~azure.mgmt.web.models.CsmOperationDescription] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_operations.metadata = {'url': '/providers/Microsoft.CertificateRegistration/operations'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2015_08_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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/__init__.py similarity index 55% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_py3.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/__init__.py index 5eb7d2fa73f1..55c66f839cff 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/name_identifier_py3.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/__init__.py @@ -9,20 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model +from ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] +from .version import VERSION -class NameIdentifier(Model): - """Identifies an object. +__version__ = VERSION - :param name: Name of the object. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, **kwargs) -> None: - super(NameIdentifier, self).__init__(**kwargs) - self.name = name diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_web_site_management_client.py new file mode 100644 index 000000000000..cba06bb4837e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/_web_site_management_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 ._configuration import WebSiteManagementClientConfiguration +from .operations import WebSiteManagementClientOperationsMixin +from .operations import CertificatesOperations +from .operations import DeletedWebAppsOperations +from .operations import DiagnosticsOperations +from .operations import ProviderOperations +from .operations import RecommendationsOperations +from .operations import ResourceHealthMetadataOperations +from .operations import BillingMetersOperations +from . import models + + +class WebSiteManagementClient(WebSiteManagementClientOperationsMixin, SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar certificates: Certificates operations + :vartype certificates: azure.mgmt.web.operations.CertificatesOperations + :ivar deleted_web_apps: DeletedWebApps operations + :vartype deleted_web_apps: azure.mgmt.web.operations.DeletedWebAppsOperations + :ivar diagnostics: Diagnostics operations + :vartype diagnostics: azure.mgmt.web.operations.DiagnosticsOperations + :ivar provider: Provider operations + :vartype provider: azure.mgmt.web.operations.ProviderOperations + :ivar recommendations: Recommendations operations + :vartype recommendations: azure.mgmt.web.operations.RecommendationsOperations + :ivar resource_health_metadata: ResourceHealthMetadata operations + :vartype resource_health_metadata: azure.mgmt.web.operations.ResourceHealthMetadataOperations + :ivar billing_meters: BillingMeters operations + :vartype billing_meters: azure.mgmt.web.operations.BillingMetersOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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-03-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.certificates = CertificatesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deleted_web_apps = DeletedWebAppsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.diagnostics = DiagnosticsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.provider = ProviderOperations( + self._client, self.config, self._serialize, self._deserialize) + self.recommendations = RecommendationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_health_metadata = ResourceHealthMetadataOperations( + self._client, self.config, self._serialize, self._deserialize) + self.billing_meters = BillingMetersOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/__init__.py new file mode 100644 index 000000000000..9ba7d02fc421 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/__init__.py @@ -0,0 +1,469 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import AbnormalTimePeriod + from ._models_py3 import AnalysisData + from ._models_py3 import AnalysisDefinition + from ._models_py3 import ApiDefinitionInfo + from ._models_py3 import ApplicationStack + from ._models_py3 import AppServiceEnvironment + from ._models_py3 import AppServicePlan + from ._models_py3 import AppServicePlanCollection + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import BillingMeter + from ._models_py3 import Capability + from ._models_py3 import Certificate + from ._models_py3 import CertificatePatchResource + from ._models_py3 import CloningInfo + from ._models_py3 import ConnStringInfo + from ._models_py3 import CorsSettings + from ._models_py3 import CsmMoveResourceEnvelope + from ._models_py3 import CsmOperationDescription + from ._models_py3 import CsmOperationDescriptionProperties + from ._models_py3 import CsmOperationDisplay + from ._models_py3 import CsmUsageQuota + from ._models_py3 import CsmUsageQuotaCollection + from ._models_py3 import DataSource + from ._models_py3 import DataTableResponseColumn + from ._models_py3 import DataTableResponseObject + from ._models_py3 import DefaultErrorResponse, DefaultErrorResponseException + from ._models_py3 import DefaultErrorResponseError + from ._models_py3 import DefaultErrorResponseErrorDetailsItem + from ._models_py3 import DeletedSite + from ._models_py3 import DeploymentLocations + from ._models_py3 import DetectorAbnormalTimePeriod + from ._models_py3 import DetectorDefinition + from ._models_py3 import DetectorInfo + from ._models_py3 import DetectorResponse + from ._models_py3 import DiagnosticAnalysis + from ._models_py3 import DiagnosticCategory + from ._models_py3 import DiagnosticData + from ._models_py3 import DiagnosticDetectorResponse + from ._models_py3 import DiagnosticMetricSample + from ._models_py3 import DiagnosticMetricSet + from ._models_py3 import Dimension + from ._models_py3 import ErrorEntity + from ._models_py3 import Experiments + from ._models_py3 import GeoRegion + from ._models_py3 import GlobalCsmSkuDescription + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentDeploymentInfo + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostNameSslState + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import LocalizableString + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import MetricAvailability + from ._models_py3 import MetricSpecification + from ._models_py3 import NameIdentifier + from ._models_py3 import NameValuePair + from ._models_py3 import NetworkAccessControlEntry + from ._models_py3 import Operation + from ._models_py3 import PremierAddOnOffer + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import Recommendation + from ._models_py3 import RecommendationRule + from ._models_py3 import Rendering + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceHealthMetadata + from ._models_py3 import ResourceMetric + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricCollection + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricDefinitionCollection + from ._models_py3 import ResourceMetricName + from ._models_py3 import ResourceMetricProperty + from ._models_py3 import ResourceMetricValue + from ._models_py3 import ResourceNameAvailability + from ._models_py3 import ResourceNameAvailabilityRequest + from ._models_py3 import ResponseMetaData + from ._models_py3 import ServiceSpecification + from ._models_py3 import Site + from ._models_py3 import SiteConfig + from ._models_py3 import SiteLimits + from ._models_py3 import SiteMachineKey + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SkuInfos + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import SnapshotRecoveryRequest + from ._models_py3 import SnapshotRecoveryTarget + from ._models_py3 import Solution + from ._models_py3 import SourceControl + from ._models_py3 import StackMajorVersion + from ._models_py3 import StackMinorVersion + from ._models_py3 import StampCapacity + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import User + from ._models_py3 import ValidateRequest + from ._models_py3 import ValidateResponse + from ._models_py3 import ValidateResponseError + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VirtualIPMapping + from ._models_py3 import VirtualNetworkProfile + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetParameters + from ._models_py3 import VnetRoute + from ._models_py3 import VnetValidationFailureDetails + from ._models_py3 import VnetValidationTestFailure + from ._models_py3 import WebAppCollection + from ._models_py3 import WorkerPool +except (SyntaxError, ImportError): + from ._models import AbnormalTimePeriod + from ._models import AnalysisData + from ._models import AnalysisDefinition + from ._models import ApiDefinitionInfo + from ._models import ApplicationStack + from ._models import AppServiceEnvironment + from ._models import AppServicePlan + from ._models import AppServicePlanCollection + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import BillingMeter + from ._models import Capability + from ._models import Certificate + from ._models import CertificatePatchResource + from ._models import CloningInfo + from ._models import ConnStringInfo + from ._models import CorsSettings + from ._models import CsmMoveResourceEnvelope + from ._models import CsmOperationDescription + from ._models import CsmOperationDescriptionProperties + from ._models import CsmOperationDisplay + from ._models import CsmUsageQuota + from ._models import CsmUsageQuotaCollection + from ._models import DataSource + from ._models import DataTableResponseColumn + from ._models import DataTableResponseObject + from ._models import DefaultErrorResponse, DefaultErrorResponseException + from ._models import DefaultErrorResponseError + from ._models import DefaultErrorResponseErrorDetailsItem + from ._models import DeletedSite + from ._models import DeploymentLocations + from ._models import DetectorAbnormalTimePeriod + from ._models import DetectorDefinition + from ._models import DetectorInfo + from ._models import DetectorResponse + from ._models import DiagnosticAnalysis + from ._models import DiagnosticCategory + from ._models import DiagnosticData + from ._models import DiagnosticDetectorResponse + from ._models import DiagnosticMetricSample + from ._models import DiagnosticMetricSet + from ._models import Dimension + from ._models import ErrorEntity + from ._models import Experiments + from ._models import GeoRegion + from ._models import GlobalCsmSkuDescription + from ._models import HandlerMapping + from ._models import HostingEnvironmentDeploymentInfo + from ._models import HostingEnvironmentProfile + from ._models import HostNameSslState + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import LocalizableString + from ._models import ManagedServiceIdentity + from ._models import MetricAvailability + from ._models import MetricSpecification + from ._models import NameIdentifier + from ._models import NameValuePair + from ._models import NetworkAccessControlEntry + from ._models import Operation + from ._models import PremierAddOnOffer + from ._models import ProxyOnlyResource + from ._models import PushSettings + from ._models import RampUpRule + from ._models import Recommendation + from ._models import RecommendationRule + from ._models import Rendering + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceHealthMetadata + from ._models import ResourceMetric + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricCollection + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricDefinitionCollection + from ._models import ResourceMetricName + from ._models import ResourceMetricProperty + from ._models import ResourceMetricValue + from ._models import ResourceNameAvailability + from ._models import ResourceNameAvailabilityRequest + from ._models import ResponseMetaData + from ._models import ServiceSpecification + from ._models import Site + from ._models import SiteConfig + from ._models import SiteLimits + from ._models import SiteMachineKey + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SkuInfos + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import SnapshotRecoveryRequest + from ._models import SnapshotRecoveryTarget + from ._models import Solution + from ._models import SourceControl + from ._models import StackMajorVersion + from ._models import StackMinorVersion + from ._models import StampCapacity + from ._models import StatusCodesBasedTrigger + from ._models import User + from ._models import ValidateRequest + from ._models import ValidateResponse + from ._models import ValidateResponseError + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VirtualIPMapping + from ._models import VirtualNetworkProfile + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetParameters + from ._models import VnetRoute + from ._models import VnetValidationFailureDetails + from ._models import VnetValidationTestFailure + from ._models import WebAppCollection + from ._models import WorkerPool +from ._paged_models import AnalysisDefinitionPaged +from ._paged_models import ApplicationStackPaged +from ._paged_models import BillingMeterPaged +from ._paged_models import CertificatePaged +from ._paged_models import CsmOperationDescriptionPaged +from ._paged_models import DeletedSitePaged +from ._paged_models import DetectorDefinitionPaged +from ._paged_models import DetectorResponsePaged +from ._paged_models import DiagnosticCategoryPaged +from ._paged_models import GeoRegionPaged +from ._paged_models import IdentifierPaged +from ._paged_models import PremierAddOnOfferPaged +from ._paged_models import RecommendationPaged +from ._paged_models import ResourceHealthMetadataPaged +from ._paged_models import SourceControlPaged +from ._web_site_management_client_enums import ( + KeyVaultSecretStatus, + RouteType, + ManagedServiceIdentityType, + AutoHealActionType, + ConnectionStringType, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + StatusOptions, + ProvisioningState, + HostingEnvironmentStatus, + InternalLoadBalancingMode, + ComputeModeOptions, + WorkerSizeOptions, + AccessControlEntryAction, + OperationStatus, + IssueType, + SolutionType, + RenderingType, + ResourceScopeType, + NotificationLevel, + Channels, + AppServicePlanRestrictions, + InAvailabilityReasonType, + CheckNameResourceTypes, + ValidateResourceTypes, + SkuName, +) + +__all__ = [ + 'AbnormalTimePeriod', + 'AnalysisData', + 'AnalysisDefinition', + 'ApiDefinitionInfo', + 'ApplicationStack', + 'AppServiceEnvironment', + 'AppServicePlan', + 'AppServicePlanCollection', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'BillingMeter', + 'Capability', + 'Certificate', + 'CertificatePatchResource', + 'CloningInfo', + 'ConnStringInfo', + 'CorsSettings', + 'CsmMoveResourceEnvelope', + 'CsmOperationDescription', + 'CsmOperationDescriptionProperties', + 'CsmOperationDisplay', + 'CsmUsageQuota', + 'CsmUsageQuotaCollection', + 'DataSource', + 'DataTableResponseColumn', + 'DataTableResponseObject', + 'DefaultErrorResponse', 'DefaultErrorResponseException', + 'DefaultErrorResponseError', + 'DefaultErrorResponseErrorDetailsItem', + 'DeletedSite', + 'DeploymentLocations', + 'DetectorAbnormalTimePeriod', + 'DetectorDefinition', + 'DetectorInfo', + 'DetectorResponse', + 'DiagnosticAnalysis', + 'DiagnosticCategory', + 'DiagnosticData', + 'DiagnosticDetectorResponse', + 'DiagnosticMetricSample', + 'DiagnosticMetricSet', + 'Dimension', + 'ErrorEntity', + 'Experiments', + 'GeoRegion', + 'GlobalCsmSkuDescription', + 'HandlerMapping', + 'HostingEnvironmentDeploymentInfo', + 'HostingEnvironmentProfile', + 'HostNameSslState', + 'HybridConnection', + 'HybridConnectionKey', + 'Identifier', + 'IpSecurityRestriction', + 'LocalizableString', + 'ManagedServiceIdentity', + 'MetricAvailability', + 'MetricSpecification', + 'NameIdentifier', + 'NameValuePair', + 'NetworkAccessControlEntry', + 'Operation', + 'PremierAddOnOffer', + 'ProxyOnlyResource', + 'PushSettings', + 'RampUpRule', + 'Recommendation', + 'RecommendationRule', + 'Rendering', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceHealthMetadata', + 'ResourceMetric', + 'ResourceMetricAvailability', + 'ResourceMetricCollection', + 'ResourceMetricDefinition', + 'ResourceMetricDefinitionCollection', + 'ResourceMetricName', + 'ResourceMetricProperty', + 'ResourceMetricValue', + 'ResourceNameAvailability', + 'ResourceNameAvailabilityRequest', + 'ResponseMetaData', + 'ServiceSpecification', + 'Site', + 'SiteConfig', + 'SiteLimits', + 'SiteMachineKey', + 'SkuCapacity', + 'SkuDescription', + 'SkuInfos', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'SnapshotRecoveryRequest', + 'SnapshotRecoveryTarget', + 'Solution', + 'SourceControl', + 'StackMajorVersion', + 'StackMinorVersion', + 'StampCapacity', + 'StatusCodesBasedTrigger', + 'User', + 'ValidateRequest', + 'ValidateResponse', + 'ValidateResponseError', + 'VirtualApplication', + 'VirtualDirectory', + 'VirtualIPMapping', + 'VirtualNetworkProfile', + 'VnetGateway', + 'VnetInfo', + 'VnetParameters', + 'VnetRoute', + 'VnetValidationFailureDetails', + 'VnetValidationTestFailure', + 'WebAppCollection', + 'WorkerPool', + 'CertificatePaged', + 'DeletedSitePaged', + 'DetectorResponsePaged', + 'DiagnosticCategoryPaged', + 'AnalysisDefinitionPaged', + 'DetectorDefinitionPaged', + 'ApplicationStackPaged', + 'CsmOperationDescriptionPaged', + 'RecommendationPaged', + 'ResourceHealthMetadataPaged', + 'SourceControlPaged', + 'GeoRegionPaged', + 'IdentifierPaged', + 'PremierAddOnOfferPaged', + 'BillingMeterPaged', + 'KeyVaultSecretStatus', + 'RouteType', + 'ManagedServiceIdentityType', + 'AutoHealActionType', + 'ConnectionStringType', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'StatusOptions', + 'ProvisioningState', + 'HostingEnvironmentStatus', + 'InternalLoadBalancingMode', + 'ComputeModeOptions', + 'WorkerSizeOptions', + 'AccessControlEntryAction', + 'OperationStatus', + 'IssueType', + 'SolutionType', + 'RenderingType', + 'ResourceScopeType', + 'NotificationLevel', + 'Channels', + 'AppServicePlanRestrictions', + 'InAvailabilityReasonType', + 'CheckNameResourceTypes', + 'ValidateResourceTypes', + 'SkuName', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models.py new file mode 100644 index 000000000000..396e20711280 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models.py @@ -0,0 +1,5366 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 AbnormalTimePeriod(Model): + """Class representing Abnormal Time Period identified in diagnosis. + + :param start_time: Start time of the downtime + :type start_time: datetime + :param end_time: End time of the downtime + :type end_time: datetime + :param events: List of Possible Cause of downtime + :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, **kwargs): + super(AbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.events = kwargs.get('events', None) + self.solutions = kwargs.get('solutions', None) + + +class AnalysisData(Model): + """Class Representing Detector Evidence used for analysis. + + :param source: Name of the Detector + :type source: str + :param detector_definition: Detector Definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Source Metrics + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param data: Additional Source Data + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param detector_meta_data: Detector Meta Data + :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, **kwargs): + super(AnalysisData, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.detector_definition = kwargs.get('detector_definition', None) + self.metrics = kwargs.get('metrics', None) + self.data = kwargs.get('data', None) + self.detector_meta_data = kwargs.get('detector_meta_data', None) + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class AnalysisDefinition(ProxyOnlyResource): + """Definition of Analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the Analysis + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AnalysisDefinition, self).__init__(**kwargs) + self.description = None + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class ApplicationStack(Model): + """Application stack. + + :param name: Application stack name. + :type name: str + :param display: Application stack display name. + :type display: str + :param dependency: Application stack dependency. + :type dependency: str + :param major_versions: List of major versions available. + :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] + :param frameworks: List of frameworks associated with application stack. + :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'str'}, + 'dependency': {'key': 'dependency', 'type': 'str'}, + 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, + 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, + } + + def __init__(self, **kwargs): + super(ApplicationStack, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.dependency = kwargs.get('dependency', None) + self.major_versions = kwargs.get('major_versions', None) + self.frameworks = kwargs.get('frameworks', None) + + +class AppServiceEnvironment(Model): + """Description of an App Service Environment. + + 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 name: Required. Name of the App Service Environment. + :type name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironment, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.app_service_plan_name = kwargs.get('app_service_plan_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AppServicePlanCollection(Model): + """Collection of App Service plans. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.AppServicePlan] + :param next_link: Link to next page of resources. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AppServicePlan]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppServicePlanCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class BillingMeter(ProxyOnlyResource): + """App Service billing entity that contains information about meter which the + Azure billing system utilizes to charge users for services. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param meter_id: Meter GUID onboarded in Commerce + :type meter_id: str + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param short_name: Short Name from App Service Azure pricing Page + :type short_name: str + :param friendly_name: Friendly name of the meter + :type friendly_name: str + :param resource_type: App Service resource type meter used for + :type resource_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, + 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, + 'short_name': {'key': 'properties.shortName', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BillingMeter, self).__init__(**kwargs) + self.meter_id = kwargs.get('meter_id', None) + self.billing_location = kwargs.get('billing_location', None) + self.short_name = kwargs.get('short_name', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.resource_type = kwargs.get('resource_type', None) + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :ivar geo_region: Region of the certificate. + :vartype geo_region: str + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + 'geo_region': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Certificate, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.geo_region = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :ivar geo_region: Region of the certificate. + :vartype geo_region: str + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + 'geo_region': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificatePatchResource, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.geo_region = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + self.ignore_quotas = kwargs.get('ignore_quotas', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + + +class CsmMoveResourceEnvelope(Model): + """Object with a list of the resources that need to be moved and the resource + group they should be moved to. + + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[str] + """ + + _validation = { + 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, + } + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CsmMoveResourceEnvelope, self).__init__(**kwargs) + self.target_resource_group = kwargs.get('target_resource_group', None) + self.resources = kwargs.get('resources', None) + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, 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) + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, **kwargs): + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = kwargs.get('unit', None) + self.next_reset_time = kwargs.get('next_reset_time', None) + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class CsmUsageQuotaCollection(Model): + """Collection of CSM usage quotas. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.CsmUsageQuota] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CsmUsageQuota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CsmUsageQuotaCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class DataSource(Model): + """Class representing data source used by the detectors. + + :param instructions: Instructions if any for the data source + :type instructions: list[str] + :param data_source_uri: Datasource Uri Links + :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] + """ + + _attribute_map = { + 'instructions': {'key': 'instructions', 'type': '[str]'}, + 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, + } + + def __init__(self, **kwargs): + super(DataSource, self).__init__(**kwargs) + self.instructions = kwargs.get('instructions', None) + self.data_source_uri = kwargs.get('data_source_uri', None) + + +class DataTableResponseColumn(Model): + """Column definition. + + :param column_name: Name of the column + :type column_name: str + :param data_type: Data type which looks like 'String' or 'Int32'. + :type data_type: str + :param column_type: Column Type + :type column_type: str + """ + + _attribute_map = { + 'column_name': {'key': 'columnName', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'column_type': {'key': 'columnType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataTableResponseColumn, self).__init__(**kwargs) + self.column_name = kwargs.get('column_name', None) + self.data_type = kwargs.get('data_type', None) + self.column_type = kwargs.get('column_type', None) + + +class DataTableResponseObject(Model): + """Data Table which defines columns and raw row values. + + :param table_name: Name of the table + :type table_name: str + :param columns: List of columns with data types + :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] + :param rows: Raw row values + :type rows: list[list[str]] + """ + + _attribute_map = { + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, + 'rows': {'key': 'rows', 'type': '[[str]]'}, + } + + def __init__(self, **kwargs): + super(DataTableResponseObject, self).__init__(**kwargs) + self.table_name = kwargs.get('table_name', None) + self.columns = kwargs.get('columns', None) + self.rows = kwargs.get('rows', None) + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = kwargs.get('details', None) + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedSite(Model): + """A deleted app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Numeric id for the deleted site + :type id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar name: Name of the deleted site + :vartype name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + """ + + _validation = { + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'name': {'readonly': True}, + 'slot': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'int'}, + 'deleted_timestamp': {'key': 'deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'subscription', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'slot': {'key': 'slot', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeletedSite, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.name = None + self.slot = None + + +class DeploymentLocations(Model): + """List of available locations (regions or App Service Environments) for + deployment of App Service resources. + + :param locations: Available regions. + :type locations: list[~azure.mgmt.web.models.GeoRegion] + :param hosting_environments: Available App Service Environments with full + descriptions of the environments. + :type hosting_environments: + list[~azure.mgmt.web.models.AppServiceEnvironment] + :param hosting_environment_deployment_infos: Available App Service + Environments with basic information. + :type hosting_environment_deployment_infos: + list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, + 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, + 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, + } + + def __init__(self, **kwargs): + super(DeploymentLocations, self).__init__(**kwargs) + self.locations = kwargs.get('locations', None) + self.hosting_environments = kwargs.get('hosting_environments', None) + self.hosting_environment_deployment_infos = kwargs.get('hosting_environment_deployment_infos', None) + + +class DetectorAbnormalTimePeriod(Model): + """Class representing Abnormal Time Period detected. + + :param start_time: Start time of the correlated event + :type start_time: datetime + :param end_time: End time of the correlated event + :type end_time: datetime + :param message: Message describing the event + :type message: str + :param source: Represents the name of the Detector + :type source: str + :param priority: Represents the rank of the Detector + :type priority: float + :param meta_data: Downtime metadata + :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param type: Represents the type of the Detector. Possible values include: + 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', + 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' + :type type: str or ~azure.mgmt.web.models.IssueType + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'float'}, + 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, + 'type': {'key': 'type', 'type': 'IssueType'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, **kwargs): + super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.message = kwargs.get('message', None) + self.source = kwargs.get('source', None) + self.priority = kwargs.get('priority', None) + self.meta_data = kwargs.get('meta_data', None) + self.type = kwargs.get('type', None) + self.solutions = kwargs.get('solutions', None) + + +class DetectorDefinition(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Display name of the detector + :vartype display_name: str + :ivar description: Description of the detector + :vartype description: str + :ivar rank: Detector Rank + :vartype rank: float + :ivar is_enabled: Flag representing whether detector is enabled or not. + :vartype is_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rank': {'readonly': True}, + 'is_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'rank': {'key': 'properties.rank', 'type': 'float'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DetectorDefinition, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.rank = None + self.is_enabled = None + + +class DetectorInfo(Model): + """Definition of Detector. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: Short description of the detector and its purpose + :vartype description: str + :ivar category: Support Category + :vartype category: str + :ivar sub_category: Support Sub Category + :vartype sub_category: str + :ivar support_topic_id: Support Topic Id + :vartype support_topic_id: str + """ + + _validation = { + 'description': {'readonly': True}, + 'category': {'readonly': True}, + 'sub_category': {'readonly': True}, + 'support_topic_id': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'sub_category': {'key': 'subCategory', 'type': 'str'}, + 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DetectorInfo, self).__init__(**kwargs) + self.description = None + self.category = None + self.sub_category = None + self.support_topic_id = None + + +class DetectorResponse(ProxyOnlyResource): + """Class representing Response from Detector. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param metadata: metadata for the detector + :type metadata: ~azure.mgmt.web.models.DetectorInfo + :param dataset: Data Set + :type dataset: list[~azure.mgmt.web.models.DiagnosticData] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, + 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, + } + + def __init__(self, **kwargs): + super(DetectorResponse, self).__init__(**kwargs) + self.metadata = kwargs.get('metadata', None) + self.dataset = kwargs.get('dataset', None) + + +class DiagnosticAnalysis(ProxyOnlyResource): + """Class representing a diagnostic analysis done on an 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param abnormal_time_periods: List of time periods. + :type abnormal_time_periods: + list[~azure.mgmt.web.models.AbnormalTimePeriod] + :param payload: Data by each detector + :type payload: list[~azure.mgmt.web.models.AnalysisData] + :param non_correlated_detectors: Data by each detector for detectors that + did not corelate + :type non_correlated_detectors: + list[~azure.mgmt.web.models.DetectorDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, + 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, + 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, + } + + def __init__(self, **kwargs): + super(DiagnosticAnalysis, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) + self.payload = kwargs.get('payload', None) + self.non_correlated_detectors = kwargs.get('non_correlated_detectors', None) + + +class DiagnosticCategory(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the diagnostic category + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DiagnosticCategory, self).__init__(**kwargs) + self.description = None + + +class DiagnosticData(Model): + """Set of data with rendering instructions. + + :param table: Data in table form + :type table: ~azure.mgmt.web.models.DataTableResponseObject + :param rendering_properties: Properties that describe how the table should + be rendered + :type rendering_properties: ~azure.mgmt.web.models.Rendering + """ + + _attribute_map = { + 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, + 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, + } + + def __init__(self, **kwargs): + super(DiagnosticData, self).__init__(**kwargs) + self.table = kwargs.get('table', None) + self.rendering_properties = kwargs.get('rendering_properties', None) + + +class DiagnosticDetectorResponse(ProxyOnlyResource): + """Class representing Response from Diagnostic Detectors. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param issue_detected: Flag representing Issue was detected. + :type issue_detected: bool + :param detector_definition: Detector's definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Metrics provided by the detector + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param abnormal_time_periods: List of Correlated events found by the + detector + :type abnormal_time_periods: + list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param data: Additional Data that detector wants to send. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param response_meta_data: Meta Data + :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, + 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, + 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, + 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, **kwargs): + super(DiagnosticDetectorResponse, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.issue_detected = kwargs.get('issue_detected', None) + self.detector_definition = kwargs.get('detector_definition', None) + self.metrics = kwargs.get('metrics', None) + self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) + self.data = kwargs.get('data', None) + self.response_meta_data = kwargs.get('response_meta_data', None) + + +class DiagnosticMetricSample(Model): + """Class representing Diagnostic Metric. + + :param timestamp: Time at which metric is measured + :type timestamp: datetime + :param role_instance: Role Instance. Null if this counter is not per + instance + This is returned and should be whichever instance name we desire to be + returned + i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + where RDWORKERNAME is Machine name below and RoleInstance name in + parenthesis + :type role_instance: str + :param total: Total value of the metric. If multiple measurements are made + this will have sum of all. + :type total: float + :param maximum: Maximum of the metric sampled during the time period + :type maximum: float + :param minimum: Minimum of the metric sampled during the time period + :type minimum: float + :param is_aggregated: Whether the values are aggregates across all workers + or not + :type is_aggregated: bool + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'role_instance': {'key': 'roleInstance', 'type': 'str'}, + 'total': {'key': 'total', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DiagnosticMetricSample, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.role_instance = kwargs.get('role_instance', None) + self.total = kwargs.get('total', None) + self.maximum = kwargs.get('maximum', None) + self.minimum = kwargs.get('minimum', None) + self.is_aggregated = kwargs.get('is_aggregated', None) + + +class DiagnosticMetricSet(Model): + """Class representing Diagnostic Metric information. + + :param name: Name of the metric + :type name: str + :param unit: Metric's unit + :type unit: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param time_grain: Presented time grain. Supported grains at the moment + are PT1M, PT1H, P1D + :type time_grain: str + :param values: Collection of metric values for the selected period based + on the + {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, + } + + def __init__(self, **kwargs): + super(DiagnosticMetricSet, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.unit = kwargs.get('unit', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.time_grain = kwargs.get('time_grain', None) + self.values = kwargs.get('values', None) + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = kwargs.get('extended_code', None) + self.message_template = kwargs.get('message_template', None) + self.parameters = kwargs.get('parameters', None) + self.inner_errors = kwargs.get('inner_errors', None) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class GeoRegion(ProxyOnlyResource): + """Geographical region. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar geo_region_name: Region name. + :vartype geo_region_name: str + :ivar description: Region description. + :vartype description: str + :ivar display_name: Display name for region. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + 'description': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.name', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GeoRegion, self).__init__(**kwargs) + self.geo_region_name = None + self.description = None + self.display_name = None + + +class GlobalCsmSkuDescription(Model): + """A Global SKU Description. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service Tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(GlobalCsmSkuDescription, 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.capacity = kwargs.get('capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentDeploymentInfo(Model): + """Information needed to create resources on an App Service Environment. + + :param name: Name of the App Service Environment. + :type name: str + :param location: Location of the App Service Environment. + :type location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalizableString, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supports_instance_level_aggregation = kwargs.get('supports_instance_level_aggregation', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.is_internal = kwargs.get('is_internal', None) + self.dimensions = kwargs.get('dimensions', None) + self.category = kwargs.get('category', None) + self.availabilities = kwargs.get('availabilities', None) + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameIdentifier, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.description = kwargs.get('description', None) + self.order = kwargs.get('order', None) + self.remote_subnet = kwargs.get('remote_subnet', None) + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + self.errors = kwargs.get('errors', None) + self.created_time = kwargs.get('created_time', None) + self.modified_time = kwargs.get('modified_time', None) + self.expiration_time = kwargs.get('expiration_time', None) + self.geo_master_operation_id = kwargs.get('geo_master_operation_id', None) + + +class PremierAddOnOffer(ProxyOnlyResource): + """Premier add-on offer. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on offer Product. + :type product: str + :param vendor: Premier add on offer Vendor. + :type vendor: str + :param premier_add_on_offer_name: Premier add on offer Name. + :type premier_add_on_offer_name: str + :param promo_code_required: true if promotion code is + required; otherwise, false. + :type promo_code_required: bool + :param quota: Premier add on offer Quota. + :type quota: int + :param web_hosting_plan_restrictions: App Service plans this offer is + restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', + 'Standard', 'Premium' + :type web_hosting_plan_restrictions: str or + ~azure.mgmt.web.models.AppServicePlanRestrictions + :param privacy_policy_url: Privacy policy URL. + :type privacy_policy_url: str + :param legal_terms_url: Legal terms URL. + :type legal_terms_url: str + :param marketplace_publisher: Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'premier_add_on_offer_name': {'key': 'properties.name', 'type': 'str'}, + 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, + 'quota': {'key': 'properties.quota', 'type': 'int'}, + 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, + 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, + 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PremierAddOnOffer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.product = kwargs.get('product', None) + self.vendor = kwargs.get('vendor', None) + self.premier_add_on_offer_name = kwargs.get('premier_add_on_offer_name', None) + self.promo_code_required = kwargs.get('promo_code_required', None) + self.quota = kwargs.get('quota', None) + self.web_hosting_plan_restrictions = kwargs.get('web_hosting_plan_restrictions', None) + self.privacy_policy_url = kwargs.get('privacy_policy_url', None) + self.legal_terms_url = kwargs.get('legal_terms_url', None) + self.marketplace_publisher = kwargs.get('marketplace_publisher', None) + self.marketplace_offer = kwargs.get('marketplace_offer', None) + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class Recommendation(ProxyOnlyResource): + """Represents a recommendation result generated by the recommendation engine. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param creation_time: Timestamp when this instance was created. + :type creation_time: datetime + :param recommendation_id: A GUID value that each recommendation object is + associated with. + :type recommendation_id: str + :param resource_id: Full ARM resource ID string that this recommendation + object is associated with. + :type resource_id: str + :param resource_scope: Name of a resource type this recommendation + applies, e.g. Subscription, ServerFarm, Site. Possible values include: + 'ServerFarm', 'Subscription', 'WebSite' + :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType + :param rule_name: Unique name of the rule. + :type rule_name: str + :param display_name: UI friendly name of the rule (may not be unique). + :type display_name: str + :param message: Recommendation text. + :type message: str + :param level: Level indicating how critical this recommendation can + impact. Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of channels that this recommendation can apply. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :param tags: The list of category tags that this recommendation belongs + to. + :type tags: list[str] + :param action_name: Name of action recommended by this object. + :type action_name: str + :param start_time: The beginning time in UTC of a range that the + recommendation refers to. + :type start_time: datetime + :param end_time: The end time in UTC of a range that the recommendation + refers to. + :type end_time: datetime + :param next_notification_time: When to notify this recommendation next in + UTC. Null means that this will never be notified anymore. + :type next_notification_time: datetime + :param notification_expiration_time: Date and time in UTC when this + notification expires. + :type notification_expiration_time: datetime + :param notified_time: Last timestamp in UTC this instance was actually + notified. Null means that this recommendation hasn't been notified yet. + :type notified_time: datetime + :param score: A metric value measured by the rule. + :type score: float + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, + 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, + 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'tags': {'key': 'properties.tags', 'type': '[str]'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, + 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, + 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, + 'score': {'key': 'properties.score', 'type': 'float'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Recommendation, self).__init__(**kwargs) + self.creation_time = kwargs.get('creation_time', None) + self.recommendation_id = kwargs.get('recommendation_id', None) + self.resource_id = kwargs.get('resource_id', None) + self.resource_scope = kwargs.get('resource_scope', None) + self.rule_name = kwargs.get('rule_name', None) + self.display_name = kwargs.get('display_name', None) + self.message = kwargs.get('message', None) + self.level = kwargs.get('level', None) + self.channels = kwargs.get('channels', None) + self.tags = kwargs.get('tags', None) + self.action_name = kwargs.get('action_name', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.next_notification_time = kwargs.get('next_notification_time', None) + self.notification_expiration_time = kwargs.get('notification_expiration_time', None) + self.notified_time = kwargs.get('notified_time', None) + self.score = kwargs.get('score', None) + self.is_dynamic = kwargs.get('is_dynamic', None) + self.extension_name = kwargs.get('extension_name', None) + self.blade_name = kwargs.get('blade_name', None) + self.forward_link = kwargs.get('forward_link', None) + + +class RecommendationRule(ProxyOnlyResource): + """Represents a recommendation rule that the recommendation engine can + perform. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param recommendation_rule_name: Unique name of the rule. + :type recommendation_rule_name: str + :param display_name: UI friendly name of the rule. + :type display_name: str + :param message: Localized name of the rule (Good for UI). + :type message: str + :param recommendation_id: Recommendation ID of an associated + recommendation object tied to the rule, if exists. + If such an object doesn't exist, it is set to null. + :type recommendation_id: str + :param description: Localized detailed description of the rule. + :type description: str + :param action_name: Name of action that is recommended by this rule in + string. + :type action_name: str + :param level: Level of impact indicating how critical this rule is. + Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of available channels that this rule applies. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :param tags: An array of category tags that the rule contains. + :type tags: list[str] + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. Applicable + to dynamic rule only. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. Applicable to + dynamic rule only. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. Applicable to dynamic rule only. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recommendation_rule_name': {'key': 'properties.name', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'tags': {'key': 'properties.tags', 'type': '[str]'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RecommendationRule, self).__init__(**kwargs) + self.recommendation_rule_name = kwargs.get('recommendation_rule_name', None) + self.display_name = kwargs.get('display_name', None) + self.message = kwargs.get('message', None) + self.recommendation_id = kwargs.get('recommendation_id', None) + self.description = kwargs.get('description', None) + self.action_name = kwargs.get('action_name', None) + self.level = kwargs.get('level', None) + self.channels = kwargs.get('channels', None) + self.tags = kwargs.get('tags', None) + self.is_dynamic = kwargs.get('is_dynamic', None) + self.extension_name = kwargs.get('extension_name', None) + self.blade_name = kwargs.get('blade_name', None) + self.forward_link = kwargs.get('forward_link', None) + + +class Rendering(Model): + """Instructions for rendering the data. + + :param rendering_type: Rendering Type. Possible values include: 'NoGraph', + 'Table', 'TimeSeries', 'TimeSeriesPerInstance' + :type rendering_type: str or ~azure.mgmt.web.models.RenderingType + :param title: Title of data + :type title: str + :param description: Description of the data that will help it be + interpreted + :type description: str + """ + + _attribute_map = { + 'rendering_type': {'key': 'renderingType', 'type': 'RenderingType'}, + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Rendering, self).__init__(**kwargs) + self.rendering_type = kwargs.get('rendering_type', None) + self.title = kwargs.get('title', None) + self.description = kwargs.get('description', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceHealthMetadata(ProxyOnlyResource): + """Used for getting ResourceHealthCheck settings. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param category: The category that the resource matches in the RHC Policy + File + :type category: str + :param signal_availability: Is there a health signal for the resource + :type signal_availability: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ResourceHealthMetadata, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.signal_availability = kwargs.get('signal_availability', None) + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricCollection(Model): + """Collection of metric responses. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.ResourceMetric] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceMetric]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricDefinitionCollection(Model): + """Collection of metric definitions. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.ResourceMetricDefinition] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceMetricDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinitionCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.value = kwargs.get('value', None) + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class ResourceNameAvailability(Model): + """Information regarding availability of a resource name. + + :param name_available: true indicates name is valid and + available. false indicates the name is invalid, unavailable, + or both. + :type name_available: bool + :param reason: Invalid indicates the name provided does not + match Azure App Service naming requirements. AlreadyExists + indicates that the name is already in use and is therefore unavailable. + Possible values include: 'Invalid', 'AlreadyExists' + :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType + :param message: If reason == invalid, provide the user with the reason why + the given name is invalid, and provide the resource naming requirements so + that the user can select a valid name. If reason == AlreadyExists, explain + that resource name is already in use, and direct them to select a + different name. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNameAvailability, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class ResourceNameAvailabilityRequest(Model): + """Resource name availability request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.is_fqdn = kwargs.get('is_fqdn', None) + + +class ResponseMetaData(Model): + """ResponseMetaData. + + :param data_source: Source of the Data + :type data_source: ~azure.mgmt.web.models.DataSource + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, + } + + def __init__(self, **kwargs): + super(ResponseMetaData, self).__init__(**kwargs) + self.data_source = kwargs.get('data_source', None) + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.identity = kwargs.get('identity', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SkuInfos(Model): + """Collection of SKU information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param skus: List of SKUs the subscription is able to use. + :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, + } + + def __init__(self, **kwargs): + super(SkuInfos, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.skus = kwargs.get('skus', None) + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_target = kwargs.get('recovery_target', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class Solution(Model): + """Class Representing Solution for problems detected. + + :param id: Solution Id. + :type id: float + :param display_name: Display Name of the solution + :type display_name: str + :param order: Order of the solution. + :type order: float + :param description: Description of the solution + :type description: str + :param type: Type of Solution. Possible values include: 'QuickSolution', + 'DeepInvestigation', 'BestPractices' + :type type: str or ~azure.mgmt.web.models.SolutionType + :param data: Solution Data. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param metadata: Solution Metadata. + :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'float'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'float'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'SolutionType'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, + } + + def __init__(self, **kwargs): + super(Solution, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.display_name = kwargs.get('display_name', None) + self.order = kwargs.get('order', None) + self.description = kwargs.get('description', None) + self.type = kwargs.get('type', None) + self.data = kwargs.get('data', None) + self.metadata = kwargs.get('metadata', None) + + +class SourceControl(ProxyOnlyResource): + """The source control OAuth token. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param source_control_name: Name or source control type. + :type source_control_name: str + :param token: OAuth access token. + :type token: str + :param token_secret: OAuth access token secret. + :type token_secret: str + :param refresh_token: OAuth refresh token. + :type refresh_token: str + :param expiration_time: OAuth token expiration. + :type expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_control_name': {'key': 'properties.name', 'type': 'str'}, + 'token': {'key': 'properties.token', 'type': 'str'}, + 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, + 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SourceControl, self).__init__(**kwargs) + self.source_control_name = kwargs.get('source_control_name', None) + self.token = kwargs.get('token', None) + self.token_secret = kwargs.get('token_secret', None) + self.refresh_token = kwargs.get('refresh_token', None) + self.expiration_time = kwargs.get('expiration_time', None) + + +class StackMajorVersion(Model): + """Application stack major version. + + :param display_version: Application stack major version (display only). + :type display_version: str + :param runtime_version: Application stack major version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default major version; + otherwise, false. + :type is_default: bool + :param minor_versions: Minor versions associated with the major version. + :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, + } + + def __init__(self, **kwargs): + super(StackMajorVersion, self).__init__(**kwargs) + self.display_version = kwargs.get('display_version', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.is_default = kwargs.get('is_default', None) + self.minor_versions = kwargs.get('minor_versions', None) + + +class StackMinorVersion(Model): + """Application stack minor version. + + :param display_version: Application stack minor version (display only). + :type display_version: str + :param runtime_version: Application stack minor version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default minor version; + otherwise, false. + :type is_default: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StackMinorVersion, self).__init__(**kwargs) + self.display_version = kwargs.get('display_version', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.is_default = kwargs.get('is_default', None) + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Default', 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StampCapacity, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.available_capacity = kwargs.get('available_capacity', None) + self.total_capacity = kwargs.get('total_capacity', None) + self.unit = kwargs.get('unit', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.exclude_from_capacity_allocation = kwargs.get('exclude_from_capacity_allocation', None) + self.is_applicable_for_all_compute_modes = kwargs.get('is_applicable_for_all_compute_modes', None) + self.site_mode = kwargs.get('site_mode', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + + +class ValidateRequest(Model): + """Resource validation request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'ServerFarm', 'Site' + :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes + :param location: Required. Expected location of the resource. + :type location: str + :param server_farm_id: ARM resource ID of an App Service plan that would + host the app. + :type server_farm_id: str + :param sku_name: Name of the target SKU for the App Service plan. + :type sku_name: str + :param need_linux_workers: true if App Service plan is for + Linux workers; otherwise, false. + :type need_linux_workers: bool + :param is_spot: true if App Service plan is for Spot + instances; otherwise, false. + :type is_spot: bool + :param capacity: Target capacity of the App Service plan (number of VMs). + :type capacity: int + :param hosting_environment: Name of App Service Environment where app or + App Service plan should be created. + :type hosting_environment: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'location': {'required': True}, + 'capacity': {'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, + 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'int'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.location = kwargs.get('location', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.sku_name = kwargs.get('sku_name', None) + self.need_linux_workers = kwargs.get('need_linux_workers', None) + self.is_spot = kwargs.get('is_spot', None) + self.capacity = kwargs.get('capacity', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + + +class ValidateResponse(Model): + """Describes the result of resource validation. + + :param status: Result of validation. + :type status: str + :param error: Error details for the case when validation fails. + :type error: ~azure.mgmt.web.models.ValidateResponseError + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ValidateResponseError'}, + } + + def __init__(self, **kwargs): + super(ValidateResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) + + +class ValidateResponseError(Model): + """Error details for when validation fails. + + :param code: Validation error code. + :type code: str + :param message: Validation error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateResponseError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.internal_http_port = kwargs.get('internal_http_port', None) + self.internal_https_port = kwargs.get('internal_https_port', None) + self.in_use = kwargs.get('in_use', None) + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.subnet = kwargs.get('subnet', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + + +class VnetParameters(ProxyOnlyResource): + """The required set of inputs to validate a VNET. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_group: The Resource Group of the VNET to be validated + :type vnet_resource_group: str + :param vnet_name: The name of the VNET to be validated + :type vnet_name: str + :param vnet_subnet_name: The subnet name to be validated + :type vnet_subnet_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetParameters, self).__init__(**kwargs) + self.vnet_resource_group = kwargs.get('vnet_resource_group', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.vnet_route_name = kwargs.get('vnet_route_name', None) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) + + +class VnetValidationFailureDetails(ProxyOnlyResource): + """A class that describes the reason for a validation failure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param failed: A flag describing whether or not validation failed. + :type failed: bool + :param failed_tests: A list of tests that failed in the validation. + :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'failed': {'key': 'properties.failed', 'type': 'bool'}, + 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, + } + + def __init__(self, **kwargs): + super(VnetValidationFailureDetails, self).__init__(**kwargs) + self.failed = kwargs.get('failed', None) + self.failed_tests = kwargs.get('failed_tests', None) + + +class VnetValidationTestFailure(ProxyOnlyResource): + """A class that describes a test that failed during NSG and UDR validation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param test_name: The name of the test that failed. + :type test_name: str + :param details: The details of what caused the failure, e.g. the blocking + rule name, etc. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'test_name': {'key': 'properties.testName', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetValidationTestFailure, self).__init__(**kwargs) + self.test_name = kwargs.get('test_name', None) + self.details = kwargs.get('details', None) + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebAppCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_count = kwargs.get('worker_count', None) + self.instance_names = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models_py3.py new file mode 100644 index 000000000000..2719b24ecf35 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_models_py3.py @@ -0,0 +1,5366 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 AbnormalTimePeriod(Model): + """Class representing Abnormal Time Period identified in diagnosis. + + :param start_time: Start time of the downtime + :type start_time: datetime + :param end_time: End time of the downtime + :type end_time: datetime + :param events: List of Possible Cause of downtime + :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, *, start_time=None, end_time=None, events=None, solutions=None, **kwargs) -> None: + super(AbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.events = events + self.solutions = solutions + + +class AnalysisData(Model): + """Class Representing Detector Evidence used for analysis. + + :param source: Name of the Detector + :type source: str + :param detector_definition: Detector Definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Source Metrics + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param data: Additional Source Data + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param detector_meta_data: Detector Meta Data + :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, *, source: str=None, detector_definition=None, metrics=None, data=None, detector_meta_data=None, **kwargs) -> None: + super(AnalysisData, self).__init__(**kwargs) + self.source = source + self.detector_definition = detector_definition + self.metrics = metrics + self.data = data + self.detector_meta_data = detector_meta_data + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class AnalysisDefinition(ProxyOnlyResource): + """Definition of Analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the Analysis + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(AnalysisDefinition, self).__init__(kind=kind, **kwargs) + self.description = None + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class ApplicationStack(Model): + """Application stack. + + :param name: Application stack name. + :type name: str + :param display: Application stack display name. + :type display: str + :param dependency: Application stack dependency. + :type dependency: str + :param major_versions: List of major versions available. + :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] + :param frameworks: List of frameworks associated with application stack. + :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'str'}, + 'dependency': {'key': 'dependency', 'type': 'str'}, + 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, + 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, + } + + def __init__(self, *, name: str=None, display: str=None, dependency: str=None, major_versions=None, frameworks=None, **kwargs) -> None: + super(ApplicationStack, self).__init__(**kwargs) + self.name = name + self.display = display + self.dependency = dependency + self.major_versions = major_versions + self.frameworks = frameworks + + +class AppServiceEnvironment(Model): + """Description of an App Service Environment. + + 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 name: Required. Name of the App Service Environment. + :type name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, *, name: str, location: str, virtual_network, worker_pools, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, **kwargs) -> None: + super(AppServiceEnvironment, self).__init__(**kwargs) + self.name = name + self.location = location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, app_service_plan_name: str, kind: str=None, tags=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_plan_name = app_service_plan_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AppServicePlanCollection(Model): + """Collection of App Service plans. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.AppServicePlan] + :param next_link: Link to next page of resources. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AppServicePlan]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, next_link: str=None, **kwargs) -> None: + super(AppServicePlanCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class BillingMeter(ProxyOnlyResource): + """App Service billing entity that contains information about meter which the + Azure billing system utilizes to charge users for services. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param meter_id: Meter GUID onboarded in Commerce + :type meter_id: str + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param short_name: Short Name from App Service Azure pricing Page + :type short_name: str + :param friendly_name: Friendly name of the meter + :type friendly_name: str + :param resource_type: App Service resource type meter used for + :type resource_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, + 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, + 'short_name': {'key': 'properties.shortName', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, meter_id: str=None, billing_location: str=None, short_name: str=None, friendly_name: str=None, resource_type: str=None, **kwargs) -> None: + super(BillingMeter, self).__init__(kind=kind, **kwargs) + self.meter_id = meter_id + self.billing_location = billing_location + self.short_name = short_name + self.friendly_name = friendly_name + self.resource_type = resource_type + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :ivar geo_region: Region of the certificate. + :vartype geo_region: str + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + 'geo_region': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, location: str, password: str, kind: str=None, tags=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(Certificate, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.geo_region = None + self.server_farm_id = server_farm_id + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :ivar geo_region: Region of the certificate. + :vartype geo_region: str + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + 'geo_region': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, password: str, kind: str=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(CertificatePatchResource, self).__init__(kind=kind, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.geo_region = None + self.server_farm_id = server_farm_id + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, ignore_quotas: bool=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + self.ignore_quotas = ignore_quotas + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + + +class CsmMoveResourceEnvelope(Model): + """Object with a list of the resources that need to be moved and the resource + group they should be moved to. + + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[str] + """ + + _validation = { + 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, + } + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, *, target_resource_group: str=None, resources=None, **kwargs) -> None: + super(CsmMoveResourceEnvelope, self).__init__(**kwargs) + self.target_resource_group = target_resource_group + self.resources = resources + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, service_specification=None, **kwargs) -> None: + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, *, unit: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None: + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = unit + self.next_reset_time = next_reset_time + self.current_value = current_value + self.limit = limit + self.name = name + + +class CsmUsageQuotaCollection(Model): + """Collection of CSM usage quotas. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.CsmUsageQuota] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CsmUsageQuota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(CsmUsageQuotaCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class DataSource(Model): + """Class representing data source used by the detectors. + + :param instructions: Instructions if any for the data source + :type instructions: list[str] + :param data_source_uri: Datasource Uri Links + :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] + """ + + _attribute_map = { + 'instructions': {'key': 'instructions', 'type': '[str]'}, + 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, + } + + def __init__(self, *, instructions=None, data_source_uri=None, **kwargs) -> None: + super(DataSource, self).__init__(**kwargs) + self.instructions = instructions + self.data_source_uri = data_source_uri + + +class DataTableResponseColumn(Model): + """Column definition. + + :param column_name: Name of the column + :type column_name: str + :param data_type: Data type which looks like 'String' or 'Int32'. + :type data_type: str + :param column_type: Column Type + :type column_type: str + """ + + _attribute_map = { + 'column_name': {'key': 'columnName', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'column_type': {'key': 'columnType', 'type': 'str'}, + } + + def __init__(self, *, column_name: str=None, data_type: str=None, column_type: str=None, **kwargs) -> None: + super(DataTableResponseColumn, self).__init__(**kwargs) + self.column_name = column_name + self.data_type = data_type + self.column_type = column_type + + +class DataTableResponseObject(Model): + """Data Table which defines columns and raw row values. + + :param table_name: Name of the table + :type table_name: str + :param columns: List of columns with data types + :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] + :param rows: Raw row values + :type rows: list[list[str]] + """ + + _attribute_map = { + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, + 'rows': {'key': 'rows', 'type': '[[str]]'}, + } + + def __init__(self, *, table_name: str=None, columns=None, rows=None, **kwargs) -> None: + super(DataTableResponseObject, self).__init__(**kwargs) + self.table_name = table_name + self.columns = columns + self.rows = rows + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, *, details=None, **kwargs) -> None: + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = details + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedSite(Model): + """A deleted app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Numeric id for the deleted site + :type id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar name: Name of the deleted site + :vartype name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + """ + + _validation = { + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'name': {'readonly': True}, + 'slot': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'int'}, + 'deleted_timestamp': {'key': 'deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'subscription', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'slot': {'key': 'slot', 'type': 'str'}, + } + + def __init__(self, *, id: int=None, **kwargs) -> None: + super(DeletedSite, self).__init__(**kwargs) + self.id = id + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.name = None + self.slot = None + + +class DeploymentLocations(Model): + """List of available locations (regions or App Service Environments) for + deployment of App Service resources. + + :param locations: Available regions. + :type locations: list[~azure.mgmt.web.models.GeoRegion] + :param hosting_environments: Available App Service Environments with full + descriptions of the environments. + :type hosting_environments: + list[~azure.mgmt.web.models.AppServiceEnvironment] + :param hosting_environment_deployment_infos: Available App Service + Environments with basic information. + :type hosting_environment_deployment_infos: + list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, + 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, + 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, + } + + def __init__(self, *, locations=None, hosting_environments=None, hosting_environment_deployment_infos=None, **kwargs) -> None: + super(DeploymentLocations, self).__init__(**kwargs) + self.locations = locations + self.hosting_environments = hosting_environments + self.hosting_environment_deployment_infos = hosting_environment_deployment_infos + + +class DetectorAbnormalTimePeriod(Model): + """Class representing Abnormal Time Period detected. + + :param start_time: Start time of the correlated event + :type start_time: datetime + :param end_time: End time of the correlated event + :type end_time: datetime + :param message: Message describing the event + :type message: str + :param source: Represents the name of the Detector + :type source: str + :param priority: Represents the rank of the Detector + :type priority: float + :param meta_data: Downtime metadata + :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param type: Represents the type of the Detector. Possible values include: + 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', + 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' + :type type: str or ~azure.mgmt.web.models.IssueType + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'float'}, + 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, + 'type': {'key': 'type', 'type': 'IssueType'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, *, start_time=None, end_time=None, message: str=None, source: str=None, priority: float=None, meta_data=None, type=None, solutions=None, **kwargs) -> None: + super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.message = message + self.source = source + self.priority = priority + self.meta_data = meta_data + self.type = type + self.solutions = solutions + + +class DetectorDefinition(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Display name of the detector + :vartype display_name: str + :ivar description: Description of the detector + :vartype description: str + :ivar rank: Detector Rank + :vartype rank: float + :ivar is_enabled: Flag representing whether detector is enabled or not. + :vartype is_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rank': {'readonly': True}, + 'is_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'rank': {'key': 'properties.rank', 'type': 'float'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DetectorDefinition, self).__init__(kind=kind, **kwargs) + self.display_name = None + self.description = None + self.rank = None + self.is_enabled = None + + +class DetectorInfo(Model): + """Definition of Detector. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: Short description of the detector and its purpose + :vartype description: str + :ivar category: Support Category + :vartype category: str + :ivar sub_category: Support Sub Category + :vartype sub_category: str + :ivar support_topic_id: Support Topic Id + :vartype support_topic_id: str + """ + + _validation = { + 'description': {'readonly': True}, + 'category': {'readonly': True}, + 'sub_category': {'readonly': True}, + 'support_topic_id': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'sub_category': {'key': 'subCategory', 'type': 'str'}, + 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DetectorInfo, self).__init__(**kwargs) + self.description = None + self.category = None + self.sub_category = None + self.support_topic_id = None + + +class DetectorResponse(ProxyOnlyResource): + """Class representing Response from Detector. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param metadata: metadata for the detector + :type metadata: ~azure.mgmt.web.models.DetectorInfo + :param dataset: Data Set + :type dataset: list[~azure.mgmt.web.models.DiagnosticData] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, + 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, + } + + def __init__(self, *, kind: str=None, metadata=None, dataset=None, **kwargs) -> None: + super(DetectorResponse, self).__init__(kind=kind, **kwargs) + self.metadata = metadata + self.dataset = dataset + + +class DiagnosticAnalysis(ProxyOnlyResource): + """Class representing a diagnostic analysis done on an 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param abnormal_time_periods: List of time periods. + :type abnormal_time_periods: + list[~azure.mgmt.web.models.AbnormalTimePeriod] + :param payload: Data by each detector + :type payload: list[~azure.mgmt.web.models.AnalysisData] + :param non_correlated_detectors: Data by each detector for detectors that + did not corelate + :type non_correlated_detectors: + list[~azure.mgmt.web.models.DetectorDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, + 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, + 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, + } + + def __init__(self, *, kind: str=None, start_time=None, end_time=None, abnormal_time_periods=None, payload=None, non_correlated_detectors=None, **kwargs) -> None: + super(DiagnosticAnalysis, self).__init__(kind=kind, **kwargs) + self.start_time = start_time + self.end_time = end_time + self.abnormal_time_periods = abnormal_time_periods + self.payload = payload + self.non_correlated_detectors = non_correlated_detectors + + +class DiagnosticCategory(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the diagnostic category + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DiagnosticCategory, self).__init__(kind=kind, **kwargs) + self.description = None + + +class DiagnosticData(Model): + """Set of data with rendering instructions. + + :param table: Data in table form + :type table: ~azure.mgmt.web.models.DataTableResponseObject + :param rendering_properties: Properties that describe how the table should + be rendered + :type rendering_properties: ~azure.mgmt.web.models.Rendering + """ + + _attribute_map = { + 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, + 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, + } + + def __init__(self, *, table=None, rendering_properties=None, **kwargs) -> None: + super(DiagnosticData, self).__init__(**kwargs) + self.table = table + self.rendering_properties = rendering_properties + + +class DiagnosticDetectorResponse(ProxyOnlyResource): + """Class representing Response from Diagnostic Detectors. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param issue_detected: Flag representing Issue was detected. + :type issue_detected: bool + :param detector_definition: Detector's definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Metrics provided by the detector + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param abnormal_time_periods: List of Correlated events found by the + detector + :type abnormal_time_periods: + list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param data: Additional Data that detector wants to send. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param response_meta_data: Meta Data + :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, + 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, + 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, + 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, *, kind: str=None, start_time=None, end_time=None, issue_detected: bool=None, detector_definition=None, metrics=None, abnormal_time_periods=None, data=None, response_meta_data=None, **kwargs) -> None: + super(DiagnosticDetectorResponse, self).__init__(kind=kind, **kwargs) + self.start_time = start_time + self.end_time = end_time + self.issue_detected = issue_detected + self.detector_definition = detector_definition + self.metrics = metrics + self.abnormal_time_periods = abnormal_time_periods + self.data = data + self.response_meta_data = response_meta_data + + +class DiagnosticMetricSample(Model): + """Class representing Diagnostic Metric. + + :param timestamp: Time at which metric is measured + :type timestamp: datetime + :param role_instance: Role Instance. Null if this counter is not per + instance + This is returned and should be whichever instance name we desire to be + returned + i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + where RDWORKERNAME is Machine name below and RoleInstance name in + parenthesis + :type role_instance: str + :param total: Total value of the metric. If multiple measurements are made + this will have sum of all. + :type total: float + :param maximum: Maximum of the metric sampled during the time period + :type maximum: float + :param minimum: Minimum of the metric sampled during the time period + :type minimum: float + :param is_aggregated: Whether the values are aggregates across all workers + or not + :type is_aggregated: bool + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'role_instance': {'key': 'roleInstance', 'type': 'str'}, + 'total': {'key': 'total', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, + } + + def __init__(self, *, timestamp=None, role_instance: str=None, total: float=None, maximum: float=None, minimum: float=None, is_aggregated: bool=None, **kwargs) -> None: + super(DiagnosticMetricSample, self).__init__(**kwargs) + self.timestamp = timestamp + self.role_instance = role_instance + self.total = total + self.maximum = maximum + self.minimum = minimum + self.is_aggregated = is_aggregated + + +class DiagnosticMetricSet(Model): + """Class representing Diagnostic Metric information. + + :param name: Name of the metric + :type name: str + :param unit: Metric's unit + :type unit: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param time_grain: Presented time grain. Supported grains at the moment + are PT1M, PT1H, P1D + :type time_grain: str + :param values: Collection of metric values for the selected period based + on the + {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, + } + + def __init__(self, *, name: str=None, unit: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: + super(DiagnosticMetricSet, self).__init__(**kwargs) + self.name = name + self.unit = unit + self.start_time = start_time + self.end_time = end_time + self.time_grain = time_grain + self.values = values + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, to_be_exported_for_shoebox: bool=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, extended_code: str=None, message_template: str=None, parameters=None, inner_errors=None, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = extended_code + self.message_template = message_template + self.parameters = parameters + self.inner_errors = inner_errors + self.code = code + self.message = message + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class GeoRegion(ProxyOnlyResource): + """Geographical region. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar geo_region_name: Region name. + :vartype geo_region_name: str + :ivar description: Region description. + :vartype description: str + :ivar display_name: Display name for region. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + 'description': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.name', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(GeoRegion, self).__init__(kind=kind, **kwargs) + self.geo_region_name = None + self.description = None + self.display_name = None + + +class GlobalCsmSkuDescription(Model): + """A Global SKU Description. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service Tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(GlobalCsmSkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.locations = locations + self.capabilities = capabilities + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentDeploymentInfo(Model): + """Information needed to create resources on an App Service Environment. + + :param name: Name of the App Service Environment. + :type name: str + :param location: Location of the App Service Environment. + :type location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, location: str=None, **kwargs) -> None: + super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) + self.name = name + self.location = location + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str, subnet_mask: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(LocalizableString, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, blob_duration: str=None, **kwargs) -> None: + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = time_grain + self.blob_duration = blob_duration + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, supports_instance_level_aggregation: bool=None, enable_regional_mdm_account: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, metric_filter_pattern: str=None, fill_gap_with_zero: bool=None, is_internal: bool=None, dimensions=None, category: str=None, availabilities=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.supports_instance_level_aggregation = supports_instance_level_aggregation + self.enable_regional_mdm_account = enable_regional_mdm_account + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.metric_filter_pattern = metric_filter_pattern + self.fill_gap_with_zero = fill_gap_with_zero + self.is_internal = is_internal + self.dimensions = dimensions + self.category = category + self.availabilities = availabilities + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(NameIdentifier, self).__init__(**kwargs) + self.name = name + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, *, action=None, description: str=None, order: int=None, remote_subnet: str=None, **kwargs) -> None: + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = action + self.description = description + self.order = order + self.remote_subnet = remote_subnet + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, status=None, errors=None, created_time=None, modified_time=None, expiration_time=None, geo_master_operation_id: str=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.errors = errors + self.created_time = created_time + self.modified_time = modified_time + self.expiration_time = expiration_time + self.geo_master_operation_id = geo_master_operation_id + + +class PremierAddOnOffer(ProxyOnlyResource): + """Premier add-on offer. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on offer Product. + :type product: str + :param vendor: Premier add on offer Vendor. + :type vendor: str + :param premier_add_on_offer_name: Premier add on offer Name. + :type premier_add_on_offer_name: str + :param promo_code_required: true if promotion code is + required; otherwise, false. + :type promo_code_required: bool + :param quota: Premier add on offer Quota. + :type quota: int + :param web_hosting_plan_restrictions: App Service plans this offer is + restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', + 'Standard', 'Premium' + :type web_hosting_plan_restrictions: str or + ~azure.mgmt.web.models.AppServicePlanRestrictions + :param privacy_policy_url: Privacy policy URL. + :type privacy_policy_url: str + :param legal_terms_url: Legal terms URL. + :type legal_terms_url: str + :param marketplace_publisher: Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'premier_add_on_offer_name': {'key': 'properties.name', 'type': 'str'}, + 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, + 'quota': {'key': 'properties.quota', 'type': 'int'}, + 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, + 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, + 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, sku: str=None, product: str=None, vendor: str=None, premier_add_on_offer_name: str=None, promo_code_required: bool=None, quota: int=None, web_hosting_plan_restrictions=None, privacy_policy_url: str=None, legal_terms_url: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: + super(PremierAddOnOffer, self).__init__(kind=kind, **kwargs) + self.sku = sku + self.product = product + self.vendor = vendor + self.premier_add_on_offer_name = premier_add_on_offer_name + self.promo_code_required = promo_code_required + self.quota = quota + self.web_hosting_plan_restrictions = web_hosting_plan_restrictions + self.privacy_policy_url = privacy_policy_url + self.legal_terms_url = legal_terms_url + self.marketplace_publisher = marketplace_publisher + self.marketplace_offer = marketplace_offer + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class Recommendation(ProxyOnlyResource): + """Represents a recommendation result generated by the recommendation engine. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param creation_time: Timestamp when this instance was created. + :type creation_time: datetime + :param recommendation_id: A GUID value that each recommendation object is + associated with. + :type recommendation_id: str + :param resource_id: Full ARM resource ID string that this recommendation + object is associated with. + :type resource_id: str + :param resource_scope: Name of a resource type this recommendation + applies, e.g. Subscription, ServerFarm, Site. Possible values include: + 'ServerFarm', 'Subscription', 'WebSite' + :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType + :param rule_name: Unique name of the rule. + :type rule_name: str + :param display_name: UI friendly name of the rule (may not be unique). + :type display_name: str + :param message: Recommendation text. + :type message: str + :param level: Level indicating how critical this recommendation can + impact. Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of channels that this recommendation can apply. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :param tags: The list of category tags that this recommendation belongs + to. + :type tags: list[str] + :param action_name: Name of action recommended by this object. + :type action_name: str + :param start_time: The beginning time in UTC of a range that the + recommendation refers to. + :type start_time: datetime + :param end_time: The end time in UTC of a range that the recommendation + refers to. + :type end_time: datetime + :param next_notification_time: When to notify this recommendation next in + UTC. Null means that this will never be notified anymore. + :type next_notification_time: datetime + :param notification_expiration_time: Date and time in UTC when this + notification expires. + :type notification_expiration_time: datetime + :param notified_time: Last timestamp in UTC this instance was actually + notified. Null means that this recommendation hasn't been notified yet. + :type notified_time: datetime + :param score: A metric value measured by the rule. + :type score: float + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, + 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, + 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'tags': {'key': 'properties.tags', 'type': '[str]'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, + 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, + 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, + 'score': {'key': 'properties.score', 'type': 'float'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, creation_time=None, recommendation_id: str=None, resource_id: str=None, resource_scope=None, rule_name: str=None, display_name: str=None, message: str=None, level=None, channels=None, tags=None, action_name: str=None, start_time=None, end_time=None, next_notification_time=None, notification_expiration_time=None, notified_time=None, score: float=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: + super(Recommendation, self).__init__(kind=kind, **kwargs) + self.creation_time = creation_time + self.recommendation_id = recommendation_id + self.resource_id = resource_id + self.resource_scope = resource_scope + self.rule_name = rule_name + self.display_name = display_name + self.message = message + self.level = level + self.channels = channels + self.tags = tags + self.action_name = action_name + self.start_time = start_time + self.end_time = end_time + self.next_notification_time = next_notification_time + self.notification_expiration_time = notification_expiration_time + self.notified_time = notified_time + self.score = score + self.is_dynamic = is_dynamic + self.extension_name = extension_name + self.blade_name = blade_name + self.forward_link = forward_link + + +class RecommendationRule(ProxyOnlyResource): + """Represents a recommendation rule that the recommendation engine can + perform. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param recommendation_rule_name: Unique name of the rule. + :type recommendation_rule_name: str + :param display_name: UI friendly name of the rule. + :type display_name: str + :param message: Localized name of the rule (Good for UI). + :type message: str + :param recommendation_id: Recommendation ID of an associated + recommendation object tied to the rule, if exists. + If such an object doesn't exist, it is set to null. + :type recommendation_id: str + :param description: Localized detailed description of the rule. + :type description: str + :param action_name: Name of action that is recommended by this rule in + string. + :type action_name: str + :param level: Level of impact indicating how critical this rule is. + Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of available channels that this rule applies. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :param tags: An array of category tags that the rule contains. + :type tags: list[str] + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. Applicable + to dynamic rule only. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. Applicable to + dynamic rule only. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. Applicable to dynamic rule only. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recommendation_rule_name': {'key': 'properties.name', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'tags': {'key': 'properties.tags', 'type': '[str]'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, recommendation_rule_name: str=None, display_name: str=None, message: str=None, recommendation_id: str=None, description: str=None, action_name: str=None, level=None, channels=None, tags=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: + super(RecommendationRule, self).__init__(kind=kind, **kwargs) + self.recommendation_rule_name = recommendation_rule_name + self.display_name = display_name + self.message = message + self.recommendation_id = recommendation_id + self.description = description + self.action_name = action_name + self.level = level + self.channels = channels + self.tags = tags + self.is_dynamic = is_dynamic + self.extension_name = extension_name + self.blade_name = blade_name + self.forward_link = forward_link + + +class Rendering(Model): + """Instructions for rendering the data. + + :param rendering_type: Rendering Type. Possible values include: 'NoGraph', + 'Table', 'TimeSeries', 'TimeSeriesPerInstance' + :type rendering_type: str or ~azure.mgmt.web.models.RenderingType + :param title: Title of data + :type title: str + :param description: Description of the data that will help it be + interpreted + :type description: str + """ + + _attribute_map = { + 'rendering_type': {'key': 'renderingType', 'type': 'RenderingType'}, + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, rendering_type=None, title: str=None, description: str=None, **kwargs) -> None: + super(Rendering, self).__init__(**kwargs) + self.rendering_type = rendering_type + self.title = title + self.description = description + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceHealthMetadata(ProxyOnlyResource): + """Used for getting ResourceHealthCheck settings. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param category: The category that the resource matches in the RHC Policy + File + :type category: str + :param signal_availability: Is there a health signal for the resource + :type signal_availability: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, category: str=None, signal_availability: bool=None, **kwargs) -> None: + super(ResourceHealthMetadata, self).__init__(kind=kind, **kwargs) + self.category = category + self.signal_availability = signal_availability + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricCollection(Model): + """Collection of metric responses. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.ResourceMetric] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceMetric]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(ResourceMetricCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricDefinitionCollection(Model): + """Collection of metric definitions. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.ResourceMetricDefinition] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceMetricDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(ResourceMetricDefinitionCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, key: str=None, value: str=None, **kwargs) -> None: + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = key + self.value = value + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class ResourceNameAvailability(Model): + """Information regarding availability of a resource name. + + :param name_available: true indicates name is valid and + available. false indicates the name is invalid, unavailable, + or both. + :type name_available: bool + :param reason: Invalid indicates the name provided does not + match Azure App Service naming requirements. AlreadyExists + indicates that the name is already in use and is therefore unavailable. + Possible values include: 'Invalid', 'AlreadyExists' + :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType + :param message: If reason == invalid, provide the user with the reason why + the given name is invalid, and provide the resource naming requirements so + that the user can select a valid name. If reason == AlreadyExists, explain + that resource name is already in use, and direct them to select a + different name. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, name_available: bool=None, reason=None, message: str=None, **kwargs) -> None: + super(ResourceNameAvailability, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class ResourceNameAvailabilityRequest(Model): + """Resource name availability request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, + } + + def __init__(self, *, name: str, type, is_fqdn: bool=None, **kwargs) -> None: + super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) + self.name = name + self.type = type + self.is_fqdn = is_fqdn + + +class ResponseMetaData(Model): + """ResponseMetaData. + + :param data_source: Source of the Data + :type data_source: ~azure.mgmt.web.models.DataSource + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, + } + + def __init__(self, *, data_source=None, **kwargs) -> None: + super(ResponseMetaData, self).__init__(**kwargs) + self.data_source = data_source + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.identity = identity + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SkuInfos(Model): + """Collection of SKU information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param skus: List of SKUs the subscription is able to use. + :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, + } + + def __init__(self, *, resource_type: str=None, skus=None, **kwargs) -> None: + super(SkuInfos, self).__init__(**kwargs) + self.resource_type = resource_type + self.skus = skus + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_target=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, **kwargs) -> None: + super(SnapshotRecoveryRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_target = recovery_target + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = location + self.id = id + + +class Solution(Model): + """Class Representing Solution for problems detected. + + :param id: Solution Id. + :type id: float + :param display_name: Display Name of the solution + :type display_name: str + :param order: Order of the solution. + :type order: float + :param description: Description of the solution + :type description: str + :param type: Type of Solution. Possible values include: 'QuickSolution', + 'DeepInvestigation', 'BestPractices' + :type type: str or ~azure.mgmt.web.models.SolutionType + :param data: Solution Data. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param metadata: Solution Metadata. + :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'float'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'float'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'SolutionType'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, + } + + def __init__(self, *, id: float=None, display_name: str=None, order: float=None, description: str=None, type=None, data=None, metadata=None, **kwargs) -> None: + super(Solution, self).__init__(**kwargs) + self.id = id + self.display_name = display_name + self.order = order + self.description = description + self.type = type + self.data = data + self.metadata = metadata + + +class SourceControl(ProxyOnlyResource): + """The source control OAuth token. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param source_control_name: Name or source control type. + :type source_control_name: str + :param token: OAuth access token. + :type token: str + :param token_secret: OAuth access token secret. + :type token_secret: str + :param refresh_token: OAuth refresh token. + :type refresh_token: str + :param expiration_time: OAuth token expiration. + :type expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_control_name': {'key': 'properties.name', 'type': 'str'}, + 'token': {'key': 'properties.token', 'type': 'str'}, + 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, + 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, source_control_name: str=None, token: str=None, token_secret: str=None, refresh_token: str=None, expiration_time=None, **kwargs) -> None: + super(SourceControl, self).__init__(kind=kind, **kwargs) + self.source_control_name = source_control_name + self.token = token + self.token_secret = token_secret + self.refresh_token = refresh_token + self.expiration_time = expiration_time + + +class StackMajorVersion(Model): + """Application stack major version. + + :param display_version: Application stack major version (display only). + :type display_version: str + :param runtime_version: Application stack major version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default major version; + otherwise, false. + :type is_default: bool + :param minor_versions: Minor versions associated with the major version. + :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, + } + + def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, minor_versions=None, **kwargs) -> None: + super(StackMajorVersion, self).__init__(**kwargs) + self.display_version = display_version + self.runtime_version = runtime_version + self.is_default = is_default + self.minor_versions = minor_versions + + +class StackMinorVersion(Model): + """Application stack minor version. + + :param display_version: Application stack minor version (display only). + :type display_version: str + :param runtime_version: Application stack minor version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default minor version; + otherwise, false. + :type is_default: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + } + + def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, **kwargs) -> None: + super(StackMinorVersion, self).__init__(**kwargs) + self.display_version = display_version + self.runtime_version = runtime_version + self.is_default = is_default + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Default', 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, available_capacity: int=None, total_capacity: int=None, unit: str=None, compute_mode=None, worker_size=None, worker_size_id: int=None, exclude_from_capacity_allocation: bool=None, is_applicable_for_all_compute_modes: bool=None, site_mode: str=None, **kwargs) -> None: + super(StampCapacity, self).__init__(**kwargs) + self.name = name + self.available_capacity = available_capacity + self.total_capacity = total_capacity + self.unit = unit + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_size_id = worker_size_id + self.exclude_from_capacity_allocation = exclude_from_capacity_allocation + self.is_applicable_for_all_compute_modes = is_applicable_for_all_compute_modes + self.site_mode = site_mode + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, user_name: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.user_name = user_name + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + + +class ValidateRequest(Model): + """Resource validation request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'ServerFarm', 'Site' + :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes + :param location: Required. Expected location of the resource. + :type location: str + :param server_farm_id: ARM resource ID of an App Service plan that would + host the app. + :type server_farm_id: str + :param sku_name: Name of the target SKU for the App Service plan. + :type sku_name: str + :param need_linux_workers: true if App Service plan is for + Linux workers; otherwise, false. + :type need_linux_workers: bool + :param is_spot: true if App Service plan is for Spot + instances; otherwise, false. + :type is_spot: bool + :param capacity: Target capacity of the App Service plan (number of VMs). + :type capacity: int + :param hosting_environment: Name of App Service Environment where app or + App Service plan should be created. + :type hosting_environment: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'location': {'required': True}, + 'capacity': {'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, + 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'int'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, *, name: str, type, location: str, server_farm_id: str=None, sku_name: str=None, need_linux_workers: bool=None, is_spot: bool=None, capacity: int=None, hosting_environment: str=None, **kwargs) -> None: + super(ValidateRequest, self).__init__(**kwargs) + self.name = name + self.type = type + self.location = location + self.server_farm_id = server_farm_id + self.sku_name = sku_name + self.need_linux_workers = need_linux_workers + self.is_spot = is_spot + self.capacity = capacity + self.hosting_environment = hosting_environment + + +class ValidateResponse(Model): + """Describes the result of resource validation. + + :param status: Result of validation. + :type status: str + :param error: Error details for the case when validation fails. + :type error: ~azure.mgmt.web.models.ValidateResponseError + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ValidateResponseError'}, + } + + def __init__(self, *, status: str=None, error=None, **kwargs) -> None: + super(ValidateResponse, self).__init__(**kwargs) + self.status = status + self.error = error + + +class ValidateResponseError(Model): + """Error details for when validation fails. + + :param code: Validation error code. + :type code: str + :param message: Validation error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ValidateResponseError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, *, virtual_ip: str=None, internal_http_port: int=None, internal_https_port: int=None, in_use: bool=None, **kwargs) -> None: + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = virtual_ip + self.internal_http_port = internal_http_port + self.internal_https_port = internal_https_port + self.in_use = in_use + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet: str=None, **kwargs) -> None: + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.subnet = subnet + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: bytearray=None, dns_servers: str=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + + +class VnetParameters(ProxyOnlyResource): + """The required set of inputs to validate a VNET. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_group: The Resource Group of the VNET to be validated + :type vnet_resource_group: str + :param vnet_name: The name of the VNET to be validated + :type vnet_name: str + :param vnet_subnet_name: The subnet name to be validated + :type vnet_subnet_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_group: str=None, vnet_name: str=None, vnet_subnet_name: str=None, **kwargs) -> None: + super(VnetParameters, self).__init__(kind=kind, **kwargs) + self.vnet_resource_group = vnet_resource_group + self.vnet_name = vnet_name + self.vnet_subnet_name = vnet_subnet_name + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_route_name: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.vnet_route_name = vnet_route_name + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type + + +class VnetValidationFailureDetails(ProxyOnlyResource): + """A class that describes the reason for a validation failure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param failed: A flag describing whether or not validation failed. + :type failed: bool + :param failed_tests: A list of tests that failed in the validation. + :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'failed': {'key': 'properties.failed', 'type': 'bool'}, + 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, + } + + def __init__(self, *, kind: str=None, failed: bool=None, failed_tests=None, **kwargs) -> None: + super(VnetValidationFailureDetails, self).__init__(kind=kind, **kwargs) + self.failed = failed + self.failed_tests = failed_tests + + +class VnetValidationTestFailure(ProxyOnlyResource): + """A class that describes a test that failed during NSG and UDR validation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param test_name: The name of the test that failed. + :type test_name: str + :param details: The details of what caused the failure, e.g. the blocking + rule name, etc. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'test_name': {'key': 'properties.testName', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, test_name: str=None, details: str=None, **kwargs) -> None: + super(VnetValidationTestFailure, self).__init__(kind=kind, **kwargs) + self.test_name = test_name + self.details = details + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(WebAppCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, *, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, **kwargs) -> None: + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = worker_size_id + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_count = worker_count + self.instance_names = None diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_paged_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_paged_models.py new file mode 100644 index 000000000000..51958f5f0f45 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_paged_models.py @@ -0,0 +1,209 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 CertificatePaged(Paged): + """ + A paging container for iterating over a list of :class:`Certificate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Certificate]'} + } + + def __init__(self, *args, **kwargs): + + super(CertificatePaged, self).__init__(*args, **kwargs) +class DeletedSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`DeletedSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeletedSite]'} + } + + def __init__(self, *args, **kwargs): + + super(DeletedSitePaged, self).__init__(*args, **kwargs) +class DetectorResponsePaged(Paged): + """ + A paging container for iterating over a list of :class:`DetectorResponse ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DetectorResponse]'} + } + + def __init__(self, *args, **kwargs): + + super(DetectorResponsePaged, self).__init__(*args, **kwargs) +class DiagnosticCategoryPaged(Paged): + """ + A paging container for iterating over a list of :class:`DiagnosticCategory ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DiagnosticCategory]'} + } + + def __init__(self, *args, **kwargs): + + super(DiagnosticCategoryPaged, self).__init__(*args, **kwargs) +class AnalysisDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`AnalysisDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AnalysisDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(AnalysisDefinitionPaged, self).__init__(*args, **kwargs) +class DetectorDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`DetectorDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DetectorDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(DetectorDefinitionPaged, self).__init__(*args, **kwargs) +class ApplicationStackPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationStack ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationStack]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationStackPaged, self).__init__(*args, **kwargs) +class CsmOperationDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmOperationDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmOperationDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmOperationDescriptionPaged, self).__init__(*args, **kwargs) +class RecommendationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Recommendation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Recommendation]'} + } + + def __init__(self, *args, **kwargs): + + super(RecommendationPaged, self).__init__(*args, **kwargs) +class ResourceHealthMetadataPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceHealthMetadata ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceHealthMetadata]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceHealthMetadataPaged, self).__init__(*args, **kwargs) +class SourceControlPaged(Paged): + """ + A paging container for iterating over a list of :class:`SourceControl ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SourceControl]'} + } + + def __init__(self, *args, **kwargs): + + super(SourceControlPaged, self).__init__(*args, **kwargs) +class GeoRegionPaged(Paged): + """ + A paging container for iterating over a list of :class:`GeoRegion ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GeoRegion]'} + } + + def __init__(self, *args, **kwargs): + + super(GeoRegionPaged, self).__init__(*args, **kwargs) +class IdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`Identifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Identifier]'} + } + + def __init__(self, *args, **kwargs): + + super(IdentifierPaged, self).__init__(*args, **kwargs) +class PremierAddOnOfferPaged(Paged): + """ + A paging container for iterating over a list of :class:`PremierAddOnOffer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PremierAddOnOffer]'} + } + + def __init__(self, *args, **kwargs): + + super(PremierAddOnOfferPaged, self).__init__(*args, **kwargs) +class BillingMeterPaged(Paged): + """ + A paging container for iterating over a list of :class:`BillingMeter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BillingMeter]'} + } + + def __init__(self, *args, **kwargs): + + super(BillingMeterPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..598dc7b25863 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/models/_web_site_management_client_enums.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 KeyVaultSecretStatus(str, Enum): + + initialized = "Initialized" + waiting_on_certificate_order = "WaitingOnCertificateOrder" + succeeded = "Succeeded" + certificate_order_failed = "CertificateOrderFailed" + operation_not_permitted_on_key_vault = "OperationNotPermittedOnKeyVault" + azure_service_unauthorized_to_access_key_vault = "AzureServiceUnauthorizedToAccessKeyVault" + key_vault_does_not_exist = "KeyVaultDoesNotExist" + key_vault_secret_does_not_exist = "KeyVaultSecretDoesNotExist" + unknown_error = "UnknownError" + external_private_key = "ExternalPrivateKey" + unknown = "Unknown" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" + + +class HostingEnvironmentStatus(str, Enum): + + preparing = "Preparing" + ready = "Ready" + scaling = "Scaling" + deleting = "Deleting" + + +class InternalLoadBalancingMode(str, Enum): + + none = "None" + web = "Web" + publishing = "Publishing" + + +class ComputeModeOptions(str, Enum): + + shared = "Shared" + dedicated = "Dedicated" + dynamic = "Dynamic" + + +class WorkerSizeOptions(str, Enum): + + default = "Default" + small = "Small" + medium = "Medium" + large = "Large" + d1 = "D1" + d2 = "D2" + d3 = "D3" + + +class AccessControlEntryAction(str, Enum): + + permit = "Permit" + deny = "Deny" + + +class OperationStatus(str, Enum): + + in_progress = "InProgress" + failed = "Failed" + succeeded = "Succeeded" + timed_out = "TimedOut" + created = "Created" + + +class IssueType(str, Enum): + + service_incident = "ServiceIncident" + app_deployment = "AppDeployment" + app_crash = "AppCrash" + runtime_issue_detected = "RuntimeIssueDetected" + ase_deployment = "AseDeployment" + user_issue = "UserIssue" + platform_issue = "PlatformIssue" + other = "Other" + + +class SolutionType(str, Enum): + + quick_solution = "QuickSolution" + deep_investigation = "DeepInvestigation" + best_practices = "BestPractices" + + +class RenderingType(str, Enum): + + no_graph = "NoGraph" + table = "Table" + time_series = "TimeSeries" + time_series_per_instance = "TimeSeriesPerInstance" + + +class ResourceScopeType(str, Enum): + + server_farm = "ServerFarm" + subscription = "Subscription" + web_site = "WebSite" + + +class NotificationLevel(str, Enum): + + critical = "Critical" + warning = "Warning" + information = "Information" + non_urgent_suggestion = "NonUrgentSuggestion" + + +class Channels(str, Enum): + + notification = "Notification" + api = "Api" + email = "Email" + webhook = "Webhook" + all = "All" + + +class AppServicePlanRestrictions(str, Enum): + + none = "None" + free = "Free" + shared = "Shared" + basic = "Basic" + standard = "Standard" + premium = "Premium" + + +class InAvailabilityReasonType(str, Enum): + + invalid = "Invalid" + already_exists = "AlreadyExists" + + +class CheckNameResourceTypes(str, Enum): + + site = "Site" + slot = "Slot" + hosting_environment = "HostingEnvironment" + publishing_user = "PublishingUser" + microsoft_websites = "Microsoft.Web/sites" + microsoft_websitesslots = "Microsoft.Web/sites/slots" + microsoft_webhosting_environments = "Microsoft.Web/hostingEnvironments" + microsoft_webpublishing_users = "Microsoft.Web/publishingUsers" + + +class ValidateResourceTypes(str, Enum): + + server_farm = "ServerFarm" + site = "Site" + + +class SkuName(str, Enum): + + free = "Free" + shared = "Shared" + basic = "Basic" + standard = "Standard" + premium = "Premium" + premium_v2 = "PremiumV2" + dynamic = "Dynamic" + isolated = "Isolated" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/__init__.py new file mode 100644 index 000000000000..00a18715fd99 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/__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. +# -------------------------------------------------------------------------- + +from ._certificates_operations import CertificatesOperations +from ._deleted_web_apps_operations import DeletedWebAppsOperations +from ._diagnostics_operations import DiagnosticsOperations +from ._provider_operations import ProviderOperations +from ._recommendations_operations import RecommendationsOperations +from ._resource_health_metadata_operations import ResourceHealthMetadataOperations +from ._billing_meters_operations import BillingMetersOperations +from ._web_site_management_client_operations import WebSiteManagementClientOperationsMixin + +__all__ = [ + 'CertificatesOperations', + 'DeletedWebAppsOperations', + 'DiagnosticsOperations', + 'ProviderOperations', + 'RecommendationsOperations', + 'ResourceHealthMetadataOperations', + 'BillingMetersOperations', + 'WebSiteManagementClientOperationsMixin', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_billing_meters_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_billing_meters_operations.py new file mode 100644 index 000000000000..bdf4fa49bc28 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_billing_meters_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 BillingMetersOperations(object): + """BillingMetersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list( + self, billing_location=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of meters for a given location. + + Gets a list of meters for a given location. + + :param billing_location: Azure Location of billable resource + :type billing_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: An iterator like instance of BillingMeter + :rtype: + ~azure.mgmt.web.models.BillingMeterPaged[~azure.mgmt.web.models.BillingMeter] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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 billing_location is not None: + query_parameters['billingLocation'] = self._serialize.query("billing_location", billing_location, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.BillingMeterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_certificates_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_certificates_operations.py new file mode 100644 index 000000000000..e556e8e8af8e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_certificates_operations.py @@ -0,0 +1,443 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 CertificatesOperations(object): + """CertificatesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all certificates for a subscription. + + Get all certificates 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 Certificate + :rtype: + ~azure.mgmt.web.models.CertificatePaged[~azure.mgmt.web.models.Certificate] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all certificates in a resource group. + + Get all certificates in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 Certificate + :rtype: + ~azure.mgmt.web.models.CertificatePaged[~azure.mgmt.web.models.Certificate] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates'} + + def get( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get a certificate. + + Get a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :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: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('Certificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} + + def create_or_update( + self, resource_group_name, name, certificate_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a certificate. + + Create or update a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :type name: str + :param certificate_envelope: Details of certificate, if it exists + already. + :type certificate_envelope: ~azure.mgmt.web.models.Certificate + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(certificate_envelope, 'Certificate') + + # 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]: + 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('Certificate', 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.Web/certificates/{name}'} + + def delete( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Delete a certificate. + + Delete a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :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: 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} + + def update( + self, resource_group_name, name, certificate_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a certificate. + + Create or update a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :type name: str + :param certificate_envelope: Details of certificate, if it exists + already. + :type certificate_envelope: + ~azure.mgmt.web.models.CertificatePatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(certificate_envelope, 'CertificatePatchResource') + + # 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('Certificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_deleted_web_apps_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_deleted_web_apps_operations.py new file mode 100644 index 000000000000..1915ec9b8deb --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_deleted_web_apps_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 DeletedWebAppsOperations(object): + """DeletedWebAppsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all deleted apps for a subscription. + + Get all deleted apps 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 DeletedSite + :rtype: + ~azure.mgmt.web.models.DeletedSitePaged[~azure.mgmt.web.models.DeletedSite] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_diagnostics_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_diagnostics_operations.py new file mode 100644 index 000000000000..56b793511fd6 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_diagnostics_operations.py @@ -0,0 +1,1758 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 DiagnosticsOperations(object): + """DiagnosticsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list_hosting_environment_detector_responses( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List Hosting Environment Detector Responses. + + List Hosting Environment Detector Responses. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site Name + :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: An iterator like instance of DetectorResponse + :rtype: + ~azure.mgmt.web.models.DetectorResponsePaged[~azure.mgmt.web.models.DetectorResponse] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_hosting_environment_detector_responses.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_hosting_environment_detector_responses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors'} + + def get_hosting_environment_detector_response( + self, resource_group_name, name, detector_name, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Get Hosting Environment Detector Response. + + Get Hosting Environment Detector Response. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: App Service Environment Name + :type name: str + :param detector_name: Detector Resource Name + :type detector_name: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DetectorResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DetectorResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_hosting_environment_detector_response.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DetectorResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_hosting_environment_detector_response.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}'} + + def list_site_detector_responses( + self, resource_group_name, site_name, custom_headers=None, raw=False, **operation_config): + """List Site Detector Responses. + + List Site Detector Responses. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_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 DetectorResponse + :rtype: + ~azure.mgmt.web.models.DetectorResponsePaged[~azure.mgmt.web.models.DetectorResponse] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_detector_responses.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_detector_responses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors'} + + def get_site_detector_response( + self, resource_group_name, site_name, detector_name, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Get site detector response. + + Get site detector response. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param detector_name: Detector Resource Name + :type detector_name: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DetectorResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DetectorResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_detector_response.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DetectorResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_detector_response.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}'} + + def list_site_diagnostic_categories( + self, resource_group_name, site_name, custom_headers=None, raw=False, **operation_config): + """Get Diagnostics Categories. + + Get Diagnostics Categories. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_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 DiagnosticCategory + :rtype: + ~azure.mgmt.web.models.DiagnosticCategoryPaged[~azure.mgmt.web.models.DiagnosticCategory] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_diagnostic_categories.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_diagnostic_categories.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics'} + + def get_site_diagnostic_category( + self, resource_group_name, site_name, diagnostic_category, custom_headers=None, raw=False, **operation_config): + """Get Diagnostics Category. + + Get Diagnostics Category. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: 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: DiagnosticCategory or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticCategory or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_diagnostic_category.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, '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('DiagnosticCategory', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_diagnostic_category.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}'} + + def list_site_analyses( + self, resource_group_name, site_name, diagnostic_category, custom_headers=None, raw=False, **operation_config): + """Get Site Analyses. + + Get Site Analyses. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: 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 AnalysisDefinition + :rtype: + ~azure.mgmt.web.models.AnalysisDefinitionPaged[~azure.mgmt.web.models.AnalysisDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_analyses.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_analyses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses'} + + def get_site_analysis( + self, resource_group_name, site_name, diagnostic_category, analysis_name, custom_headers=None, raw=False, **operation_config): + """Get Site Analysis. + + Get Site Analysis. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param analysis_name: Analysis Name + :type analysis_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: DiagnosticAnalysis or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticAnalysis or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_analysis.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'analysisName': self._serialize.url("analysis_name", analysis_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('DiagnosticAnalysis', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_analysis.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}'} + + def execute_site_analysis( + self, resource_group_name, site_name, diagnostic_category, analysis_name, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Execute Analysis. + + Execute Analysis. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Category Name + :type diagnostic_category: str + :param analysis_name: Analysis Resource Name + :type analysis_name: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DiagnosticAnalysis or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticAnalysis or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.execute_site_analysis.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'analysisName': self._serialize.url("analysis_name", analysis_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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DiagnosticAnalysis', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + execute_site_analysis.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute'} + + def list_site_detectors( + self, resource_group_name, site_name, diagnostic_category, custom_headers=None, raw=False, **operation_config): + """Get Detectors. + + Get Detectors. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: 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 DetectorDefinition + :rtype: + ~azure.mgmt.web.models.DetectorDefinitionPaged[~azure.mgmt.web.models.DetectorDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_detectors.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_detectors.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors'} + + def get_site_detector( + self, resource_group_name, site_name, diagnostic_category, detector_name, custom_headers=None, raw=False, **operation_config): + """Get Detector. + + Get Detector. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param detector_name: Detector Name + :type detector_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 DetectorDefinition + :rtype: + ~azure.mgmt.web.models.DetectorDefinitionPaged[~azure.mgmt.web.models.DetectorDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_site_detector.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_site_detector.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}'} + + def execute_site_detector( + self, resource_group_name, site_name, detector_name, diagnostic_category, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Execute Detector. + + Execute Detector. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param detector_name: Detector Resource Name + :type detector_name: str + :param diagnostic_category: Category Name + :type diagnostic_category: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DiagnosticDetectorResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticDetectorResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.execute_site_detector.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, '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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DiagnosticDetectorResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + execute_site_detector.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute'} + + def list_site_detector_responses_slot( + self, resource_group_name, site_name, slot, custom_headers=None, raw=False, **operation_config): + """List Site Detector Responses. + + List Site Detector Responses. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param slot: Slot Name + :type slot: 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 DetectorResponse + :rtype: + ~azure.mgmt.web.models.DetectorResponsePaged[~azure.mgmt.web.models.DetectorResponse] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_detector_responses_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_detector_responses_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors'} + + def get_site_detector_response_slot( + self, resource_group_name, site_name, detector_name, slot, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Get site detector response. + + Get site detector response. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param detector_name: Detector Resource Name + :type detector_name: str + :param slot: Slot Name + :type slot: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DetectorResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DetectorResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_detector_response_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DetectorResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_detector_response_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}'} + + def list_site_diagnostic_categories_slot( + self, resource_group_name, site_name, slot, custom_headers=None, raw=False, **operation_config): + """Get Diagnostics Categories. + + Get Diagnostics Categories. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param slot: Slot Name + :type slot: 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 DiagnosticCategory + :rtype: + ~azure.mgmt.web.models.DiagnosticCategoryPaged[~azure.mgmt.web.models.DiagnosticCategory] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_diagnostic_categories_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_diagnostic_categories_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics'} + + def get_site_diagnostic_category_slot( + self, resource_group_name, site_name, diagnostic_category, slot, custom_headers=None, raw=False, **operation_config): + """Get Diagnostics Category. + + Get Diagnostics Category. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param slot: Slot Name + :type slot: 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: DiagnosticCategory or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticCategory or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_diagnostic_category_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'slot': self._serialize.url("slot", slot, '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('DiagnosticCategory', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_diagnostic_category_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}'} + + def list_site_analyses_slot( + self, resource_group_name, site_name, diagnostic_category, slot, custom_headers=None, raw=False, **operation_config): + """Get Site Analyses. + + Get Site Analyses. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param slot: Slot Name + :type slot: 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 AnalysisDefinition + :rtype: + ~azure.mgmt.web.models.AnalysisDefinitionPaged[~azure.mgmt.web.models.AnalysisDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_analyses_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_analyses_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses'} + + def get_site_analysis_slot( + self, resource_group_name, site_name, diagnostic_category, analysis_name, slot, custom_headers=None, raw=False, **operation_config): + """Get Site Analysis. + + Get Site Analysis. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param analysis_name: Analysis Name + :type analysis_name: str + :param slot: Slot - optional + :type slot: 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: DiagnosticAnalysis or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticAnalysis or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_analysis_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'analysisName': self._serialize.url("analysis_name", analysis_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('DiagnosticAnalysis', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_analysis_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}'} + + def execute_site_analysis_slot( + self, resource_group_name, site_name, diagnostic_category, analysis_name, slot, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Execute Analysis. + + Execute Analysis. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Category Name + :type diagnostic_category: str + :param analysis_name: Analysis Resource Name + :type analysis_name: str + :param slot: Slot Name + :type slot: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DiagnosticAnalysis or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticAnalysis or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.execute_site_analysis_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'analysisName': self._serialize.url("analysis_name", analysis_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DiagnosticAnalysis', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + execute_site_analysis_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute'} + + def list_site_detectors_slot( + self, resource_group_name, site_name, diagnostic_category, slot, custom_headers=None, raw=False, **operation_config): + """Get Detectors. + + Get Detectors. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param slot: Slot Name + :type slot: 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 DetectorDefinition + :rtype: + ~azure.mgmt.web.models.DetectorDefinitionPaged[~azure.mgmt.web.models.DetectorDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_detectors_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_detectors_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors'} + + def get_site_detector_slot( + self, resource_group_name, site_name, diagnostic_category, detector_name, slot, custom_headers=None, raw=False, **operation_config): + """Get Detector. + + Get Detector. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param diagnostic_category: Diagnostic Category + :type diagnostic_category: str + :param detector_name: Detector Name + :type detector_name: str + :param slot: Slot Name + :type slot: 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 DetectorDefinition + :rtype: + ~azure.mgmt.web.models.DetectorDefinitionPaged[~azure.mgmt.web.models.DetectorDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_site_detector_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_site_detector_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}'} + + def execute_site_detector_slot( + self, resource_group_name, site_name, detector_name, diagnostic_category, slot, start_time=None, end_time=None, time_grain=None, custom_headers=None, raw=False, **operation_config): + """Execute Detector. + + Execute Detector. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site Name + :type site_name: str + :param detector_name: Detector Resource Name + :type detector_name: str + :param diagnostic_category: Category Name + :type diagnostic_category: str + :param slot: Slot Name + :type slot: str + :param start_time: Start Time + :type start_time: datetime + :param end_time: End Time + :type end_time: datetime + :param time_grain: Time Grain + :type time_grain: 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: DiagnosticDetectorResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DiagnosticDetectorResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.execute_site_detector_slot.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'detectorName': self._serialize.url("detector_name", detector_name, 'str'), + 'diagnosticCategory': self._serialize.url("diagnostic_category", diagnostic_category, 'str'), + 'slot': self._serialize.url("slot", slot, '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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'iso-8601') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'iso-8601') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str', pattern=r'PT[1-9][0-9]+[SMH]') + 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('DiagnosticDetectorResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + execute_site_detector_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_provider_operations.py new file mode 100644 index 000000000000..9bade2878117 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_provider_operations.py @@ -0,0 +1,246 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ProviderOperations(object): + """ProviderOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def get_available_stacks( + self, os_type_selected=None, custom_headers=None, raw=False, **operation_config): + """Get available application frameworks and their versions. + + Get available application frameworks and their versions. + + :param os_type_selected: Possible values include: 'Windows', 'Linux' + :type os_type_selected: 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 ApplicationStack + :rtype: + ~azure.mgmt.web.models.ApplicationStackPaged[~azure.mgmt.web.models.ApplicationStack] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_available_stacks.metadata['url'] + + # Construct parameters + query_parameters = {} + if os_type_selected is not None: + query_parameters['osTypeSelected'] = self._serialize.query("os_type_selected", os_type_selected, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_available_stacks.metadata = {'url': '/providers/Microsoft.Web/availableStacks'} + + def list_operations( + self, custom_headers=None, raw=False, **operation_config): + """Gets all available operations for the Microsoft.Web resource provider. + Also exposes resource metric definitions. + + Gets all available operations for the Microsoft.Web resource provider. + Also exposes resource metric 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 CsmOperationDescription + :rtype: + ~azure.mgmt.web.models.CsmOperationDescriptionPaged[~azure.mgmt.web.models.CsmOperationDescription] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_operations.metadata = {'url': '/providers/Microsoft.Web/operations'} + + def get_available_stacks_on_prem( + self, os_type_selected=None, custom_headers=None, raw=False, **operation_config): + """Get available application frameworks and their versions. + + Get available application frameworks and their versions. + + :param os_type_selected: Possible values include: 'Windows', 'Linux' + :type os_type_selected: 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 ApplicationStack + :rtype: + ~azure.mgmt.web.models.ApplicationStackPaged[~azure.mgmt.web.models.ApplicationStack] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.get_available_stacks_on_prem.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 os_type_selected is not None: + query_parameters['osTypeSelected'] = self._serialize.query("os_type_selected", os_type_selected, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + get_available_stacks_on_prem.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_recommendations_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_recommendations_operations.py new file mode 100644 index 000000000000..5a151b19ff6b --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_recommendations_operations.py @@ -0,0 +1,644 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 RecommendationsOperations(object): + """RecommendationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list( + self, featured=None, filter=None, custom_headers=None, raw=False, **operation_config): + """List all recommendations for a subscription. + + List all recommendations for a subscription. + + :param featured: Specify true to return only the most + critical recommendations. The default is false, which + returns all recommendations. + :type featured: bool + :param filter: Filter is specified by using OData syntax. Example: + $filter=channels eq 'Api' or channel eq 'Notification' and startTime + eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[PT1H|PT1M|P1D] + :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 Recommendation + :rtype: + ~azure.mgmt.web.models.RecommendationPaged[~azure.mgmt.web.models.Recommendation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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 featured is not None: + query_parameters['featured'] = self._serialize.query("featured", featured, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations'} + + def reset_all_filters( + self, custom_headers=None, raw=False, **operation_config): + """Reset all recommendation opt-out settings for a subscription. + + Reset all recommendation opt-out settings 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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.reset_all_filters.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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 + reset_all_filters.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset'} + + def disable_recommendation_for_subscription( + self, name, custom_headers=None, raw=False, **operation_config): + """Disables the specified rule so it will not apply to a subscription in + the future. + + Disables the specified rule so it will not apply to a subscription in + the future. + + :param name: Rule name + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.disable_recommendation_for_subscription.metadata['url'] + path_format_arguments = { + 'name': self._serialize.url("name", 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 [200]: + 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 + disable_recommendation_for_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable'} + + def list_history_for_web_app( + self, resource_group_name, site_name, filter=None, custom_headers=None, raw=False, **operation_config): + """Get past recommendations for an app, optionally specified by the time + range. + + Get past recommendations for an app, optionally specified by the time + range. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Name of the app. + :type site_name: str + :param filter: Filter is specified by using OData syntax. Example: + $filter=channels eq 'Api' or channel eq 'Notification' and startTime + eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[PT1H|PT1M|P1D] + :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 Recommendation + :rtype: + ~azure.mgmt.web.models.RecommendationPaged[~azure.mgmt.web.models.Recommendation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_history_for_web_app.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_history_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory'} + + def list_recommended_rules_for_web_app( + self, resource_group_name, site_name, featured=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get all recommendations for an app. + + Get all recommendations for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Name of the app. + :type site_name: str + :param featured: Specify true to return only the most + critical recommendations. The default is false, which + returns all recommendations. + :type featured: bool + :param filter: Return only channels specified in the filter. Filter is + specified by using OData syntax. Example: $filter=channels eq 'Api' or + channel eq 'Notification' + :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 Recommendation + :rtype: + ~azure.mgmt.web.models.RecommendationPaged[~azure.mgmt.web.models.Recommendation] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_recommended_rules_for_web_app.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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 featured is not None: + query_parameters['featured'] = self._serialize.query("featured", featured, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_recommended_rules_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations'} + + def disable_all_for_web_app( + self, resource_group_name, site_name, custom_headers=None, raw=False, **operation_config): + """Disable all recommendations for an app. + + Disable all recommendations for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Name of the app. + :type site_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.disable_all_for_web_app.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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 + disable_all_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable'} + + def reset_all_filters_for_web_app( + self, resource_group_name, site_name, custom_headers=None, raw=False, **operation_config): + """Reset all recommendation opt-out settings for an app. + + Reset all recommendation opt-out settings for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Name of the app. + :type site_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.reset_all_filters_for_web_app.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_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 + reset_all_filters_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset'} + + def get_rule_details_by_web_app( + self, resource_group_name, site_name, name, update_seen=None, recommendation_id=None, custom_headers=None, raw=False, **operation_config): + """Get a recommendation rule for an app. + + Get a recommendation rule for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Name of the app. + :type site_name: str + :param name: Name of the recommendation. + :type name: str + :param update_seen: Specify true to update the last-seen + timestamp of the recommendation object. + :type update_seen: bool + :param recommendation_id: The GUID of the recommendation object if you + query an expired one. You don't need to specify it to query an active + entry. + :type recommendation_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: RecommendationRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RecommendationRule or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_rule_details_by_web_app.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'name': self._serialize.url("name", 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 update_seen is not None: + query_parameters['updateSeen'] = self._serialize.query("update_seen", update_seen, 'bool') + if recommendation_id is not None: + query_parameters['recommendationId'] = self._serialize.query("recommendation_id", recommendation_id, '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('RecommendationRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_rule_details_by_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}'} + + def disable_recommendation_for_site( + self, resource_group_name, site_name, name, custom_headers=None, raw=False, **operation_config): + """Disables the specific rule for a web site permanently. + + Disables the specific rule for a web site permanently. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param site_name: Site name + :type site_name: str + :param name: Rule name + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.disable_recommendation_for_site.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\._\(\)]+[^\.]$'), + 'siteName': self._serialize.url("site_name", site_name, 'str'), + 'name': self._serialize.url("name", 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 [200]: + 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 + disable_recommendation_for_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_resource_health_metadata_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_resource_health_metadata_operations.py new file mode 100644 index 000000000000..6c534a471592 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_resource_health_metadata_operations.py @@ -0,0 +1,465 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ResourceHealthMetadataOperations(object): + """ResourceHealthMetadataOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-03-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-03-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List all ResourceHealthMetadata for all sites in the subscription. + + List all ResourceHealthMetadata for all sites in 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 ResourceHealthMetadata + :rtype: + ~azure.mgmt.web.models.ResourceHealthMetadataPaged[~azure.mgmt.web.models.ResourceHealthMetadata] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """List all ResourceHealthMetadata for all sites in the resource group in + the subscription. + + List all ResourceHealthMetadata for all sites in the resource group in + the subscription. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 ResourceHealthMetadata + :rtype: + ~azure.mgmt.web.models.ResourceHealthMetadataPaged[~azure.mgmt.web.models.ResourceHealthMetadata] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata'} + + def list_by_site( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the category of ResourceHealthMetadata to use for the given site + as a collection. + + Gets the category of ResourceHealthMetadata to use for the given site + as a collection. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: An iterator like instance of ResourceHealthMetadata + :rtype: + ~azure.mgmt.web.models.ResourceHealthMetadataPaged[~azure.mgmt.web.models.ResourceHealthMetadata] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_site.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata'} + + def get_by_site( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the category of ResourceHealthMetadata to use for the given site. + + Gets the category of ResourceHealthMetadata to use for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app + :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: ResourceHealthMetadata or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ResourceHealthMetadata or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.get_by_site.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ResourceHealthMetadata', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default'} + + def list_by_site_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the category of ResourceHealthMetadata to use for the given site + as a collection. + + Gets the category of ResourceHealthMetadata to use for the given site + as a collection. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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 ResourceHealthMetadata + :rtype: + ~azure.mgmt.web.models.ResourceHealthMetadataPaged[~azure.mgmt.web.models.ResourceHealthMetadata] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_site_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_site_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata'} + + def get_by_site_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the category of ResourceHealthMetadata to use for the given site. + + Gets the category of ResourceHealthMetadata to use for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: ResourceHealthMetadata or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ResourceHealthMetadata or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.get_by_site_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ResourceHealthMetadata', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_by_site_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_web_site_management_client_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_web_site_management_client_operations.py new file mode 100644 index 000000000000..619a742bac4f --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/operations/_web_site_management_client_operations.py @@ -0,0 +1,985 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from .. import models +import uuid + + +class WebSiteManagementClientOperationsMixin(object): + + def get_publishing_user( + self, custom_headers=None, raw=False, **operation_config): + """Gets publishing user. + + Gets publishing user. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_publishing_user.metadata['url'] + + # 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('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_publishing_user.metadata = {'url': '/providers/Microsoft.Web/publishingUsers/web'} + + def update_publishing_user( + self, user_details, custom_headers=None, raw=False, **operation_config): + """Updates publishing user. + + Updates publishing user. + + :param user_details: Details of publishing user + :type user_details: ~azure.mgmt.web.models.User + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_publishing_user.metadata['url'] + + # 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(user_details, 'User') + + # 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]: + 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('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_publishing_user.metadata = {'url': '/providers/Microsoft.Web/publishingUsers/web'} + + def list_source_controls( + self, custom_headers=None, raw=False, **operation_config): + """Gets the source controls available for Azure websites. + + Gets the source controls available for Azure websites. + + :param dict custom_headers: headers that will 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 SourceControl + :rtype: + ~azure.mgmt.web.models.SourceControlPaged[~azure.mgmt.web.models.SourceControl] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_source_controls.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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SourceControlPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_source_controls.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols'} + + def get_source_control( + self, source_control_type, custom_headers=None, raw=False, **operation_config): + """Gets source control token. + + Gets source control token. + + :param source_control_type: Type of source control + :type source_control_type: 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: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_source_control.metadata['url'] + path_format_arguments = { + 'sourceControlType': self._serialize.url("source_control_type", source_control_type, '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('SourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_source_control.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols/{sourceControlType}'} + + def update_source_control( + self, source_control_type, request_message, custom_headers=None, raw=False, **operation_config): + """Updates source control token. + + Updates source control token. + + :param source_control_type: Type of source control + :type source_control_type: str + :param request_message: Source control token information + :type request_message: ~azure.mgmt.web.models.SourceControl + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_source_control.metadata['url'] + path_format_arguments = { + 'sourceControlType': self._serialize.url("source_control_type", source_control_type, '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(request_message, 'SourceControl') + + # 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]: + 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('SourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_source_control.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols/{sourceControlType}'} + + def check_name_availability( + self, name, type, is_fqdn=None, custom_headers=None, raw=False, **operation_config): + """Check if a resource name is available. + + Check if a resource name is available. + + :param name: Resource name to verify. + :type name: str + :param type: Resource type used for verification. Possible values + include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceNameAvailability or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ResourceNameAvailability or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + request = models.ResourceNameAvailabilityRequest(name=name, type=type, is_fqdn=is_fqdn) + + # Construct URL + url = self.check_name_availability.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' + 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(request, 'ResourceNameAvailabilityRequest') + + # 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('ResourceNameAvailability', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability'} + + def get_subscription_deployment_locations( + self, custom_headers=None, raw=False, **operation_config): + """Gets list of available geo regions plus ministamps. + + Gets list of available geo regions plus ministamps. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentLocations or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DeploymentLocations or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_subscription_deployment_locations.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]: + 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('DeploymentLocations', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_subscription_deployment_locations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations'} + + def list_geo_regions( + self, sku=None, linux_workers_enabled=None, custom_headers=None, raw=False, **operation_config): + """Get a list of available geographical regions. + + Get a list of available geographical regions. + + :param sku: Name of SKU used to filter the regions. Possible values + include: 'Free', 'Shared', 'Basic', 'Standard', 'Premium', + 'PremiumV2', 'Dynamic', 'Isolated' + :type sku: str or ~azure.mgmt.web.models.SkuName + :param linux_workers_enabled: Specify true if you want to + filter to only regions that support Linux workers. + :type linux_workers_enabled: bool + :param dict custom_headers: headers that will 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 GeoRegion + :rtype: + ~azure.mgmt.web.models.GeoRegionPaged[~azure.mgmt.web.models.GeoRegion] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_geo_regions.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 sku is not None: + query_parameters['sku'] = self._serialize.query("sku", sku, 'str') + if linux_workers_enabled is not None: + query_parameters['linuxWorkersEnabled'] = self._serialize.query("linux_workers_enabled", linux_workers_enabled, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.GeoRegionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_geo_regions.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions'} + + def list_site_identifiers_assigned_to_host_name( + self, name=None, custom_headers=None, raw=False, **operation_config): + """List all apps that are assigned to a hostname. + + List all apps that are assigned to a hostname. + + :param name: Name of the object. + :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: An iterator like instance of Identifier + :rtype: + ~azure.mgmt.web.models.IdentifierPaged[~azure.mgmt.web.models.Identifier] + :raises: :class:`CloudError` + """ + name_identifier = models.NameIdentifier(name=name) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_identifiers_assigned_to_host_name.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' + 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(name_identifier, 'NameIdentifier') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_identifiers_assigned_to_host_name.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName'} + + def list_premier_add_on_offers( + self, custom_headers=None, raw=False, **operation_config): + """List all premier add-on offers. + + List all premier add-on offers. + + :param dict custom_headers: headers that will 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 PremierAddOnOffer + :rtype: + ~azure.mgmt.web.models.PremierAddOnOfferPaged[~azure.mgmt.web.models.PremierAddOnOffer] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_premier_add_on_offers.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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.PremierAddOnOfferPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_premier_add_on_offers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers'} + + def list_skus( + self, custom_headers=None, raw=False, **operation_config): + """List all SKUs. + + List all SKUs. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SkuInfos or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SkuInfos or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_skus.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]: + 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('SkuInfos', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus'} + + def verify_hosting_environment_vnet( + self, parameters, custom_headers=None, raw=False, **operation_config): + """Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + :param parameters: VNET information + :type parameters: ~azure.mgmt.web.models.VnetParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetValidationFailureDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetValidationFailureDetails or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.verify_hosting_environment_vnet.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' + 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, 'VnetParameters') + + # 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('VnetValidationFailureDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + verify_hosting_environment_vnet.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet'} + + def move( + self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Move resources between resource groups. + + Move resources between resource groups. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + """ + move_resource_envelope = models.CsmMoveResourceEnvelope(target_resource_group=target_resource_group, resources=resources) + + # Construct URL + url = self.move.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['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(move_resource_envelope, 'CsmMoveResourceEnvelope') + + # 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 [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 + move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources'} + + def validate( + self, resource_group_name, validate_request, custom_headers=None, raw=False, **operation_config): + """Validate if a resource can be created. + + Validate if a resource can be created. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param validate_request: Request with the resources to validate. + :type validate_request: ~azure.mgmt.web.models.ValidateRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ValidateResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ValidateResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # 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\._\(\)]+[^\.]$'), + 'subscriptionId': self._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(validate_request, 'ValidateRequest') + + # 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('ValidateResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate'} + + def validate_move( + self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Validate whether a resource can be moved. + + Validate whether a resource can be moved. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + """ + move_resource_envelope = models.CsmMoveResourceEnvelope(target_resource_group=target_resource_group, resources=resources) + + # Construct URL + url = self.validate_move.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['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(move_resource_envelope, 'CsmMoveResourceEnvelope') + + # 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 [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 + validate_move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_03_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/__init__.py similarity index 53% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_paged.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/__init__.py index 10fc2d5f2a08..55c66f839cff 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/site_paged.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/__init__.py @@ -9,19 +9,11 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.paging import Paged +from ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] +from .version import VERSION -class SitePaged(Paged): - """ - A paging container for iterating over a list of :class:`Site ` object - """ +__version__ = VERSION - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Site]'} - } - - def __init__(self, *args, **kwargs): - - super(SitePaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_web_site_management_client.py new file mode 100644 index 000000000000..10d0a7c8adb4 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/_web_site_management_client.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.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import WebSiteManagementClientConfiguration +from .operations import WebAppsOperations +from . import models + + +class WebSiteManagementClient(SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar web_apps: WebApps operations + :vartype web_apps: azure.mgmt.web.operations.WebAppsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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-08-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.web_apps = WebAppsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/__init__.py new file mode 100644 index 000000000000..2f3735650390 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/__init__.py @@ -0,0 +1,477 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import ApiDefinitionInfo + from ._models_py3 import ApplicationLogsConfig + from ._models_py3 import AppServicePlan + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import AzureBlobStorageApplicationLogsConfig + from ._models_py3 import AzureBlobStorageHttpLogsConfig + from ._models_py3 import AzureTableStorageApplicationLogsConfig + from ._models_py3 import BackupItem + from ._models_py3 import BackupRequest + from ._models_py3 import BackupSchedule + from ._models_py3 import Capability + from ._models_py3 import CloningInfo + from ._models_py3 import ConnectionStringDictionary + from ._models_py3 import ConnStringInfo + from ._models_py3 import ConnStringValueTypePair + from ._models_py3 import ContinuousWebJob + from ._models_py3 import CorsSettings + from ._models_py3 import CsmPublishingProfileOptions + from ._models_py3 import CsmSlotEntity + from ._models_py3 import CsmUsageQuota + from ._models_py3 import CustomHostnameAnalysisResult + from ._models_py3 import DatabaseBackupSetting + from ._models_py3 import Deployment + from ._models_py3 import EnabledConfig + from ._models_py3 import ErrorEntity + from ._models_py3 import Experiments + from ._models_py3 import FileSystemApplicationLogsConfig + from ._models_py3 import FileSystemHttpLogsConfig + from ._models_py3 import FunctionEnvelope + from ._models_py3 import FunctionSecrets + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostNameBinding + from ._models_py3 import HostNameSslState + from ._models_py3 import HttpLogsConfig + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import LocalizableString + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import MigrateMySqlRequest + from ._models_py3 import MigrateMySqlStatus + from ._models_py3 import MSDeploy + from ._models_py3 import MSDeployLog + from ._models_py3 import MSDeployLogEntry + from ._models_py3 import MSDeployStatus + from ._models_py3 import NameValuePair + from ._models_py3 import NetworkFeatures + from ._models_py3 import Operation + from ._models_py3 import PerfMonResponse + from ._models_py3 import PerfMonSample + from ._models_py3 import PerfMonSet + from ._models_py3 import PremierAddOn + from ._models_py3 import ProcessInfo + from ._models_py3 import ProcessModuleInfo + from ._models_py3 import ProcessThreadInfo + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PublicCertificate + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import RelayServiceConnectionEntity + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceMetric + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricName + from ._models_py3 import ResourceMetricProperty + from ._models_py3 import ResourceMetricValue + from ._models_py3 import RestoreRequest + from ._models_py3 import RestoreResponse + from ._models_py3 import Site + from ._models_py3 import SiteAuthSettings + from ._models_py3 import SiteCloneability + from ._models_py3 import SiteCloneabilityCriterion + from ._models_py3 import SiteConfig + from ._models_py3 import SiteConfigResource + from ._models_py3 import SiteConfigurationSnapshotInfo + from ._models_py3 import SiteExtensionInfo + from ._models_py3 import SiteInstance + from ._models_py3 import SiteLimits + from ._models_py3 import SiteLogsConfig + from ._models_py3 import SiteMachineKey + from ._models_py3 import SitePatchResource + from ._models_py3 import SitePhpErrorLogFlag + from ._models_py3 import SiteSourceControl + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SlotConfigNamesResource + from ._models_py3 import SlotDifference + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import Snapshot + from ._models_py3 import SnapshotRecoveryRequest + from ._models_py3 import SnapshotRecoveryTarget + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import StorageMigrationOptions + from ._models_py3 import StorageMigrationResponse + from ._models_py3 import StringDictionary + from ._models_py3 import TriggeredJobHistory + from ._models_py3 import TriggeredJobRun + from ._models_py3 import TriggeredWebJob + from ._models_py3 import User + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetRoute + from ._models_py3 import WebJob +except (SyntaxError, ImportError): + from ._models import ApiDefinitionInfo + from ._models import ApplicationLogsConfig + from ._models import AppServicePlan + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import AzureBlobStorageApplicationLogsConfig + from ._models import AzureBlobStorageHttpLogsConfig + from ._models import AzureTableStorageApplicationLogsConfig + from ._models import BackupItem + from ._models import BackupRequest + from ._models import BackupSchedule + from ._models import Capability + from ._models import CloningInfo + from ._models import ConnectionStringDictionary + from ._models import ConnStringInfo + from ._models import ConnStringValueTypePair + from ._models import ContinuousWebJob + from ._models import CorsSettings + from ._models import CsmPublishingProfileOptions + from ._models import CsmSlotEntity + from ._models import CsmUsageQuota + from ._models import CustomHostnameAnalysisResult + from ._models import DatabaseBackupSetting + from ._models import Deployment + from ._models import EnabledConfig + from ._models import ErrorEntity + from ._models import Experiments + from ._models import FileSystemApplicationLogsConfig + from ._models import FileSystemHttpLogsConfig + from ._models import FunctionEnvelope + from ._models import FunctionSecrets + from ._models import HandlerMapping + from ._models import HostingEnvironmentProfile + from ._models import HostNameBinding + from ._models import HostNameSslState + from ._models import HttpLogsConfig + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import LocalizableString + from ._models import ManagedServiceIdentity + from ._models import MigrateMySqlRequest + from ._models import MigrateMySqlStatus + from ._models import MSDeploy + from ._models import MSDeployLog + from ._models import MSDeployLogEntry + from ._models import MSDeployStatus + from ._models import NameValuePair + from ._models import NetworkFeatures + from ._models import Operation + from ._models import PerfMonResponse + from ._models import PerfMonSample + from ._models import PerfMonSet + from ._models import PremierAddOn + from ._models import ProcessInfo + from ._models import ProcessModuleInfo + from ._models import ProcessThreadInfo + from ._models import ProxyOnlyResource + from ._models import PublicCertificate + from ._models import PushSettings + from ._models import RampUpRule + from ._models import RelayServiceConnectionEntity + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceMetric + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricName + from ._models import ResourceMetricProperty + from ._models import ResourceMetricValue + from ._models import RestoreRequest + from ._models import RestoreResponse + from ._models import Site + from ._models import SiteAuthSettings + from ._models import SiteCloneability + from ._models import SiteCloneabilityCriterion + from ._models import SiteConfig + from ._models import SiteConfigResource + from ._models import SiteConfigurationSnapshotInfo + from ._models import SiteExtensionInfo + from ._models import SiteInstance + from ._models import SiteLimits + from ._models import SiteLogsConfig + from ._models import SiteMachineKey + from ._models import SitePatchResource + from ._models import SitePhpErrorLogFlag + from ._models import SiteSourceControl + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SlotConfigNamesResource + from ._models import SlotDifference + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import Snapshot + from ._models import SnapshotRecoveryRequest + from ._models import SnapshotRecoveryTarget + from ._models import StatusCodesBasedTrigger + from ._models import StorageMigrationOptions + from ._models import StorageMigrationResponse + from ._models import StringDictionary + from ._models import TriggeredJobHistory + from ._models import TriggeredJobRun + from ._models import TriggeredWebJob + from ._models import User + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetRoute + from ._models import WebJob +from ._paged_models import BackupItemPaged +from ._paged_models import ContinuousWebJobPaged +from ._paged_models import CsmUsageQuotaPaged +from ._paged_models import DeploymentPaged +from ._paged_models import FunctionEnvelopePaged +from ._paged_models import HostNameBindingPaged +from ._paged_models import IdentifierPaged +from ._paged_models import PerfMonResponsePaged +from ._paged_models import ProcessInfoPaged +from ._paged_models import ProcessModuleInfoPaged +from ._paged_models import ProcessThreadInfoPaged +from ._paged_models import PublicCertificatePaged +from ._paged_models import ResourceMetricDefinitionPaged +from ._paged_models import ResourceMetricPaged +from ._paged_models import SiteConfigResourcePaged +from ._paged_models import SiteConfigurationSnapshotInfoPaged +from ._paged_models import SiteExtensionInfoPaged +from ._paged_models import SiteInstancePaged +from ._paged_models import SitePaged +from ._paged_models import SlotDifferencePaged +from ._paged_models import SnapshotPaged +from ._paged_models import TriggeredJobHistoryPaged +from ._paged_models import TriggeredWebJobPaged +from ._paged_models import WebJobPaged +from ._web_site_management_client_enums import ( + LogLevel, + BackupItemStatus, + DatabaseType, + FrequencyUnit, + BackupRestoreOperationType, + ConnectionStringType, + ContinuousWebJobStatus, + WebJobType, + PublishingProfileFormat, + DnsVerificationTestResult, + AzureResourceType, + CustomHostNameDnsRecordType, + HostNameType, + SslState, + MSDeployLogEntryType, + MSDeployProvisioningState, + MySqlMigrationType, + OperationStatus, + RouteType, + PublicCertificateLocation, + UnauthenticatedClientAction, + BuiltInAuthenticationProvider, + CloneAbilityResult, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + AutoHealActionType, + SupportedTlsVersions, + SiteExtensionType, + UsageState, + SiteAvailabilityState, + HostType, + TriggeredWebJobStatus, + ManagedServiceIdentityType, + StatusOptions, + ProvisioningState, +) + +__all__ = [ + 'ApiDefinitionInfo', + 'ApplicationLogsConfig', + 'AppServicePlan', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'AzureBlobStorageApplicationLogsConfig', + 'AzureBlobStorageHttpLogsConfig', + 'AzureTableStorageApplicationLogsConfig', + 'BackupItem', + 'BackupRequest', + 'BackupSchedule', + 'Capability', + 'CloningInfo', + 'ConnectionStringDictionary', + 'ConnStringInfo', + 'ConnStringValueTypePair', + 'ContinuousWebJob', + 'CorsSettings', + 'CsmPublishingProfileOptions', + 'CsmSlotEntity', + 'CsmUsageQuota', + 'CustomHostnameAnalysisResult', + 'DatabaseBackupSetting', + 'Deployment', + 'EnabledConfig', + 'ErrorEntity', + 'Experiments', + 'FileSystemApplicationLogsConfig', + 'FileSystemHttpLogsConfig', + 'FunctionEnvelope', + 'FunctionSecrets', + 'HandlerMapping', + 'HostingEnvironmentProfile', + 'HostNameBinding', + 'HostNameSslState', + 'HttpLogsConfig', + 'HybridConnection', + 'HybridConnectionKey', + 'Identifier', + 'IpSecurityRestriction', + 'LocalizableString', + 'ManagedServiceIdentity', + 'MigrateMySqlRequest', + 'MigrateMySqlStatus', + 'MSDeploy', + 'MSDeployLog', + 'MSDeployLogEntry', + 'MSDeployStatus', + 'NameValuePair', + 'NetworkFeatures', + 'Operation', + 'PerfMonResponse', + 'PerfMonSample', + 'PerfMonSet', + 'PremierAddOn', + 'ProcessInfo', + 'ProcessModuleInfo', + 'ProcessThreadInfo', + 'ProxyOnlyResource', + 'PublicCertificate', + 'PushSettings', + 'RampUpRule', + 'RelayServiceConnectionEntity', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceMetric', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'ResourceMetricName', + 'ResourceMetricProperty', + 'ResourceMetricValue', + 'RestoreRequest', + 'RestoreResponse', + 'Site', + 'SiteAuthSettings', + 'SiteCloneability', + 'SiteCloneabilityCriterion', + 'SiteConfig', + 'SiteConfigResource', + 'SiteConfigurationSnapshotInfo', + 'SiteExtensionInfo', + 'SiteInstance', + 'SiteLimits', + 'SiteLogsConfig', + 'SiteMachineKey', + 'SitePatchResource', + 'SitePhpErrorLogFlag', + 'SiteSourceControl', + 'SkuCapacity', + 'SkuDescription', + 'SlotConfigNamesResource', + 'SlotDifference', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'Snapshot', + 'SnapshotRecoveryRequest', + 'SnapshotRecoveryTarget', + 'StatusCodesBasedTrigger', + 'StorageMigrationOptions', + 'StorageMigrationResponse', + 'StringDictionary', + 'TriggeredJobHistory', + 'TriggeredJobRun', + 'TriggeredWebJob', + 'User', + 'VirtualApplication', + 'VirtualDirectory', + 'VnetGateway', + 'VnetInfo', + 'VnetRoute', + 'WebJob', + 'SitePaged', + 'BackupItemPaged', + 'SiteConfigResourcePaged', + 'SiteConfigurationSnapshotInfoPaged', + 'ContinuousWebJobPaged', + 'DeploymentPaged', + 'IdentifierPaged', + 'FunctionEnvelopePaged', + 'HostNameBindingPaged', + 'SiteInstancePaged', + 'ProcessInfoPaged', + 'ProcessModuleInfoPaged', + 'ProcessThreadInfoPaged', + 'ResourceMetricDefinitionPaged', + 'ResourceMetricPaged', + 'PerfMonResponsePaged', + 'PublicCertificatePaged', + 'SiteExtensionInfoPaged', + 'SlotDifferencePaged', + 'SnapshotPaged', + 'TriggeredWebJobPaged', + 'TriggeredJobHistoryPaged', + 'CsmUsageQuotaPaged', + 'WebJobPaged', + 'LogLevel', + 'BackupItemStatus', + 'DatabaseType', + 'FrequencyUnit', + 'BackupRestoreOperationType', + 'ConnectionStringType', + 'ContinuousWebJobStatus', + 'WebJobType', + 'PublishingProfileFormat', + 'DnsVerificationTestResult', + 'AzureResourceType', + 'CustomHostNameDnsRecordType', + 'HostNameType', + 'SslState', + 'MSDeployLogEntryType', + 'MSDeployProvisioningState', + 'MySqlMigrationType', + 'OperationStatus', + 'RouteType', + 'PublicCertificateLocation', + 'UnauthenticatedClientAction', + 'BuiltInAuthenticationProvider', + 'CloneAbilityResult', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'AutoHealActionType', + 'SupportedTlsVersions', + 'SiteExtensionType', + 'UsageState', + 'SiteAvailabilityState', + 'HostType', + 'TriggeredWebJobStatus', + 'ManagedServiceIdentityType', + 'StatusOptions', + 'ProvisioningState', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models.py new file mode 100644 index 000000000000..c19c1340e395 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models.py @@ -0,0 +1,6168 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class ApplicationLogsConfig(Model): + """Application logs configuration. + + :param file_system: Application logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig + :param azure_table_storage: Application logs to azure table storage + configuration. + :type azure_table_storage: + ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig + :param azure_blob_storage: Application logs to blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, + 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, + } + + def __init__(self, **kwargs): + super(ApplicationLogsConfig, self).__init__(**kwargs) + self.file_system = kwargs.get('file_system', None) + self.azure_table_storage = kwargs.get('azure_table_storage', None) + self.azure_blob_storage = kwargs.get('azure_blob_storage', None) + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.app_service_plan_name = kwargs.get('app_service_plan_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class AzureBlobStorageApplicationLogsConfig(Model): + """Application logs azure blob storage configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.sas_url = kwargs.get('sas_url', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + + +class AzureBlobStorageHttpLogsConfig(Model): + """Http logs to azure blob storage configuration. + + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + self.enabled = kwargs.get('enabled', None) + + +class AzureTableStorageApplicationLogsConfig(Model): + """Application logs to Azure table storage configuration. + + All required parameters must be populated in order to send to Azure. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: Required. SAS URL to an Azure table with add/query/delete + permissions. + :type sas_url: str + """ + + _validation = { + 'sas_url': {'required': True}, + } + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.sas_url = kwargs.get('sas_url', None) + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class BackupItem(ProxyOnlyResource): + """Backup description. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar backup_id: Id of the backup. + :vartype backup_id: int + :ivar storage_account_url: SAS URL for the storage account container which + contains this backup. + :vartype storage_account_url: str + :ivar blob_name: Name of the blob which contains data for this backup. + :vartype blob_name: str + :ivar backup_item_name: Name of this backup. + :vartype backup_item_name: str + :ivar status: Backup status. Possible values include: 'InProgress', + 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', + 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' + :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus + :ivar size_in_bytes: Size of the backup in bytes. + :vartype size_in_bytes: long + :ivar created: Timestamp of the backup creation. + :vartype created: datetime + :ivar log: Details regarding this backup. Might contain an error message. + :vartype log: str + :ivar databases: List of databases included in the backup. + :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :ivar scheduled: True if this backup has been created due to a schedule + being triggered. + :vartype scheduled: bool + :ivar last_restore_time_stamp: Timestamp of a last restore operation which + used this backup. + :vartype last_restore_time_stamp: datetime + :ivar finished_time_stamp: Timestamp when this backup finished. + :vartype finished_time_stamp: datetime + :ivar correlation_id: Unique correlation identifier. Please use this along + with the timestamp while communicating with Azure support. + :vartype correlation_id: str + :ivar website_size_in_bytes: Size of the original web app which has been + backed up. + :vartype website_size_in_bytes: long + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_id': {'readonly': True}, + 'storage_account_url': {'readonly': True}, + 'blob_name': {'readonly': True}, + 'backup_item_name': {'readonly': True}, + 'status': {'readonly': True}, + 'size_in_bytes': {'readonly': True}, + 'created': {'readonly': True}, + 'log': {'readonly': True}, + 'databases': {'readonly': True}, + 'scheduled': {'readonly': True}, + 'last_restore_time_stamp': {'readonly': True}, + 'finished_time_stamp': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'website_size_in_bytes': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_id': {'key': 'properties.id', 'type': 'int'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, + 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, + 'created': {'key': 'properties.created', 'type': 'iso-8601'}, + 'log': {'key': 'properties.log', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, + 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, + 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BackupItem, self).__init__(**kwargs) + self.backup_id = None + self.storage_account_url = None + self.blob_name = None + self.backup_item_name = None + self.status = None + self.size_in_bytes = None + self.created = None + self.log = None + self.databases = None + self.scheduled = None + self.last_restore_time_stamp = None + self.finished_time_stamp = None + self.correlation_id = None + self.website_size_in_bytes = None + + +class BackupRequest(ProxyOnlyResource): + """Description of a backup which will be performed. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param backup_request_name: Required. Name of the backup. + :type backup_request_name: str + :param enabled: True if the backup schedule is enabled (must be included + in that case), false if the backup schedule should be disabled. + :type enabled: bool + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param backup_schedule: Schedule for the backup if it is executed + periodically. + :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule + :param databases: Databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param backup_request_type: Type of the backup. Possible values include: + 'Default', 'Clone', 'Relocation', 'Snapshot' + :type backup_request_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_request_name': {'required': True}, + 'storage_account_url': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_request_name': {'key': 'properties.name', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'backup_request_type': {'key': 'properties.type', 'type': 'BackupRestoreOperationType'}, + } + + def __init__(self, **kwargs): + super(BackupRequest, self).__init__(**kwargs) + self.backup_request_name = kwargs.get('backup_request_name', None) + self.enabled = kwargs.get('enabled', None) + self.storage_account_url = kwargs.get('storage_account_url', None) + self.backup_schedule = kwargs.get('backup_schedule', None) + self.databases = kwargs.get('databases', None) + self.backup_request_type = kwargs.get('backup_request_type', None) + + +class BackupSchedule(Model): + """Description of a backup schedule. Describes how often should be the backup + performed and what should be the retention policy. + + 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 frequency_interval: Required. How often the backup should be + executed (e.g. for weekly backup, this should be set to 7 and + FrequencyUnit should be set to Day). Default value: 7 . + :type frequency_interval: int + :param frequency_unit: Required. The unit of time for how often the backup + should be executed (e.g. for weekly backup, this should be set to Day and + FrequencyInterval should be set to 7). Possible values include: 'Day', + 'Hour'. Default value: "Day" . + :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit + :param keep_at_least_one_backup: Required. True if the retention policy + should always keep at least one backup in the storage account, regardless + how old it is; false otherwise. Default value: True . + :type keep_at_least_one_backup: bool + :param retention_period_in_days: Required. After how many days backups + should be deleted. Default value: 30 . + :type retention_period_in_days: int + :param start_time: When the schedule should start working. + :type start_time: datetime + :ivar last_execution_time: Last time when this schedule was triggered. + :vartype last_execution_time: datetime + """ + + _validation = { + 'frequency_interval': {'required': True}, + 'frequency_unit': {'required': True}, + 'keep_at_least_one_backup': {'required': True}, + 'retention_period_in_days': {'required': True}, + 'last_execution_time': {'readonly': True}, + } + + _attribute_map = { + 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, + 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, + 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, + 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(BackupSchedule, self).__init__(**kwargs) + self.frequency_interval = kwargs.get('frequency_interval', 7) + self.frequency_unit = kwargs.get('frequency_unit', "Day") + self.keep_at_least_one_backup = kwargs.get('keep_at_least_one_backup', True) + self.retention_period_in_days = kwargs.get('retention_period_in_days', 30) + self.start_time = kwargs.get('start_time', None) + self.last_execution_time = None + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + self.ignore_quotas = kwargs.get('ignore_quotas', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnectionStringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, + } + + def __init__(self, **kwargs): + super(ConnectionStringDictionary, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class ConnStringValueTypePair(Model): + """Database connection string value to type pair. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Value of pair. + :type value: str + :param type: Required. Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _validation = { + 'value': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringValueTypePair, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.type = kwargs.get('type', None) + + +class ContinuousWebJob(ProxyOnlyResource): + """Continuous Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Job status. Possible values include: 'Initializing', + 'Starting', 'Running', 'PendingRestart', 'Stopped' + :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus + :param detailed_status: Detailed status. + :type detailed_status: str + :param log_url: Log URL. + :type log_url: str + :ivar continuous_web_job_name: Job name. Used as job identifier in ARM + resource URI. + :vartype continuous_web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'continuous_web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, + 'detailed_status': {'key': 'properties.detailedStatus', 'type': 'str'}, + 'log_url': {'key': 'properties.logUrl', 'type': 'str'}, + 'continuous_web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(ContinuousWebJob, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.detailed_status = kwargs.get('detailed_status', None) + self.log_url = kwargs.get('log_url', None) + self.continuous_web_job_name = None + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.job_type = kwargs.get('job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + + +class CsmPublishingProfileOptions(Model): + """Publishing options for requested profile. + + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CsmPublishingProfileOptions, self).__init__(**kwargs) + self.format = kwargs.get('format', None) + + +class CsmSlotEntity(Model): + """Deployment slot parameters. + + All required parameters must be populated in order to send to Azure. + + :param target_slot: Required. Destination deployment slot during swap + operation. + :type target_slot: str + :param preserve_vnet: Required. true to preserve Virtual + Network to the slot during swap; otherwise, false. + :type preserve_vnet: bool + """ + + _validation = { + 'target_slot': {'required': True}, + 'preserve_vnet': {'required': True}, + } + + _attribute_map = { + 'target_slot': {'key': 'targetSlot', 'type': 'str'}, + 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CsmSlotEntity, self).__init__(**kwargs) + self.target_slot = kwargs.get('target_slot', None) + self.preserve_vnet = kwargs.get('preserve_vnet', None) + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, **kwargs): + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = kwargs.get('unit', None) + self.next_reset_time = kwargs.get('next_reset_time', None) + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class CustomHostnameAnalysisResult(ProxyOnlyResource): + """Custom domain analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar is_hostname_already_verified: true if hostname is + already verified; otherwise, false. + :vartype is_hostname_already_verified: bool + :ivar custom_domain_verification_test: DNS verification test result. + Possible values include: 'Passed', 'Failed', 'Skipped' + :vartype custom_domain_verification_test: str or + ~azure.mgmt.web.models.DnsVerificationTestResult + :ivar custom_domain_verification_failure_info: Raw failure information if + DNS verification fails. + :vartype custom_domain_verification_failure_info: + ~azure.mgmt.web.models.ErrorEntity + :ivar has_conflict_on_scale_unit: true if there is a conflict + on a scale unit; otherwise, false. + :vartype has_conflict_on_scale_unit: bool + :ivar has_conflict_across_subscription: true if there is a + conflict across subscriptions; otherwise, false. + :vartype has_conflict_across_subscription: bool + :ivar conflicting_app_resource_id: Name of the conflicting app on scale + unit if it's within the same subscription. + :vartype conflicting_app_resource_id: str + :param c_name_records: CName records controller can see for this hostname. + :type c_name_records: list[str] + :param txt_records: TXT records controller can see for this hostname. + :type txt_records: list[str] + :param a_records: A records controller can see for this hostname. + :type a_records: list[str] + :param alternate_cname_records: Alternate CName records controller can see + for this hostname. + :type alternate_cname_records: list[str] + :param alternate_txt_records: Alternate TXT records controller can see for + this hostname. + :type alternate_txt_records: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_hostname_already_verified': {'readonly': True}, + 'custom_domain_verification_test': {'readonly': True}, + 'custom_domain_verification_failure_info': {'readonly': True}, + 'has_conflict_on_scale_unit': {'readonly': True}, + 'has_conflict_across_subscription': {'readonly': True}, + 'conflicting_app_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, + 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, + 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, + 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, + 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, + 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, + 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, + 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, + 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, + 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, + 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CustomHostnameAnalysisResult, self).__init__(**kwargs) + self.is_hostname_already_verified = None + self.custom_domain_verification_test = None + self.custom_domain_verification_failure_info = None + self.has_conflict_on_scale_unit = None + self.has_conflict_across_subscription = None + self.conflicting_app_resource_id = None + self.c_name_records = kwargs.get('c_name_records', None) + self.txt_records = kwargs.get('txt_records', None) + self.a_records = kwargs.get('a_records', None) + self.alternate_cname_records = kwargs.get('alternate_cname_records', None) + self.alternate_txt_records = kwargs.get('alternate_txt_records', None) + + +class DatabaseBackupSetting(Model): + """Database backup settings. + + All required parameters must be populated in order to send to Azure. + + :param database_type: Required. Database type (e.g. SqlAzure / MySql). + Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' + :type database_type: str or ~azure.mgmt.web.models.DatabaseType + :param name: + :type name: str + :param connection_string_name: Contains a connection string name that is + linked to the SiteConfig.ConnectionStrings. + This is used during restore with overwrite connection strings options. + :type connection_string_name: str + :param connection_string: Contains a connection string to a database which + is being backed up or restored. If the restore should happen to a new + database, the database name inside is the new one. + :type connection_string: str + """ + + _validation = { + 'database_type': {'required': True}, + } + + _attribute_map = { + 'database_type': {'key': 'databaseType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DatabaseBackupSetting, self).__init__(**kwargs) + self.database_type = kwargs.get('database_type', None) + self.name = kwargs.get('name', None) + self.connection_string_name = kwargs.get('connection_string_name', None) + self.connection_string = kwargs.get('connection_string', None) + + +class Deployment(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param deployment_id: Identifier for deployment. + :type deployment_id: str + :param status: Deployment status. + :type status: int + :param message: Details about deployment status. + :type message: str + :param author: Who authored the deployment. + :type author: str + :param deployer: Who performed the deployment. + :type deployer: str + :param author_email: Author email. + :type author_email: str + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param active: True if deployment is currently active, false if completed + and null if not started. + :type active: bool + :param details: Details on deployment. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployment_id': {'key': 'properties.id', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'int'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'author_email': {'key': 'properties.authorEmail', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'active': {'key': 'properties.active', 'type': 'bool'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.deployment_id = kwargs.get('deployment_id', None) + self.status = kwargs.get('status', None) + self.message = kwargs.get('message', None) + self.author = kwargs.get('author', None) + self.deployer = kwargs.get('deployer', None) + self.author_email = kwargs.get('author_email', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.active = kwargs.get('active', None) + self.details = kwargs.get('details', None) + + +class EnabledConfig(Model): + """Enabled configuration. + + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(EnabledConfig, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = kwargs.get('extended_code', None) + self.message_template = kwargs.get('message_template', None) + self.parameters = kwargs.get('parameters', None) + self.inner_errors = kwargs.get('inner_errors', None) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class FileSystemApplicationLogsConfig(Model): + """Application logs to file system configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error'. Default value: "Off" . + :type level: str or ~azure.mgmt.web.models.LogLevel + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + } + + def __init__(self, **kwargs): + super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', "Off") + + +class FileSystemHttpLogsConfig(Model): + """Http logs to file system configuration. + + :param retention_in_mb: Maximum size in megabytes that http log files can + use. + When reached old log files will be removed to make space for new ones. + Value can range between 25 and 100. + :type retention_in_mb: int + :param retention_in_days: Retention in days. + Remove files older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _validation = { + 'retention_in_mb': {'maximum': 100, 'minimum': 25}, + } + + _attribute_map = { + 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(FileSystemHttpLogsConfig, self).__init__(**kwargs) + self.retention_in_mb = kwargs.get('retention_in_mb', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + self.enabled = kwargs.get('enabled', None) + + +class FunctionEnvelope(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar function_envelope_name: Function name. + :vartype function_envelope_name: str + :ivar function_app_id: Function App ID. + :vartype function_app_id: str + :param script_root_path_href: Script root path URI. + :type script_root_path_href: str + :param script_href: Script URI. + :type script_href: str + :param config_href: Config URI. + :type config_href: str + :param secrets_file_href: Secrets file URI. + :type secrets_file_href: str + :param href: Function URI. + :type href: str + :param config: Config information. + :type config: object + :param files: File list. + :type files: dict[str, str] + :param test_data: Test data used when testing via the Azure Portal. + :type test_data: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'function_envelope_name': {'readonly': True}, + 'function_app_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'function_envelope_name': {'key': 'properties.name', 'type': 'str'}, + 'function_app_id': {'key': 'properties.functionAppId', 'type': 'str'}, + 'script_root_path_href': {'key': 'properties.scriptRootPathHref', 'type': 'str'}, + 'script_href': {'key': 'properties.scriptHref', 'type': 'str'}, + 'config_href': {'key': 'properties.configHref', 'type': 'str'}, + 'secrets_file_href': {'key': 'properties.secretsFileHref', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'config': {'key': 'properties.config', 'type': 'object'}, + 'files': {'key': 'properties.files', 'type': '{str}'}, + 'test_data': {'key': 'properties.testData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FunctionEnvelope, self).__init__(**kwargs) + self.function_envelope_name = None + self.function_app_id = None + self.script_root_path_href = kwargs.get('script_root_path_href', None) + self.script_href = kwargs.get('script_href', None) + self.config_href = kwargs.get('config_href', None) + self.secrets_file_href = kwargs.get('secrets_file_href', None) + self.href = kwargs.get('href', None) + self.config = kwargs.get('config', None) + self.files = kwargs.get('files', None) + self.test_data = kwargs.get('test_data', None) + + +class FunctionSecrets(ProxyOnlyResource): + """Function secrets. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key: Secret key. + :type key: str + :param trigger_url: Trigger URL. + :type trigger_url: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key': {'key': 'properties.key', 'type': 'str'}, + 'trigger_url': {'key': 'properties.triggerUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FunctionSecrets, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.trigger_url = kwargs.get('trigger_url', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostNameBinding(ProxyOnlyResource): + """A hostname binding object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_name: App Service app name. + :type site_name: str + :param domain_id: Fully qualified ARM domain resource URI. + :type domain_id: str + :param azure_resource_name: Azure resource name. + :type azure_resource_name: str + :param azure_resource_type: Azure resource type. Possible values include: + 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Custom DNS record type. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Hostname type. Possible values include: 'Verified', + 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param thumbprint: SSL certificate thumbprint + :type thumbprint: str + :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :vartype virtual_ip: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_ip': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, + 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, + 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostNameBinding, self).__init__(**kwargs) + self.site_name = kwargs.get('site_name', None) + self.domain_id = kwargs.get('domain_id', None) + self.azure_resource_name = kwargs.get('azure_resource_name', None) + self.azure_resource_type = kwargs.get('azure_resource_type', None) + self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) + self.host_name_type = kwargs.get('host_name_type', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.virtual_ip = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HttpLogsConfig(Model): + """Http logs configuration. + + :param file_system: Http logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig + :param azure_blob_storage: Http logs to azure blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, + } + + def __init__(self, **kwargs): + super(HttpLogsConfig, self).__init__(**kwargs) + self.file_system = kwargs.get('file_system', None) + self.azure_blob_storage = kwargs.get('azure_blob_storage', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalizableString, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + + +class MigrateMySqlRequest(ProxyOnlyResource): + """MySQL migration request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string: Required. Connection string to the remote MySQL + database. + :type connection_string: str + :param migration_type: Required. The type of migration operation to be + done. Possible values include: 'LocalToRemote', 'RemoteToLocal' + :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'connection_string': {'required': True}, + 'migration_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, + } + + def __init__(self, **kwargs): + super(MigrateMySqlRequest, self).__init__(**kwargs) + self.connection_string = kwargs.get('connection_string', None) + self.migration_type = kwargs.get('migration_type', None) + + +class MigrateMySqlStatus(ProxyOnlyResource): + """MySQL migration status. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar migration_operation_status: Status of the migration task. Possible + values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :vartype migration_operation_status: str or + ~azure.mgmt.web.models.OperationStatus + :ivar operation_id: Operation ID for the migration task. + :vartype operation_id: str + :ivar local_my_sql_enabled: True if the web app has in app MySql enabled + :vartype local_my_sql_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'migration_operation_status': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'local_my_sql_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MigrateMySqlStatus, self).__init__(**kwargs) + self.migration_operation_status = None + self.operation_id = None + self.local_my_sql_enabled = None + + +class MSDeploy(ProxyOnlyResource): + """MSDeploy ARM PUT 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param package_uri: Package URI + :type package_uri: str + :param connection_string: SQL Connection String + :type connection_string: str + :param db_type: Database Type + :type db_type: str + :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must + not be set if SetParameters is used. + :type set_parameters_xml_file_uri: str + :param set_parameters: MSDeploy Parameters. Must not be set if + SetParametersXmlFileUri is used. + :type set_parameters: dict[str, str] + :param skip_app_data: Controls whether the MSDeploy operation skips the + App_Data directory. + If set to true, the existing App_Data directory on the + destination + will not be deleted, and any App_Data directory in the source will be + ignored. + Setting is false by default. + :type skip_app_data: bool + :param app_offline: Sets the AppOffline rule while the MSDeploy operation + executes. + Setting is false by default. + :type app_offline: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'db_type': {'key': 'properties.dbType', 'type': 'str'}, + 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, + 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, + 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, + 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MSDeploy, self).__init__(**kwargs) + self.package_uri = kwargs.get('package_uri', None) + self.connection_string = kwargs.get('connection_string', None) + self.db_type = kwargs.get('db_type', None) + self.set_parameters_xml_file_uri = kwargs.get('set_parameters_xml_file_uri', None) + self.set_parameters = kwargs.get('set_parameters', None) + self.skip_app_data = kwargs.get('skip_app_data', None) + self.app_offline = kwargs.get('app_offline', None) + + +class MSDeployLog(ProxyOnlyResource): + """MSDeploy log. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar entries: List of log entry messages + :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'entries': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, + } + + def __init__(self, **kwargs): + super(MSDeployLog, self).__init__(**kwargs) + self.entries = None + + +class MSDeployLogEntry(Model): + """MSDeploy log entry. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: Timestamp of log entry + :vartype time: datetime + :ivar type: Log entry type. Possible values include: 'Message', 'Warning', + 'Error' + :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType + :ivar message: Log entry message + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'type': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MSDeployLogEntry, self).__init__(**kwargs) + self.time = None + self.type = None + self.message = None + + +class MSDeployStatus(ProxyOnlyResource): + """MSDeploy ARM response. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deployer: Username of deployer + :vartype deployer: str + :ivar provisioning_state: Provisioning state. Possible values include: + 'accepted', 'running', 'succeeded', 'failed', 'canceled' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.MSDeployProvisioningState + :ivar start_time: Start time of deploy operation + :vartype start_time: datetime + :ivar end_time: End time of deploy operation + :vartype end_time: datetime + :ivar complete: Whether the deployment operation has completed + :vartype complete: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deployer': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'complete': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'complete': {'key': 'properties.complete', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MSDeployStatus, self).__init__(**kwargs) + self.deployer = None + self.provisioning_state = None + self.start_time = None + self.end_time = None + self.complete = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class NetworkFeatures(ProxyOnlyResource): + """Full view of network features for an app (presently VNET integration and + Hybrid Connections). + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar virtual_network_name: The Virtual Network name. + :vartype virtual_network_name: str + :ivar virtual_network_connection: The Virtual Network summary view. + :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo + :ivar hybrid_connections: The Hybrid Connections summary view. + :vartype hybrid_connections: + list[~azure.mgmt.web.models.RelayServiceConnectionEntity] + :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. + :vartype hybrid_connections_v2: + list[~azure.mgmt.web.models.HybridConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_name': {'readonly': True}, + 'virtual_network_connection': {'readonly': True}, + 'hybrid_connections': {'readonly': True}, + 'hybrid_connections_v2': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, + 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, + 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, + 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, + } + + def __init__(self, **kwargs): + super(NetworkFeatures, self).__init__(**kwargs) + self.virtual_network_name = None + self.virtual_network_connection = None + self.hybrid_connections = None + self.hybrid_connections_v2 = None + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + self.errors = kwargs.get('errors', None) + self.created_time = kwargs.get('created_time', None) + self.modified_time = kwargs.get('modified_time', None) + self.expiration_time = kwargs.get('expiration_time', None) + self.geo_master_operation_id = kwargs.get('geo_master_operation_id', None) + + +class PerfMonResponse(Model): + """Performance monitor API response. + + :param code: The response code. + :type code: str + :param message: The message. + :type message: str + :param data: The performance monitor counters. + :type data: ~azure.mgmt.web.models.PerfMonSet + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'PerfMonSet'}, + } + + def __init__(self, **kwargs): + super(PerfMonResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.data = kwargs.get('data', None) + + +class PerfMonSample(Model): + """Performance monitor sample in a set. + + :param time: Point in time for which counter was measured. + :type time: datetime + :param instance_name: Name of the server on which the measurement is made. + :type instance_name: str + :param value: Value of counter at a certain time. + :type value: float + :param core_count: Core Count of worker. Not a data member + :type core_count: int + """ + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'instance_name': {'key': 'instanceName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(PerfMonSample, self).__init__(**kwargs) + self.time = kwargs.get('time', None) + self.instance_name = kwargs.get('instance_name', None) + self.value = kwargs.get('value', None) + self.core_count = kwargs.get('core_count', None) + + +class PerfMonSet(Model): + """Metric information. + + :param name: Unique key name of the counter. + :type name: str + :param start_time: Start time of the period. + :type start_time: datetime + :param end_time: End time of the period. + :type end_time: datetime + :param time_grain: Presented time grain. + :type time_grain: str + :param values: Collection of workers that are active during this time. + :type values: list[~azure.mgmt.web.models.PerfMonSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[PerfMonSample]'}, + } + + def __init__(self, **kwargs): + super(PerfMonSet, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.time_grain = kwargs.get('time_grain', None) + self.values = kwargs.get('values', None) + + +class PremierAddOn(Resource): + """Premier add-on. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param premier_add_on_name: Premier add on Name. + :type premier_add_on_name: str + :param premier_add_on_location: Premier add on Location. + :type premier_add_on_location: str + :param premier_add_on_tags: Premier add on Tags. + :type premier_add_on_tags: dict[str, str] + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'premier_add_on_name': {'key': 'properties.name', 'type': 'str'}, + 'premier_add_on_location': {'key': 'properties.location', 'type': 'str'}, + 'premier_add_on_tags': {'key': 'properties.tags', 'type': '{str}'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PremierAddOn, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.product = kwargs.get('product', None) + self.vendor = kwargs.get('vendor', None) + self.premier_add_on_name = kwargs.get('premier_add_on_name', None) + self.premier_add_on_location = kwargs.get('premier_add_on_location', None) + self.premier_add_on_tags = kwargs.get('premier_add_on_tags', None) + self.marketplace_publisher = kwargs.get('marketplace_publisher', None) + self.marketplace_offer = kwargs.get('marketplace_offer', None) + + +class ProcessInfo(ProxyOnlyResource): + """Process 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param process_info_id: ARM Identifier for deployment. + :type process_info_id: int + :param process_info_name: Deployment name. + :type process_info_name: str + :param href: HRef URI. + :type href: str + :param mini_dump: Minidump URI. + :type mini_dump: str + :param is_profile_running: Is profile running? + :type is_profile_running: bool + :param is_iis_profile_running: Is the IIS Profile running? + :type is_iis_profile_running: bool + :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). + :type iis_profile_timeout_in_seconds: float + :param parent: Parent process. + :type parent: str + :param children: Child process list. + :type children: list[str] + :param threads: Thread list. + :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] + :param open_file_handles: List of open files. + :type open_file_handles: list[str] + :param modules: List of modules. + :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] + :param file_name: File name of this process. + :type file_name: str + :param command_line: Command line. + :type command_line: str + :param user_name: User name. + :type user_name: str + :param handle_count: Handle count. + :type handle_count: int + :param module_count: Module count. + :type module_count: int + :param thread_count: Thread count. + :type thread_count: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total CPU time. + :type total_processor_time: str + :param user_processor_time: User CPU time. + :type user_processor_time: str + :param privileged_processor_time: Privileged CPU time. + :type privileged_processor_time: str + :param working_set64: Working set. + :type working_set64: long + :param peak_working_set64: Peak working set. + :type peak_working_set64: long + :param private_memory_size64: Private memory size. + :type private_memory_size64: long + :param virtual_memory_size64: Virtual memory size. + :type virtual_memory_size64: long + :param peak_virtual_memory_size64: Peak virtual memory usage. + :type peak_virtual_memory_size64: long + :param paged_system_memory_size64: Paged system memory. + :type paged_system_memory_size64: long + :param nonpaged_system_memory_size64: Non-paged system memory. + :type nonpaged_system_memory_size64: long + :param paged_memory_size64: Paged memory. + :type paged_memory_size64: long + :param peak_paged_memory_size64: Peak paged memory. + :type peak_paged_memory_size64: long + :param time_stamp: Time stamp. + :type time_stamp: datetime + :param environment_variables: List of environment variables. + :type environment_variables: dict[str, str] + :param is_scm_site: Is this the SCM site? + :type is_scm_site: bool + :param is_web_job: Is this a Web Job? + :type is_web_job: bool + :param description: Description of process. + :type description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'process_info_id': {'key': 'properties.id', 'type': 'int'}, + 'process_info_name': {'key': 'properties.name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'mini_dump': {'key': 'properties.miniDump', 'type': 'str'}, + 'is_profile_running': {'key': 'properties.isProfileRunning', 'type': 'bool'}, + 'is_iis_profile_running': {'key': 'properties.isIisProfileRunning', 'type': 'bool'}, + 'iis_profile_timeout_in_seconds': {'key': 'properties.iisProfileTimeoutInSeconds', 'type': 'float'}, + 'parent': {'key': 'properties.parent', 'type': 'str'}, + 'children': {'key': 'properties.children', 'type': '[str]'}, + 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, + 'open_file_handles': {'key': 'properties.openFileHandles', 'type': '[str]'}, + 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'command_line': {'key': 'properties.commandLine', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'handle_count': {'key': 'properties.handleCount', 'type': 'int'}, + 'module_count': {'key': 'properties.moduleCount', 'type': 'int'}, + 'thread_count': {'key': 'properties.threadCount', 'type': 'int'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.totalProcessorTime', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.userProcessorTime', 'type': 'str'}, + 'privileged_processor_time': {'key': 'properties.privilegedProcessorTime', 'type': 'str'}, + 'working_set64': {'key': 'properties.workingSet64', 'type': 'long'}, + 'peak_working_set64': {'key': 'properties.peakWorkingSet64', 'type': 'long'}, + 'private_memory_size64': {'key': 'properties.privateMemorySize64', 'type': 'long'}, + 'virtual_memory_size64': {'key': 'properties.virtualMemorySize64', 'type': 'long'}, + 'peak_virtual_memory_size64': {'key': 'properties.peakVirtualMemorySize64', 'type': 'long'}, + 'paged_system_memory_size64': {'key': 'properties.pagedSystemMemorySize64', 'type': 'long'}, + 'nonpaged_system_memory_size64': {'key': 'properties.nonpagedSystemMemorySize64', 'type': 'long'}, + 'paged_memory_size64': {'key': 'properties.pagedMemorySize64', 'type': 'long'}, + 'peak_paged_memory_size64': {'key': 'properties.peakPagedMemorySize64', 'type': 'long'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + 'environment_variables': {'key': 'properties.environmentVariables', 'type': '{str}'}, + 'is_scm_site': {'key': 'properties.isScmSite', 'type': 'bool'}, + 'is_web_job': {'key': 'properties.isWebJob', 'type': 'bool'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessInfo, self).__init__(**kwargs) + self.process_info_id = kwargs.get('process_info_id', None) + self.process_info_name = kwargs.get('process_info_name', None) + self.href = kwargs.get('href', None) + self.mini_dump = kwargs.get('mini_dump', None) + self.is_profile_running = kwargs.get('is_profile_running', None) + self.is_iis_profile_running = kwargs.get('is_iis_profile_running', None) + self.iis_profile_timeout_in_seconds = kwargs.get('iis_profile_timeout_in_seconds', None) + self.parent = kwargs.get('parent', None) + self.children = kwargs.get('children', None) + self.threads = kwargs.get('threads', None) + self.open_file_handles = kwargs.get('open_file_handles', None) + self.modules = kwargs.get('modules', None) + self.file_name = kwargs.get('file_name', None) + self.command_line = kwargs.get('command_line', None) + self.user_name = kwargs.get('user_name', None) + self.handle_count = kwargs.get('handle_count', None) + self.module_count = kwargs.get('module_count', None) + self.thread_count = kwargs.get('thread_count', None) + self.start_time = kwargs.get('start_time', None) + self.total_processor_time = kwargs.get('total_processor_time', None) + self.user_processor_time = kwargs.get('user_processor_time', None) + self.privileged_processor_time = kwargs.get('privileged_processor_time', None) + self.working_set64 = kwargs.get('working_set64', None) + self.peak_working_set64 = kwargs.get('peak_working_set64', None) + self.private_memory_size64 = kwargs.get('private_memory_size64', None) + self.virtual_memory_size64 = kwargs.get('virtual_memory_size64', None) + self.peak_virtual_memory_size64 = kwargs.get('peak_virtual_memory_size64', None) + self.paged_system_memory_size64 = kwargs.get('paged_system_memory_size64', None) + self.nonpaged_system_memory_size64 = kwargs.get('nonpaged_system_memory_size64', None) + self.paged_memory_size64 = kwargs.get('paged_memory_size64', None) + self.peak_paged_memory_size64 = kwargs.get('peak_paged_memory_size64', None) + self.time_stamp = kwargs.get('time_stamp', None) + self.environment_variables = kwargs.get('environment_variables', None) + self.is_scm_site = kwargs.get('is_scm_site', None) + self.is_web_job = kwargs.get('is_web_job', None) + self.description = kwargs.get('description', None) + + +class ProcessModuleInfo(ProxyOnlyResource): + """Process Module 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param base_address: Base address. Used as module identifier in ARM + resource URI. + :type base_address: str + :param file_name: File name. + :type file_name: str + :param href: HRef URI. + :type href: str + :param file_path: File path. + :type file_path: str + :param module_memory_size: Module memory size. + :type module_memory_size: int + :param file_version: File version. + :type file_version: str + :param file_description: File description. + :type file_description: str + :param product: Product name. + :type product: str + :param product_version: Product version. + :type product_version: str + :param is_debug: Is debug? + :type is_debug: bool + :param language: Module language (locale). + :type language: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'base_address': {'key': 'properties.baseAddress', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'module_memory_size': {'key': 'properties.moduleMemorySize', 'type': 'int'}, + 'file_version': {'key': 'properties.fileVersion', 'type': 'str'}, + 'file_description': {'key': 'properties.fileDescription', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'product_version': {'key': 'properties.productVersion', 'type': 'str'}, + 'is_debug': {'key': 'properties.isDebug', 'type': 'bool'}, + 'language': {'key': 'properties.language', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessModuleInfo, self).__init__(**kwargs) + self.base_address = kwargs.get('base_address', None) + self.file_name = kwargs.get('file_name', None) + self.href = kwargs.get('href', None) + self.file_path = kwargs.get('file_path', None) + self.module_memory_size = kwargs.get('module_memory_size', None) + self.file_version = kwargs.get('file_version', None) + self.file_description = kwargs.get('file_description', None) + self.product = kwargs.get('product', None) + self.product_version = kwargs.get('product_version', None) + self.is_debug = kwargs.get('is_debug', None) + self.language = kwargs.get('language', None) + + +class ProcessThreadInfo(ProxyOnlyResource): + """Process Thread 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param process_thread_info_id: ARM Identifier for deployment. + :type process_thread_info_id: int + :param href: HRef URI. + :type href: str + :param process: Process URI. + :type process: str + :param start_address: Start address. + :type start_address: str + :param current_priority: Current thread priority. + :type current_priority: int + :param priority_level: Thread priority level. + :type priority_level: str + :param base_priority: Base priority. + :type base_priority: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total processor time. + :type total_processor_time: str + :param user_processor_time: User processor time. + :type user_processor_time: str + :param priviledged_processor_time: Privileged processor time. + :type priviledged_processor_time: str + :param state: Thread state. + :type state: str + :param wait_reason: Wait reason. + :type wait_reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'process_thread_info_id': {'key': 'properties.id', 'type': 'int'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'process': {'key': 'properties.process', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'current_priority': {'key': 'properties.currentPriority', 'type': 'int'}, + 'priority_level': {'key': 'properties.priorityLevel', 'type': 'str'}, + 'base_priority': {'key': 'properties.basePriority', 'type': 'int'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.totalProcessorTime', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.userProcessorTime', 'type': 'str'}, + 'priviledged_processor_time': {'key': 'properties.priviledgedProcessorTime', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'wait_reason': {'key': 'properties.waitReason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessThreadInfo, self).__init__(**kwargs) + self.process_thread_info_id = kwargs.get('process_thread_info_id', None) + self.href = kwargs.get('href', None) + self.process = kwargs.get('process', None) + self.start_address = kwargs.get('start_address', None) + self.current_priority = kwargs.get('current_priority', None) + self.priority_level = kwargs.get('priority_level', None) + self.base_priority = kwargs.get('base_priority', None) + self.start_time = kwargs.get('start_time', None) + self.total_processor_time = kwargs.get('total_processor_time', None) + self.user_processor_time = kwargs.get('user_processor_time', None) + self.priviledged_processor_time = kwargs.get('priviledged_processor_time', None) + self.state = kwargs.get('state', None) + self.wait_reason = kwargs.get('wait_reason', None) + + +class PublicCertificate(ProxyOnlyResource): + """Public certificate object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param blob: Public Certificate byte array + :type blob: bytearray + :param public_certificate_location: Public Certificate Location. Possible + values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' + :type public_certificate_location: str or + ~azure.mgmt.web.models.PublicCertificateLocation + :ivar thumbprint: Certificate Thumbprint + :vartype thumbprint: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'thumbprint': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, + 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicCertificate, self).__init__(**kwargs) + self.blob = kwargs.get('blob', None) + self.public_certificate_location = kwargs.get('public_certificate_location', None) + self.thumbprint = None + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class RelayServiceConnectionEntity(ProxyOnlyResource): + """Hybrid Connection for an App Service app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param entity_name: + :type entity_name: str + :param entity_connection_string: + :type entity_connection_string: str + :param resource_type: + :type resource_type: str + :param resource_connection_string: + :type resource_connection_string: str + :param hostname: + :type hostname: str + :param port: + :type port: int + :param biztalk_uri: + :type biztalk_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, + 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RelayServiceConnectionEntity, self).__init__(**kwargs) + self.entity_name = kwargs.get('entity_name', None) + self.entity_connection_string = kwargs.get('entity_connection_string', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_connection_string = kwargs.get('resource_connection_string', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.biztalk_uri = kwargs.get('biztalk_uri', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.value = kwargs.get('value', None) + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class RestoreRequest(ProxyOnlyResource): + """Description of a restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param blob_name: Name of a blob which contains the backup. + :type blob_name: str + :param overwrite: Required. true if the restore operation can + overwrite target app; otherwise, false. true is + needed if trying to restore over an existing app. + :type overwrite: bool + :param site_name: Name of an app. + :type site_name: str + :param databases: Collection of databases which should be restored. This + list has to match the list of databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param ignore_conflicting_host_names: Changes a logic when restoring an + app with custom domains. true to remove custom domains + automatically. If false, custom domains are added to + the app's object when it is being restored, but that might fail due to + conflicts during the operation. Default value: False . + :type ignore_conflicting_host_names: bool + :param ignore_databases: Ignore the databases and only restore the site + content. Default value: False . + :type ignore_databases: bool + :param app_service_plan: Specify app service plan that will own restored + site. + :type app_service_plan: str + :param operation_type: Operation type. Possible values include: 'Default', + 'Clone', 'Relocation', 'Snapshot'. Default value: "Default" . + :type operation_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + :param adjust_connection_strings: true if + SiteConfig.ConnectionStrings should be set in new app; otherwise, + false. + :type adjust_connection_strings: bool + :param hosting_environment: App Service Environment name, if needed (only + when restoring an app to an App Service Environment). + :type hosting_environment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, + 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, + 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, + 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RestoreRequest, self).__init__(**kwargs) + self.storage_account_url = kwargs.get('storage_account_url', None) + self.blob_name = kwargs.get('blob_name', None) + self.overwrite = kwargs.get('overwrite', None) + self.site_name = kwargs.get('site_name', None) + self.databases = kwargs.get('databases', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', False) + self.ignore_databases = kwargs.get('ignore_databases', False) + self.app_service_plan = kwargs.get('app_service_plan', None) + self.operation_type = kwargs.get('operation_type', "Default") + self.adjust_connection_strings = kwargs.get('adjust_connection_strings', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + + +class RestoreResponse(ProxyOnlyResource): + """Response for an app restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the restore process, it will return + an operation ID identifying that particular restore operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RestoreResponse, self).__init__(**kwargs) + self.operation_id = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.identity = kwargs.get('identity', None) + + +class SiteAuthSettings(ProxyOnlyResource): + """Configuration settings for the Azure App Service Authentication / + Authorization feature. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: true if the Authentication / Authorization + feature is enabled for the current app; otherwise, false. + :type enabled: bool + :param runtime_version: The RuntimeVersion of the Authentication / + Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in + the Authentication / Authorization module. + :type runtime_version: str + :param unauthenticated_client_action: The action to take when an + unauthenticated client attempts to access the app. Possible values + include: 'RedirectToLoginPage', 'AllowAnonymous' + :type unauthenticated_client_action: str or + ~azure.mgmt.web.models.UnauthenticatedClientAction + :param token_store_enabled: true to durably store + platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + :type token_store_enabled: bool + :param allowed_external_redirect_urls: External URLs that can be + redirected to as part of logging in or logging out of the app. Note that + the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store + application backends. + Note that URLs within the current domain are always implicitly allowed. + :type allowed_external_redirect_urls: list[str] + :param default_provider: The default authentication provider to use when + multiple providers are configured. + This setting is only needed if multiple providers are configured and the + unauthenticated client + action is set to "RedirectToLoginPage". Possible values include: + 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + 'Twitter' + :type default_provider: str or + ~azure.mgmt.web.models.BuiltInAuthenticationProvider + :param token_refresh_extension_hours: The number of hours after session + token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + :type token_refresh_extension_hours: float + :param client_id: The Client ID of this relying party application, known + as the client_id. + This setting is required for enabling OpenID Connection authentication + with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_id: str + :param client_secret: The Client Secret of this relying party application + (in Azure Active Directory, this is also referred to as the Key). + This setting is optional. If no client secret is configured, the OpenID + Connect implicit auth flow is used to authenticate end users. + Otherwise, the OpenID Connect Authorization Code Flow is used to + authenticate end users. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_secret: str + :param issuer: The OpenID Connect Issuer URI that represents the entity + which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory + tenant, e.g. https://sts.windows.net/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: + http://openid.net/specs/openid-connect-discovery-1_0.html + :type issuer: str + :param allowed_audiences: Allowed audience values to consider when + validating JWTs issued by + Azure Active Directory. Note that the ClientID value is + always considered an + allowed audience, regardless of this setting. + :type allowed_audiences: list[str] + :param additional_login_params: Login parameters to send to the OpenID + Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + :type additional_login_params: list[str] + :param google_client_id: The OpenID Connect Client ID for the Google web + application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_id: str + :param google_client_secret: The client secret associated with the Google + web application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_secret: str + :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as + part of Google Sign-In authentication. + This setting is optional. If not specified, "openid", "profile", and + "email" are used as default scopes. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_oauth_scopes: list[str] + :param facebook_app_id: The App ID of the Facebook app used for login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_id: str + :param facebook_app_secret: The App Secret of the Facebook app used for + Facebook Login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_secret: str + :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested + as part of Facebook Login authentication. + This setting is optional. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_oauth_scopes: list[str] + :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter + application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_key: str + :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the + Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_secret: str + :param microsoft_account_client_id: The OAuth 2.0 client ID that was + created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_id: str + :param microsoft_account_client_secret: The OAuth 2.0 client secret that + was created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_secret: str + :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be + requested as part of Microsoft Account authentication. + This setting is optional. If not specified, "wl.basic" is used as the + default scope. + Microsoft Account Scopes and permissions documentation: + https://msdn.microsoft.com/en-us/library/dn631845.aspx + :type microsoft_account_oauth_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, + 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, + 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, + 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, + 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, + 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, + 'client_id': {'key': 'properties.clientId', 'type': 'str'}, + 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, + 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, + 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, + 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, + 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, + 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, + 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, + 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, + 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, + 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, + 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, + 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, + 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SiteAuthSettings, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.unauthenticated_client_action = kwargs.get('unauthenticated_client_action', None) + self.token_store_enabled = kwargs.get('token_store_enabled', None) + self.allowed_external_redirect_urls = kwargs.get('allowed_external_redirect_urls', None) + self.default_provider = kwargs.get('default_provider', None) + self.token_refresh_extension_hours = kwargs.get('token_refresh_extension_hours', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.issuer = kwargs.get('issuer', None) + self.allowed_audiences = kwargs.get('allowed_audiences', None) + self.additional_login_params = kwargs.get('additional_login_params', None) + self.google_client_id = kwargs.get('google_client_id', None) + self.google_client_secret = kwargs.get('google_client_secret', None) + self.google_oauth_scopes = kwargs.get('google_oauth_scopes', None) + self.facebook_app_id = kwargs.get('facebook_app_id', None) + self.facebook_app_secret = kwargs.get('facebook_app_secret', None) + self.facebook_oauth_scopes = kwargs.get('facebook_oauth_scopes', None) + self.twitter_consumer_key = kwargs.get('twitter_consumer_key', None) + self.twitter_consumer_secret = kwargs.get('twitter_consumer_secret', None) + self.microsoft_account_client_id = kwargs.get('microsoft_account_client_id', None) + self.microsoft_account_client_secret = kwargs.get('microsoft_account_client_secret', None) + self.microsoft_account_oauth_scopes = kwargs.get('microsoft_account_oauth_scopes', None) + + +class SiteCloneability(Model): + """Represents whether or not an app is cloneable. + + :param result: Name of app. Possible values include: 'Cloneable', + 'PartiallyCloneable', 'NotCloneable' + :type result: str or ~azure.mgmt.web.models.CloneAbilityResult + :param blocking_features: List of features enabled on app that prevent + cloning. + :type blocking_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param unsupported_features: List of features enabled on app that are + non-blocking but cannot be cloned. The app can still be cloned + but the features in this list will not be set up on cloned app. + :type unsupported_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param blocking_characteristics: List of blocking application + characteristics. + :type blocking_characteristics: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + """ + + _attribute_map = { + 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, + 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, + } + + def __init__(self, **kwargs): + super(SiteCloneability, self).__init__(**kwargs) + self.result = kwargs.get('result', None) + self.blocking_features = kwargs.get('blocking_features', None) + self.unsupported_features = kwargs.get('unsupported_features', None) + self.blocking_characteristics = kwargs.get('blocking_characteristics', None) + + +class SiteCloneabilityCriterion(Model): + """An app cloneability criterion. + + :param name: Name of criterion. + :type name: str + :param description: Description of criterion. + :type description: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteCloneabilityCriterion, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteConfigResource(ProxyOnlyResource): + """Web app configuration ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, + 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, + 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, + 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, + 'push': {'key': 'properties.push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfigResource, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteConfigurationSnapshotInfo(ProxyOnlyResource): + """A snapshot of a web app configuration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: datetime + :ivar site_configuration_snapshot_info_id: The id of the snapshot + :vartype site_configuration_snapshot_info_id: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + 'site_configuration_snapshot_info_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'iso-8601'}, + 'site_configuration_snapshot_info_id': {'key': 'properties.id', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SiteConfigurationSnapshotInfo, self).__init__(**kwargs) + self.time = None + self.site_configuration_snapshot_info_id = None + + +class SiteExtensionInfo(ProxyOnlyResource): + """Site Extension 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_extension_info_id: Site extension ID. + :type site_extension_info_id: str + :param title: Site extension title. + :type title: str + :param site_extension_info_type: Site extension type. Possible values + include: 'Gallery', 'WebRoot' + :type site_extension_info_type: str or + ~azure.mgmt.web.models.SiteExtensionType + :param summary: Summary description. + :type summary: str + :param description: Detailed description. + :type description: str + :param version: Version information. + :type version: str + :param extension_url: Extension URL. + :type extension_url: str + :param project_url: Project URL. + :type project_url: str + :param icon_url: Icon URL. + :type icon_url: str + :param license_url: License URL. + :type license_url: str + :param feed_url: Feed URL. + :type feed_url: str + :param authors: List of authors. + :type authors: list[str] + :param installation_args: Installer command line parameters. + :type installation_args: str + :param published_date_time: Published timestamp. + :type published_date_time: datetime + :param download_count: Count of downloads. + :type download_count: int + :param local_is_latest_version: true if the local version is + the latest version; false otherwise. + :type local_is_latest_version: bool + :param local_path: Local path. + :type local_path: str + :param installed_date_time: Installed timestamp. + :type installed_date_time: datetime + :param provisioning_state: Provisioning state. + :type provisioning_state: str + :param comment: Site Extension comment. + :type comment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_extension_info_id': {'key': 'properties.id', 'type': 'str'}, + 'title': {'key': 'properties.title', 'type': 'str'}, + 'site_extension_info_type': {'key': 'properties.type', 'type': 'SiteExtensionType'}, + 'summary': {'key': 'properties.summary', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'extension_url': {'key': 'properties.extensionUrl', 'type': 'str'}, + 'project_url': {'key': 'properties.projectUrl', 'type': 'str'}, + 'icon_url': {'key': 'properties.iconUrl', 'type': 'str'}, + 'license_url': {'key': 'properties.licenseUrl', 'type': 'str'}, + 'feed_url': {'key': 'properties.feedUrl', 'type': 'str'}, + 'authors': {'key': 'properties.authors', 'type': '[str]'}, + 'installation_args': {'key': 'properties.installationArgs', 'type': 'str'}, + 'published_date_time': {'key': 'properties.publishedDateTime', 'type': 'iso-8601'}, + 'download_count': {'key': 'properties.downloadCount', 'type': 'int'}, + 'local_is_latest_version': {'key': 'properties.localIsLatestVersion', 'type': 'bool'}, + 'local_path': {'key': 'properties.localPath', 'type': 'str'}, + 'installed_date_time': {'key': 'properties.installedDateTime', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'comment': {'key': 'properties.comment', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteExtensionInfo, self).__init__(**kwargs) + self.site_extension_info_id = kwargs.get('site_extension_info_id', None) + self.title = kwargs.get('title', None) + self.site_extension_info_type = kwargs.get('site_extension_info_type', None) + self.summary = kwargs.get('summary', None) + self.description = kwargs.get('description', None) + self.version = kwargs.get('version', None) + self.extension_url = kwargs.get('extension_url', None) + self.project_url = kwargs.get('project_url', None) + self.icon_url = kwargs.get('icon_url', None) + self.license_url = kwargs.get('license_url', None) + self.feed_url = kwargs.get('feed_url', None) + self.authors = kwargs.get('authors', None) + self.installation_args = kwargs.get('installation_args', None) + self.published_date_time = kwargs.get('published_date_time', None) + self.download_count = kwargs.get('download_count', None) + self.local_is_latest_version = kwargs.get('local_is_latest_version', None) + self.local_path = kwargs.get('local_path', None) + self.installed_date_time = kwargs.get('installed_date_time', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.comment = kwargs.get('comment', None) + + +class SiteInstance(ProxyOnlyResource): + """Instance of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar site_instance_name: Name of instance. + :vartype site_instance_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'site_instance_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_instance_name': {'key': 'properties.name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteInstance, self).__init__(**kwargs) + self.site_instance_name = None + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteLogsConfig(ProxyOnlyResource): + """Configuration of App Service site logs. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param application_logs: Application logs configuration. + :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig + :param http_logs: HTTP logs configuration. + :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig + :param failed_requests_tracing: Failed requests tracing configuration. + :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig + :param detailed_error_messages: Detailed error messages configuration. + :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, + 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, + 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, + 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, + } + + def __init__(self, **kwargs): + super(SiteLogsConfig, self).__init__(**kwargs) + self.application_logs = kwargs.get('application_logs', None) + self.http_logs = kwargs.get('http_logs', None) + self.failed_requests_tracing = kwargs.get('failed_requests_tracing', None) + self.detailed_error_messages = kwargs.get('detailed_error_messages', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SitePatchResource(ProxyOnlyResource): + """ARM resource for a site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SitePatchResource, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + + +class SitePhpErrorLogFlag(ProxyOnlyResource): + """Used for getting PHP error logging flag. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param local_log_errors: Local log_errors setting. + :type local_log_errors: str + :param master_log_errors: Master log_errors setting. + :type master_log_errors: str + :param local_log_errors_max_length: Local log_errors_max_len setting. + :type local_log_errors_max_length: str + :param master_log_errors_max_length: Master log_errors_max_len setting. + :type master_log_errors_max_length: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, + 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, + 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, + 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SitePhpErrorLogFlag, self).__init__(**kwargs) + self.local_log_errors = kwargs.get('local_log_errors', None) + self.master_log_errors = kwargs.get('master_log_errors', None) + self.local_log_errors_max_length = kwargs.get('local_log_errors_max_length', None) + self.master_log_errors_max_length = kwargs.get('master_log_errors_max_length', None) + + +class SiteSourceControl(ProxyOnlyResource): + """Source control configuration for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param repo_url: Repository or source control URL. + :type repo_url: str + :param branch: Name of branch to use for deployment. + :type branch: str + :param is_manual_integration: true to limit to manual + integration; false to enable continuous integration (which + configures webhooks into online repos like GitHub). + :type is_manual_integration: bool + :param deployment_rollback_enabled: true to enable deployment + rollback; otherwise, false. + :type deployment_rollback_enabled: bool + :param is_mercurial: true for a Mercurial repository; + false for a Git repository. + :type is_mercurial: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, + 'branch': {'key': 'properties.branch', 'type': 'str'}, + 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, + 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, + 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SiteSourceControl, self).__init__(**kwargs) + self.repo_url = kwargs.get('repo_url', None) + self.branch = kwargs.get('branch', None) + self.is_manual_integration = kwargs.get('is_manual_integration', None) + self.deployment_rollback_enabled = kwargs.get('deployment_rollback_enabled', None) + self.is_mercurial = kwargs.get('is_mercurial', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SlotConfigNamesResource(ProxyOnlyResource): + """Slot Config names azure 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string_names: List of connection string names. + :type connection_string_names: list[str] + :param app_setting_names: List of application settings names. + :type app_setting_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, + 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SlotConfigNamesResource, self).__init__(**kwargs) + self.connection_string_names = kwargs.get('connection_string_names', None) + self.app_setting_names = kwargs.get('app_setting_names', None) + + +class SlotDifference(ProxyOnlyResource): + """A setting difference between two deployment slots of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar slot_difference_type: Type of the difference: Information, Warning + or Error. + :vartype slot_difference_type: str + :ivar setting_type: The type of the setting: General, AppSetting or + ConnectionString. + :vartype setting_type: str + :ivar diff_rule: Rule that describes how to process the setting difference + during a slot swap. + :vartype diff_rule: str + :ivar setting_name: Name of the setting. + :vartype setting_name: str + :ivar value_in_current_slot: Value of the setting in the current slot. + :vartype value_in_current_slot: str + :ivar value_in_target_slot: Value of the setting in the target slot. + :vartype value_in_target_slot: str + :ivar description: Description of the setting difference. + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'slot_difference_type': {'readonly': True}, + 'setting_type': {'readonly': True}, + 'diff_rule': {'readonly': True}, + 'setting_name': {'readonly': True}, + 'value_in_current_slot': {'readonly': True}, + 'value_in_target_slot': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'slot_difference_type': {'key': 'properties.type', 'type': 'str'}, + 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, + 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, + 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, + 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, + 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotDifference, self).__init__(**kwargs) + self.slot_difference_type = None + self.setting_type = None + self.diff_rule = None + self.setting_name = None + self.value_in_current_slot = None + self.value_in_target_slot = None + self.description = None + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Snapshot, self).__init__(**kwargs) + self.time = None + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_target = kwargs.get('recovery_target', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class StorageMigrationOptions(ProxyOnlyResource): + """Options for app content migration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param azurefiles_connection_string: Required. AzureFiles connection + string. + :type azurefiles_connection_string: str + :param azurefiles_share: Required. AzureFiles share. + :type azurefiles_share: str + :param switch_site_after_migration: trueif the app should be + switched over; otherwise, false. Default value: False . + :type switch_site_after_migration: bool + :param block_write_access_to_site: true if the app should be + read only during copy operation; otherwise, false. Default + value: False . + :type block_write_access_to_site: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'azurefiles_connection_string': {'required': True}, + 'azurefiles_share': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, + 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, + 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, + 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StorageMigrationOptions, self).__init__(**kwargs) + self.azurefiles_connection_string = kwargs.get('azurefiles_connection_string', None) + self.azurefiles_share = kwargs.get('azurefiles_share', None) + self.switch_site_after_migration = kwargs.get('switch_site_after_migration', False) + self.block_write_access_to_site = kwargs.get('block_write_access_to_site', False) + + +class StorageMigrationResponse(ProxyOnlyResource): + """Response for a migration of app content request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the migration process, it will + return an operation ID identifying that particular migration operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageMigrationResponse, self).__init__(**kwargs) + self.operation_id = None + + +class StringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Settings. + :type properties: 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'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(StringDictionary, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class TriggeredJobHistory(ProxyOnlyResource): + """Triggered Web Job History. List of Triggered Web Job Run Information + elements. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param triggered_job_runs: List of triggered web job runs. + :type triggered_job_runs: list[~azure.mgmt.web.models.TriggeredJobRun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'triggered_job_runs': {'key': 'properties.triggeredJobRuns', 'type': '[TriggeredJobRun]'}, + } + + def __init__(self, **kwargs): + super(TriggeredJobHistory, self).__init__(**kwargs) + self.triggered_job_runs = kwargs.get('triggered_job_runs', None) + + +class TriggeredJobRun(ProxyOnlyResource): + """Triggered Web Job Run 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param triggered_job_run_id: Job ID. + :type triggered_job_run_id: str + :ivar triggered_job_run_name: Job name. + :vartype triggered_job_run_name: str + :param status: Job status. Possible values include: 'Success', 'Failed', + 'Error' + :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param duration: Job duration. + :type duration: str + :param output_url: Output URL. + :type output_url: str + :param error_url: Error URL. + :type error_url: str + :param url: Job URL. + :type url: str + :param job_name: Job name. + :type job_name: str + :param trigger: Job trigger. + :type trigger: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'triggered_job_run_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'triggered_job_run_id': {'key': 'properties.id', 'type': 'str'}, + 'triggered_job_run_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'duration': {'key': 'properties.duration', 'type': 'str'}, + 'output_url': {'key': 'properties.outputUrl', 'type': 'str'}, + 'error_url': {'key': 'properties.errorUrl', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'job_name': {'key': 'properties.jobName', 'type': 'str'}, + 'trigger': {'key': 'properties.trigger', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TriggeredJobRun, self).__init__(**kwargs) + self.triggered_job_run_id = kwargs.get('triggered_job_run_id', None) + self.triggered_job_run_name = None + self.status = kwargs.get('status', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.duration = kwargs.get('duration', None) + self.output_url = kwargs.get('output_url', None) + self.error_url = kwargs.get('error_url', None) + self.url = kwargs.get('url', None) + self.job_name = kwargs.get('job_name', None) + self.trigger = kwargs.get('trigger', None) + + +class TriggeredWebJob(ProxyOnlyResource): + """Triggered Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param latest_run: Latest job run information. + :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun + :param history_url: History URL. + :type history_url: str + :param scheduler_logs_url: Scheduler Logs URL. + :type scheduler_logs_url: str + :ivar triggered_web_job_name: Job name. Used as job identifier in ARM + resource URI. + :vartype triggered_web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'triggered_web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'latest_run': {'key': 'properties.latestRun', 'type': 'TriggeredJobRun'}, + 'history_url': {'key': 'properties.historyUrl', 'type': 'str'}, + 'scheduler_logs_url': {'key': 'properties.schedulerLogsUrl', 'type': 'str'}, + 'triggered_web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(TriggeredWebJob, self).__init__(**kwargs) + self.latest_run = kwargs.get('latest_run', None) + self.history_url = kwargs.get('history_url', None) + self.scheduler_logs_url = kwargs.get('scheduler_logs_url', None) + self.triggered_web_job_name = None + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.job_type = kwargs.get('job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.vnet_route_name = kwargs.get('vnet_route_name', None) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) + + +class WebJob(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar web_job_name: Job name. Used as job identifier in ARM resource URI. + :vartype web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(WebJob, self).__init__(**kwargs) + self.web_job_name = None + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.job_type = kwargs.get('job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models_py3.py new file mode 100644 index 000000000000..24256b617a01 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_models_py3.py @@ -0,0 +1,6168 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class ApplicationLogsConfig(Model): + """Application logs configuration. + + :param file_system: Application logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig + :param azure_table_storage: Application logs to azure table storage + configuration. + :type azure_table_storage: + ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig + :param azure_blob_storage: Application logs to blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, + 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, + } + + def __init__(self, *, file_system=None, azure_table_storage=None, azure_blob_storage=None, **kwargs) -> None: + super(ApplicationLogsConfig, self).__init__(**kwargs) + self.file_system = file_system + self.azure_table_storage = azure_table_storage + self.azure_blob_storage = azure_blob_storage + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, app_service_plan_name: str, kind: str=None, tags=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_plan_name = app_service_plan_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class AzureBlobStorageApplicationLogsConfig(Model): + """Application logs azure blob storage configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + } + + def __init__(self, *, level=None, sas_url: str=None, retention_in_days: int=None, **kwargs) -> None: + super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + self.sas_url = sas_url + self.retention_in_days = retention_in_days + + +class AzureBlobStorageHttpLogsConfig(Model): + """Http logs to azure blob storage configuration. + + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, sas_url: str=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: + super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) + self.sas_url = sas_url + self.retention_in_days = retention_in_days + self.enabled = enabled + + +class AzureTableStorageApplicationLogsConfig(Model): + """Application logs to Azure table storage configuration. + + All required parameters must be populated in order to send to Azure. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: Required. SAS URL to an Azure table with add/query/delete + permissions. + :type sas_url: str + """ + + _validation = { + 'sas_url': {'required': True}, + } + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str, level=None, **kwargs) -> None: + super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + self.sas_url = sas_url + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class BackupItem(ProxyOnlyResource): + """Backup description. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar backup_id: Id of the backup. + :vartype backup_id: int + :ivar storage_account_url: SAS URL for the storage account container which + contains this backup. + :vartype storage_account_url: str + :ivar blob_name: Name of the blob which contains data for this backup. + :vartype blob_name: str + :ivar backup_item_name: Name of this backup. + :vartype backup_item_name: str + :ivar status: Backup status. Possible values include: 'InProgress', + 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', + 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' + :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus + :ivar size_in_bytes: Size of the backup in bytes. + :vartype size_in_bytes: long + :ivar created: Timestamp of the backup creation. + :vartype created: datetime + :ivar log: Details regarding this backup. Might contain an error message. + :vartype log: str + :ivar databases: List of databases included in the backup. + :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :ivar scheduled: True if this backup has been created due to a schedule + being triggered. + :vartype scheduled: bool + :ivar last_restore_time_stamp: Timestamp of a last restore operation which + used this backup. + :vartype last_restore_time_stamp: datetime + :ivar finished_time_stamp: Timestamp when this backup finished. + :vartype finished_time_stamp: datetime + :ivar correlation_id: Unique correlation identifier. Please use this along + with the timestamp while communicating with Azure support. + :vartype correlation_id: str + :ivar website_size_in_bytes: Size of the original web app which has been + backed up. + :vartype website_size_in_bytes: long + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_id': {'readonly': True}, + 'storage_account_url': {'readonly': True}, + 'blob_name': {'readonly': True}, + 'backup_item_name': {'readonly': True}, + 'status': {'readonly': True}, + 'size_in_bytes': {'readonly': True}, + 'created': {'readonly': True}, + 'log': {'readonly': True}, + 'databases': {'readonly': True}, + 'scheduled': {'readonly': True}, + 'last_restore_time_stamp': {'readonly': True}, + 'finished_time_stamp': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'website_size_in_bytes': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_id': {'key': 'properties.id', 'type': 'int'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, + 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, + 'created': {'key': 'properties.created', 'type': 'iso-8601'}, + 'log': {'key': 'properties.log', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, + 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, + 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(BackupItem, self).__init__(kind=kind, **kwargs) + self.backup_id = None + self.storage_account_url = None + self.blob_name = None + self.backup_item_name = None + self.status = None + self.size_in_bytes = None + self.created = None + self.log = None + self.databases = None + self.scheduled = None + self.last_restore_time_stamp = None + self.finished_time_stamp = None + self.correlation_id = None + self.website_size_in_bytes = None + + +class BackupRequest(ProxyOnlyResource): + """Description of a backup which will be performed. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param backup_request_name: Required. Name of the backup. + :type backup_request_name: str + :param enabled: True if the backup schedule is enabled (must be included + in that case), false if the backup schedule should be disabled. + :type enabled: bool + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param backup_schedule: Schedule for the backup if it is executed + periodically. + :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule + :param databases: Databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param backup_request_type: Type of the backup. Possible values include: + 'Default', 'Clone', 'Relocation', 'Snapshot' + :type backup_request_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_request_name': {'required': True}, + 'storage_account_url': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_request_name': {'key': 'properties.name', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'backup_request_type': {'key': 'properties.type', 'type': 'BackupRestoreOperationType'}, + } + + def __init__(self, *, backup_request_name: str, storage_account_url: str, kind: str=None, enabled: bool=None, backup_schedule=None, databases=None, backup_request_type=None, **kwargs) -> None: + super(BackupRequest, self).__init__(kind=kind, **kwargs) + self.backup_request_name = backup_request_name + self.enabled = enabled + self.storage_account_url = storage_account_url + self.backup_schedule = backup_schedule + self.databases = databases + self.backup_request_type = backup_request_type + + +class BackupSchedule(Model): + """Description of a backup schedule. Describes how often should be the backup + performed and what should be the retention policy. + + 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 frequency_interval: Required. How often the backup should be + executed (e.g. for weekly backup, this should be set to 7 and + FrequencyUnit should be set to Day). Default value: 7 . + :type frequency_interval: int + :param frequency_unit: Required. The unit of time for how often the backup + should be executed (e.g. for weekly backup, this should be set to Day and + FrequencyInterval should be set to 7). Possible values include: 'Day', + 'Hour'. Default value: "Day" . + :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit + :param keep_at_least_one_backup: Required. True if the retention policy + should always keep at least one backup in the storage account, regardless + how old it is; false otherwise. Default value: True . + :type keep_at_least_one_backup: bool + :param retention_period_in_days: Required. After how many days backups + should be deleted. Default value: 30 . + :type retention_period_in_days: int + :param start_time: When the schedule should start working. + :type start_time: datetime + :ivar last_execution_time: Last time when this schedule was triggered. + :vartype last_execution_time: datetime + """ + + _validation = { + 'frequency_interval': {'required': True}, + 'frequency_unit': {'required': True}, + 'keep_at_least_one_backup': {'required': True}, + 'retention_period_in_days': {'required': True}, + 'last_execution_time': {'readonly': True}, + } + + _attribute_map = { + 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, + 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, + 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, + 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, frequency_interval: int=7, frequency_unit="Day", keep_at_least_one_backup: bool=True, retention_period_in_days: int=30, start_time=None, **kwargs) -> None: + super(BackupSchedule, self).__init__(**kwargs) + self.frequency_interval = frequency_interval + self.frequency_unit = frequency_unit + self.keep_at_least_one_backup = keep_at_least_one_backup + self.retention_period_in_days = retention_period_in_days + self.start_time = start_time + self.last_execution_time = None + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, ignore_quotas: bool=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + self.ignore_quotas = ignore_quotas + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnectionStringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, + } + + def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: + super(ConnectionStringDictionary, self).__init__(kind=kind, **kwargs) + self.properties = properties + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class ConnStringValueTypePair(Model): + """Database connection string value to type pair. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Value of pair. + :type value: str + :param type: Required. Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _validation = { + 'value': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, value: str, type, **kwargs) -> None: + super(ConnStringValueTypePair, self).__init__(**kwargs) + self.value = value + self.type = type + + +class ContinuousWebJob(ProxyOnlyResource): + """Continuous Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Job status. Possible values include: 'Initializing', + 'Starting', 'Running', 'PendingRestart', 'Stopped' + :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus + :param detailed_status: Detailed status. + :type detailed_status: str + :param log_url: Log URL. + :type log_url: str + :ivar continuous_web_job_name: Job name. Used as job identifier in ARM + resource URI. + :vartype continuous_web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'continuous_web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, + 'detailed_status': {'key': 'properties.detailedStatus', 'type': 'str'}, + 'log_url': {'key': 'properties.logUrl', 'type': 'str'}, + 'continuous_web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, status=None, detailed_status: str=None, log_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(ContinuousWebJob, self).__init__(kind=kind, **kwargs) + self.status = status + self.detailed_status = detailed_status + self.log_url = log_url + self.continuous_web_job_name = None + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.job_type = job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + + +class CsmPublishingProfileOptions(Model): + """Publishing options for requested profile. + + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + } + + def __init__(self, *, format=None, **kwargs) -> None: + super(CsmPublishingProfileOptions, self).__init__(**kwargs) + self.format = format + + +class CsmSlotEntity(Model): + """Deployment slot parameters. + + All required parameters must be populated in order to send to Azure. + + :param target_slot: Required. Destination deployment slot during swap + operation. + :type target_slot: str + :param preserve_vnet: Required. true to preserve Virtual + Network to the slot during swap; otherwise, false. + :type preserve_vnet: bool + """ + + _validation = { + 'target_slot': {'required': True}, + 'preserve_vnet': {'required': True}, + } + + _attribute_map = { + 'target_slot': {'key': 'targetSlot', 'type': 'str'}, + 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, + } + + def __init__(self, *, target_slot: str, preserve_vnet: bool, **kwargs) -> None: + super(CsmSlotEntity, self).__init__(**kwargs) + self.target_slot = target_slot + self.preserve_vnet = preserve_vnet + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, *, unit: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None: + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = unit + self.next_reset_time = next_reset_time + self.current_value = current_value + self.limit = limit + self.name = name + + +class CustomHostnameAnalysisResult(ProxyOnlyResource): + """Custom domain analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar is_hostname_already_verified: true if hostname is + already verified; otherwise, false. + :vartype is_hostname_already_verified: bool + :ivar custom_domain_verification_test: DNS verification test result. + Possible values include: 'Passed', 'Failed', 'Skipped' + :vartype custom_domain_verification_test: str or + ~azure.mgmt.web.models.DnsVerificationTestResult + :ivar custom_domain_verification_failure_info: Raw failure information if + DNS verification fails. + :vartype custom_domain_verification_failure_info: + ~azure.mgmt.web.models.ErrorEntity + :ivar has_conflict_on_scale_unit: true if there is a conflict + on a scale unit; otherwise, false. + :vartype has_conflict_on_scale_unit: bool + :ivar has_conflict_across_subscription: true if there is a + conflict across subscriptions; otherwise, false. + :vartype has_conflict_across_subscription: bool + :ivar conflicting_app_resource_id: Name of the conflicting app on scale + unit if it's within the same subscription. + :vartype conflicting_app_resource_id: str + :param c_name_records: CName records controller can see for this hostname. + :type c_name_records: list[str] + :param txt_records: TXT records controller can see for this hostname. + :type txt_records: list[str] + :param a_records: A records controller can see for this hostname. + :type a_records: list[str] + :param alternate_cname_records: Alternate CName records controller can see + for this hostname. + :type alternate_cname_records: list[str] + :param alternate_txt_records: Alternate TXT records controller can see for + this hostname. + :type alternate_txt_records: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_hostname_already_verified': {'readonly': True}, + 'custom_domain_verification_test': {'readonly': True}, + 'custom_domain_verification_failure_info': {'readonly': True}, + 'has_conflict_on_scale_unit': {'readonly': True}, + 'has_conflict_across_subscription': {'readonly': True}, + 'conflicting_app_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, + 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, + 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, + 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, + 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, + 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, + 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, + 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, + 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, + 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, + 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, c_name_records=None, txt_records=None, a_records=None, alternate_cname_records=None, alternate_txt_records=None, **kwargs) -> None: + super(CustomHostnameAnalysisResult, self).__init__(kind=kind, **kwargs) + self.is_hostname_already_verified = None + self.custom_domain_verification_test = None + self.custom_domain_verification_failure_info = None + self.has_conflict_on_scale_unit = None + self.has_conflict_across_subscription = None + self.conflicting_app_resource_id = None + self.c_name_records = c_name_records + self.txt_records = txt_records + self.a_records = a_records + self.alternate_cname_records = alternate_cname_records + self.alternate_txt_records = alternate_txt_records + + +class DatabaseBackupSetting(Model): + """Database backup settings. + + All required parameters must be populated in order to send to Azure. + + :param database_type: Required. Database type (e.g. SqlAzure / MySql). + Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' + :type database_type: str or ~azure.mgmt.web.models.DatabaseType + :param name: + :type name: str + :param connection_string_name: Contains a connection string name that is + linked to the SiteConfig.ConnectionStrings. + This is used during restore with overwrite connection strings options. + :type connection_string_name: str + :param connection_string: Contains a connection string to a database which + is being backed up or restored. If the restore should happen to a new + database, the database name inside is the new one. + :type connection_string: str + """ + + _validation = { + 'database_type': {'required': True}, + } + + _attribute_map = { + 'database_type': {'key': 'databaseType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + } + + def __init__(self, *, database_type, name: str=None, connection_string_name: str=None, connection_string: str=None, **kwargs) -> None: + super(DatabaseBackupSetting, self).__init__(**kwargs) + self.database_type = database_type + self.name = name + self.connection_string_name = connection_string_name + self.connection_string = connection_string + + +class Deployment(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param deployment_id: Identifier for deployment. + :type deployment_id: str + :param status: Deployment status. + :type status: int + :param message: Details about deployment status. + :type message: str + :param author: Who authored the deployment. + :type author: str + :param deployer: Who performed the deployment. + :type deployer: str + :param author_email: Author email. + :type author_email: str + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param active: True if deployment is currently active, false if completed + and null if not started. + :type active: bool + :param details: Details on deployment. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployment_id': {'key': 'properties.id', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'int'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'author_email': {'key': 'properties.authorEmail', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'active': {'key': 'properties.active', 'type': 'bool'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, deployment_id: str=None, status: int=None, message: str=None, author: str=None, deployer: str=None, author_email: str=None, start_time=None, end_time=None, active: bool=None, details: str=None, **kwargs) -> None: + super(Deployment, self).__init__(kind=kind, **kwargs) + self.deployment_id = deployment_id + self.status = status + self.message = message + self.author = author + self.deployer = deployer + self.author_email = author_email + self.start_time = start_time + self.end_time = end_time + self.active = active + self.details = details + + +class EnabledConfig(Model): + """Enabled configuration. + + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, enabled: bool=None, **kwargs) -> None: + super(EnabledConfig, self).__init__(**kwargs) + self.enabled = enabled + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, extended_code: str=None, message_template: str=None, parameters=None, inner_errors=None, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = extended_code + self.message_template = message_template + self.parameters = parameters + self.inner_errors = inner_errors + self.code = code + self.message = message + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class FileSystemApplicationLogsConfig(Model): + """Application logs to file system configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error'. Default value: "Off" . + :type level: str or ~azure.mgmt.web.models.LogLevel + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + } + + def __init__(self, *, level="Off", **kwargs) -> None: + super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + + +class FileSystemHttpLogsConfig(Model): + """Http logs to file system configuration. + + :param retention_in_mb: Maximum size in megabytes that http log files can + use. + When reached old log files will be removed to make space for new ones. + Value can range between 25 and 100. + :type retention_in_mb: int + :param retention_in_days: Retention in days. + Remove files older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _validation = { + 'retention_in_mb': {'maximum': 100, 'minimum': 25}, + } + + _attribute_map = { + 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, retention_in_mb: int=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: + super(FileSystemHttpLogsConfig, self).__init__(**kwargs) + self.retention_in_mb = retention_in_mb + self.retention_in_days = retention_in_days + self.enabled = enabled + + +class FunctionEnvelope(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar function_envelope_name: Function name. + :vartype function_envelope_name: str + :ivar function_app_id: Function App ID. + :vartype function_app_id: str + :param script_root_path_href: Script root path URI. + :type script_root_path_href: str + :param script_href: Script URI. + :type script_href: str + :param config_href: Config URI. + :type config_href: str + :param secrets_file_href: Secrets file URI. + :type secrets_file_href: str + :param href: Function URI. + :type href: str + :param config: Config information. + :type config: object + :param files: File list. + :type files: dict[str, str] + :param test_data: Test data used when testing via the Azure Portal. + :type test_data: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'function_envelope_name': {'readonly': True}, + 'function_app_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'function_envelope_name': {'key': 'properties.name', 'type': 'str'}, + 'function_app_id': {'key': 'properties.functionAppId', 'type': 'str'}, + 'script_root_path_href': {'key': 'properties.scriptRootPathHref', 'type': 'str'}, + 'script_href': {'key': 'properties.scriptHref', 'type': 'str'}, + 'config_href': {'key': 'properties.configHref', 'type': 'str'}, + 'secrets_file_href': {'key': 'properties.secretsFileHref', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'config': {'key': 'properties.config', 'type': 'object'}, + 'files': {'key': 'properties.files', 'type': '{str}'}, + 'test_data': {'key': 'properties.testData', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, script_root_path_href: str=None, script_href: str=None, config_href: str=None, secrets_file_href: str=None, href: str=None, config=None, files=None, test_data: str=None, **kwargs) -> None: + super(FunctionEnvelope, self).__init__(kind=kind, **kwargs) + self.function_envelope_name = None + self.function_app_id = None + self.script_root_path_href = script_root_path_href + self.script_href = script_href + self.config_href = config_href + self.secrets_file_href = secrets_file_href + self.href = href + self.config = config + self.files = files + self.test_data = test_data + + +class FunctionSecrets(ProxyOnlyResource): + """Function secrets. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key: Secret key. + :type key: str + :param trigger_url: Trigger URL. + :type trigger_url: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key': {'key': 'properties.key', 'type': 'str'}, + 'trigger_url': {'key': 'properties.triggerUrl', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, key: str=None, trigger_url: str=None, **kwargs) -> None: + super(FunctionSecrets, self).__init__(kind=kind, **kwargs) + self.key = key + self.trigger_url = trigger_url + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostNameBinding(ProxyOnlyResource): + """A hostname binding object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_name: App Service app name. + :type site_name: str + :param domain_id: Fully qualified ARM domain resource URI. + :type domain_id: str + :param azure_resource_name: Azure resource name. + :type azure_resource_name: str + :param azure_resource_type: Azure resource type. Possible values include: + 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Custom DNS record type. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Hostname type. Possible values include: 'Verified', + 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param thumbprint: SSL certificate thumbprint + :type thumbprint: str + :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :vartype virtual_ip: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_ip': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, + 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, + 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, site_name: str=None, domain_id: str=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, ssl_state=None, thumbprint: str=None, **kwargs) -> None: + super(HostNameBinding, self).__init__(kind=kind, **kwargs) + self.site_name = site_name + self.domain_id = domain_id + self.azure_resource_name = azure_resource_name + self.azure_resource_type = azure_resource_type + self.custom_host_name_dns_record_type = custom_host_name_dns_record_type + self.host_name_type = host_name_type + self.ssl_state = ssl_state + self.thumbprint = thumbprint + self.virtual_ip = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HttpLogsConfig(Model): + """Http logs configuration. + + :param file_system: Http logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig + :param azure_blob_storage: Http logs to azure blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, + } + + def __init__(self, *, file_system=None, azure_blob_storage=None, **kwargs) -> None: + super(HttpLogsConfig, self).__init__(**kwargs) + self.file_system = file_system + self.azure_blob_storage = azure_blob_storage + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str, subnet_mask: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(LocalizableString, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + + +class MigrateMySqlRequest(ProxyOnlyResource): + """MySQL migration request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string: Required. Connection string to the remote MySQL + database. + :type connection_string: str + :param migration_type: Required. The type of migration operation to be + done. Possible values include: 'LocalToRemote', 'RemoteToLocal' + :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'connection_string': {'required': True}, + 'migration_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, + } + + def __init__(self, *, connection_string: str, migration_type, kind: str=None, **kwargs) -> None: + super(MigrateMySqlRequest, self).__init__(kind=kind, **kwargs) + self.connection_string = connection_string + self.migration_type = migration_type + + +class MigrateMySqlStatus(ProxyOnlyResource): + """MySQL migration status. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar migration_operation_status: Status of the migration task. Possible + values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :vartype migration_operation_status: str or + ~azure.mgmt.web.models.OperationStatus + :ivar operation_id: Operation ID for the migration task. + :vartype operation_id: str + :ivar local_my_sql_enabled: True if the web app has in app MySql enabled + :vartype local_my_sql_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'migration_operation_status': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'local_my_sql_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MigrateMySqlStatus, self).__init__(kind=kind, **kwargs) + self.migration_operation_status = None + self.operation_id = None + self.local_my_sql_enabled = None + + +class MSDeploy(ProxyOnlyResource): + """MSDeploy ARM PUT 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param package_uri: Package URI + :type package_uri: str + :param connection_string: SQL Connection String + :type connection_string: str + :param db_type: Database Type + :type db_type: str + :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must + not be set if SetParameters is used. + :type set_parameters_xml_file_uri: str + :param set_parameters: MSDeploy Parameters. Must not be set if + SetParametersXmlFileUri is used. + :type set_parameters: dict[str, str] + :param skip_app_data: Controls whether the MSDeploy operation skips the + App_Data directory. + If set to true, the existing App_Data directory on the + destination + will not be deleted, and any App_Data directory in the source will be + ignored. + Setting is false by default. + :type skip_app_data: bool + :param app_offline: Sets the AppOffline rule while the MSDeploy operation + executes. + Setting is false by default. + :type app_offline: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'db_type': {'key': 'properties.dbType', 'type': 'str'}, + 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, + 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, + 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, + 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, package_uri: str=None, connection_string: str=None, db_type: str=None, set_parameters_xml_file_uri: str=None, set_parameters=None, skip_app_data: bool=None, app_offline: bool=None, **kwargs) -> None: + super(MSDeploy, self).__init__(kind=kind, **kwargs) + self.package_uri = package_uri + self.connection_string = connection_string + self.db_type = db_type + self.set_parameters_xml_file_uri = set_parameters_xml_file_uri + self.set_parameters = set_parameters + self.skip_app_data = skip_app_data + self.app_offline = app_offline + + +class MSDeployLog(ProxyOnlyResource): + """MSDeploy log. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar entries: List of log entry messages + :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'entries': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MSDeployLog, self).__init__(kind=kind, **kwargs) + self.entries = None + + +class MSDeployLogEntry(Model): + """MSDeploy log entry. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: Timestamp of log entry + :vartype time: datetime + :ivar type: Log entry type. Possible values include: 'Message', 'Warning', + 'Error' + :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType + :ivar message: Log entry message + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'type': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(MSDeployLogEntry, self).__init__(**kwargs) + self.time = None + self.type = None + self.message = None + + +class MSDeployStatus(ProxyOnlyResource): + """MSDeploy ARM response. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deployer: Username of deployer + :vartype deployer: str + :ivar provisioning_state: Provisioning state. Possible values include: + 'accepted', 'running', 'succeeded', 'failed', 'canceled' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.MSDeployProvisioningState + :ivar start_time: Start time of deploy operation + :vartype start_time: datetime + :ivar end_time: End time of deploy operation + :vartype end_time: datetime + :ivar complete: Whether the deployment operation has completed + :vartype complete: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deployer': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'complete': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'complete': {'key': 'properties.complete', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MSDeployStatus, self).__init__(kind=kind, **kwargs) + self.deployer = None + self.provisioning_state = None + self.start_time = None + self.end_time = None + self.complete = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class NetworkFeatures(ProxyOnlyResource): + """Full view of network features for an app (presently VNET integration and + Hybrid Connections). + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar virtual_network_name: The Virtual Network name. + :vartype virtual_network_name: str + :ivar virtual_network_connection: The Virtual Network summary view. + :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo + :ivar hybrid_connections: The Hybrid Connections summary view. + :vartype hybrid_connections: + list[~azure.mgmt.web.models.RelayServiceConnectionEntity] + :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. + :vartype hybrid_connections_v2: + list[~azure.mgmt.web.models.HybridConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_name': {'readonly': True}, + 'virtual_network_connection': {'readonly': True}, + 'hybrid_connections': {'readonly': True}, + 'hybrid_connections_v2': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, + 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, + 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, + 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(NetworkFeatures, self).__init__(kind=kind, **kwargs) + self.virtual_network_name = None + self.virtual_network_connection = None + self.hybrid_connections = None + self.hybrid_connections_v2 = None + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, status=None, errors=None, created_time=None, modified_time=None, expiration_time=None, geo_master_operation_id: str=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.errors = errors + self.created_time = created_time + self.modified_time = modified_time + self.expiration_time = expiration_time + self.geo_master_operation_id = geo_master_operation_id + + +class PerfMonResponse(Model): + """Performance monitor API response. + + :param code: The response code. + :type code: str + :param message: The message. + :type message: str + :param data: The performance monitor counters. + :type data: ~azure.mgmt.web.models.PerfMonSet + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'PerfMonSet'}, + } + + def __init__(self, *, code: str=None, message: str=None, data=None, **kwargs) -> None: + super(PerfMonResponse, self).__init__(**kwargs) + self.code = code + self.message = message + self.data = data + + +class PerfMonSample(Model): + """Performance monitor sample in a set. + + :param time: Point in time for which counter was measured. + :type time: datetime + :param instance_name: Name of the server on which the measurement is made. + :type instance_name: str + :param value: Value of counter at a certain time. + :type value: float + :param core_count: Core Count of worker. Not a data member + :type core_count: int + """ + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'instance_name': {'key': 'instanceName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + } + + def __init__(self, *, time=None, instance_name: str=None, value: float=None, core_count: int=None, **kwargs) -> None: + super(PerfMonSample, self).__init__(**kwargs) + self.time = time + self.instance_name = instance_name + self.value = value + self.core_count = core_count + + +class PerfMonSet(Model): + """Metric information. + + :param name: Unique key name of the counter. + :type name: str + :param start_time: Start time of the period. + :type start_time: datetime + :param end_time: End time of the period. + :type end_time: datetime + :param time_grain: Presented time grain. + :type time_grain: str + :param values: Collection of workers that are active during this time. + :type values: list[~azure.mgmt.web.models.PerfMonSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[PerfMonSample]'}, + } + + def __init__(self, *, name: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: + super(PerfMonSet, self).__init__(**kwargs) + self.name = name + self.start_time = start_time + self.end_time = end_time + self.time_grain = time_grain + self.values = values + + +class PremierAddOn(Resource): + """Premier add-on. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param premier_add_on_name: Premier add on Name. + :type premier_add_on_name: str + :param premier_add_on_location: Premier add on Location. + :type premier_add_on_location: str + :param premier_add_on_tags: Premier add on Tags. + :type premier_add_on_tags: dict[str, str] + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'premier_add_on_name': {'key': 'properties.name', 'type': 'str'}, + 'premier_add_on_location': {'key': 'properties.location', 'type': 'str'}, + 'premier_add_on_tags': {'key': 'properties.tags', 'type': '{str}'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, sku: str=None, product: str=None, vendor: str=None, premier_add_on_name: str=None, premier_add_on_location: str=None, premier_add_on_tags=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: + super(PremierAddOn, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.sku = sku + self.product = product + self.vendor = vendor + self.premier_add_on_name = premier_add_on_name + self.premier_add_on_location = premier_add_on_location + self.premier_add_on_tags = premier_add_on_tags + self.marketplace_publisher = marketplace_publisher + self.marketplace_offer = marketplace_offer + + +class ProcessInfo(ProxyOnlyResource): + """Process 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param process_info_id: ARM Identifier for deployment. + :type process_info_id: int + :param process_info_name: Deployment name. + :type process_info_name: str + :param href: HRef URI. + :type href: str + :param mini_dump: Minidump URI. + :type mini_dump: str + :param is_profile_running: Is profile running? + :type is_profile_running: bool + :param is_iis_profile_running: Is the IIS Profile running? + :type is_iis_profile_running: bool + :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). + :type iis_profile_timeout_in_seconds: float + :param parent: Parent process. + :type parent: str + :param children: Child process list. + :type children: list[str] + :param threads: Thread list. + :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] + :param open_file_handles: List of open files. + :type open_file_handles: list[str] + :param modules: List of modules. + :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] + :param file_name: File name of this process. + :type file_name: str + :param command_line: Command line. + :type command_line: str + :param user_name: User name. + :type user_name: str + :param handle_count: Handle count. + :type handle_count: int + :param module_count: Module count. + :type module_count: int + :param thread_count: Thread count. + :type thread_count: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total CPU time. + :type total_processor_time: str + :param user_processor_time: User CPU time. + :type user_processor_time: str + :param privileged_processor_time: Privileged CPU time. + :type privileged_processor_time: str + :param working_set64: Working set. + :type working_set64: long + :param peak_working_set64: Peak working set. + :type peak_working_set64: long + :param private_memory_size64: Private memory size. + :type private_memory_size64: long + :param virtual_memory_size64: Virtual memory size. + :type virtual_memory_size64: long + :param peak_virtual_memory_size64: Peak virtual memory usage. + :type peak_virtual_memory_size64: long + :param paged_system_memory_size64: Paged system memory. + :type paged_system_memory_size64: long + :param nonpaged_system_memory_size64: Non-paged system memory. + :type nonpaged_system_memory_size64: long + :param paged_memory_size64: Paged memory. + :type paged_memory_size64: long + :param peak_paged_memory_size64: Peak paged memory. + :type peak_paged_memory_size64: long + :param time_stamp: Time stamp. + :type time_stamp: datetime + :param environment_variables: List of environment variables. + :type environment_variables: dict[str, str] + :param is_scm_site: Is this the SCM site? + :type is_scm_site: bool + :param is_web_job: Is this a Web Job? + :type is_web_job: bool + :param description: Description of process. + :type description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'process_info_id': {'key': 'properties.id', 'type': 'int'}, + 'process_info_name': {'key': 'properties.name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'mini_dump': {'key': 'properties.miniDump', 'type': 'str'}, + 'is_profile_running': {'key': 'properties.isProfileRunning', 'type': 'bool'}, + 'is_iis_profile_running': {'key': 'properties.isIisProfileRunning', 'type': 'bool'}, + 'iis_profile_timeout_in_seconds': {'key': 'properties.iisProfileTimeoutInSeconds', 'type': 'float'}, + 'parent': {'key': 'properties.parent', 'type': 'str'}, + 'children': {'key': 'properties.children', 'type': '[str]'}, + 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, + 'open_file_handles': {'key': 'properties.openFileHandles', 'type': '[str]'}, + 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'command_line': {'key': 'properties.commandLine', 'type': 'str'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'handle_count': {'key': 'properties.handleCount', 'type': 'int'}, + 'module_count': {'key': 'properties.moduleCount', 'type': 'int'}, + 'thread_count': {'key': 'properties.threadCount', 'type': 'int'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.totalProcessorTime', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.userProcessorTime', 'type': 'str'}, + 'privileged_processor_time': {'key': 'properties.privilegedProcessorTime', 'type': 'str'}, + 'working_set64': {'key': 'properties.workingSet64', 'type': 'long'}, + 'peak_working_set64': {'key': 'properties.peakWorkingSet64', 'type': 'long'}, + 'private_memory_size64': {'key': 'properties.privateMemorySize64', 'type': 'long'}, + 'virtual_memory_size64': {'key': 'properties.virtualMemorySize64', 'type': 'long'}, + 'peak_virtual_memory_size64': {'key': 'properties.peakVirtualMemorySize64', 'type': 'long'}, + 'paged_system_memory_size64': {'key': 'properties.pagedSystemMemorySize64', 'type': 'long'}, + 'nonpaged_system_memory_size64': {'key': 'properties.nonpagedSystemMemorySize64', 'type': 'long'}, + 'paged_memory_size64': {'key': 'properties.pagedMemorySize64', 'type': 'long'}, + 'peak_paged_memory_size64': {'key': 'properties.peakPagedMemorySize64', 'type': 'long'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + 'environment_variables': {'key': 'properties.environmentVariables', 'type': '{str}'}, + 'is_scm_site': {'key': 'properties.isScmSite', 'type': 'bool'}, + 'is_web_job': {'key': 'properties.isWebJob', 'type': 'bool'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, process_info_id: int=None, process_info_name: str=None, href: str=None, mini_dump: str=None, is_profile_running: bool=None, is_iis_profile_running: bool=None, iis_profile_timeout_in_seconds: float=None, parent: str=None, children=None, threads=None, open_file_handles=None, modules=None, file_name: str=None, command_line: str=None, user_name: str=None, handle_count: int=None, module_count: int=None, thread_count: int=None, start_time=None, total_processor_time: str=None, user_processor_time: str=None, privileged_processor_time: str=None, working_set64: int=None, peak_working_set64: int=None, private_memory_size64: int=None, virtual_memory_size64: int=None, peak_virtual_memory_size64: int=None, paged_system_memory_size64: int=None, nonpaged_system_memory_size64: int=None, paged_memory_size64: int=None, peak_paged_memory_size64: int=None, time_stamp=None, environment_variables=None, is_scm_site: bool=None, is_web_job: bool=None, description: str=None, **kwargs) -> None: + super(ProcessInfo, self).__init__(kind=kind, **kwargs) + self.process_info_id = process_info_id + self.process_info_name = process_info_name + self.href = href + self.mini_dump = mini_dump + self.is_profile_running = is_profile_running + self.is_iis_profile_running = is_iis_profile_running + self.iis_profile_timeout_in_seconds = iis_profile_timeout_in_seconds + self.parent = parent + self.children = children + self.threads = threads + self.open_file_handles = open_file_handles + self.modules = modules + self.file_name = file_name + self.command_line = command_line + self.user_name = user_name + self.handle_count = handle_count + self.module_count = module_count + self.thread_count = thread_count + self.start_time = start_time + self.total_processor_time = total_processor_time + self.user_processor_time = user_processor_time + self.privileged_processor_time = privileged_processor_time + self.working_set64 = working_set64 + self.peak_working_set64 = peak_working_set64 + self.private_memory_size64 = private_memory_size64 + self.virtual_memory_size64 = virtual_memory_size64 + self.peak_virtual_memory_size64 = peak_virtual_memory_size64 + self.paged_system_memory_size64 = paged_system_memory_size64 + self.nonpaged_system_memory_size64 = nonpaged_system_memory_size64 + self.paged_memory_size64 = paged_memory_size64 + self.peak_paged_memory_size64 = peak_paged_memory_size64 + self.time_stamp = time_stamp + self.environment_variables = environment_variables + self.is_scm_site = is_scm_site + self.is_web_job = is_web_job + self.description = description + + +class ProcessModuleInfo(ProxyOnlyResource): + """Process Module 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param base_address: Base address. Used as module identifier in ARM + resource URI. + :type base_address: str + :param file_name: File name. + :type file_name: str + :param href: HRef URI. + :type href: str + :param file_path: File path. + :type file_path: str + :param module_memory_size: Module memory size. + :type module_memory_size: int + :param file_version: File version. + :type file_version: str + :param file_description: File description. + :type file_description: str + :param product: Product name. + :type product: str + :param product_version: Product version. + :type product_version: str + :param is_debug: Is debug? + :type is_debug: bool + :param language: Module language (locale). + :type language: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'base_address': {'key': 'properties.baseAddress', 'type': 'str'}, + 'file_name': {'key': 'properties.fileName', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'module_memory_size': {'key': 'properties.moduleMemorySize', 'type': 'int'}, + 'file_version': {'key': 'properties.fileVersion', 'type': 'str'}, + 'file_description': {'key': 'properties.fileDescription', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'product_version': {'key': 'properties.productVersion', 'type': 'str'}, + 'is_debug': {'key': 'properties.isDebug', 'type': 'bool'}, + 'language': {'key': 'properties.language', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, base_address: str=None, file_name: str=None, href: str=None, file_path: str=None, module_memory_size: int=None, file_version: str=None, file_description: str=None, product: str=None, product_version: str=None, is_debug: bool=None, language: str=None, **kwargs) -> None: + super(ProcessModuleInfo, self).__init__(kind=kind, **kwargs) + self.base_address = base_address + self.file_name = file_name + self.href = href + self.file_path = file_path + self.module_memory_size = module_memory_size + self.file_version = file_version + self.file_description = file_description + self.product = product + self.product_version = product_version + self.is_debug = is_debug + self.language = language + + +class ProcessThreadInfo(ProxyOnlyResource): + """Process Thread 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param process_thread_info_id: ARM Identifier for deployment. + :type process_thread_info_id: int + :param href: HRef URI. + :type href: str + :param process: Process URI. + :type process: str + :param start_address: Start address. + :type start_address: str + :param current_priority: Current thread priority. + :type current_priority: int + :param priority_level: Thread priority level. + :type priority_level: str + :param base_priority: Base priority. + :type base_priority: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total processor time. + :type total_processor_time: str + :param user_processor_time: User processor time. + :type user_processor_time: str + :param priviledged_processor_time: Privileged processor time. + :type priviledged_processor_time: str + :param state: Thread state. + :type state: str + :param wait_reason: Wait reason. + :type wait_reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'process_thread_info_id': {'key': 'properties.id', 'type': 'int'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'process': {'key': 'properties.process', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'current_priority': {'key': 'properties.currentPriority', 'type': 'int'}, + 'priority_level': {'key': 'properties.priorityLevel', 'type': 'str'}, + 'base_priority': {'key': 'properties.basePriority', 'type': 'int'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.totalProcessorTime', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.userProcessorTime', 'type': 'str'}, + 'priviledged_processor_time': {'key': 'properties.priviledgedProcessorTime', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'wait_reason': {'key': 'properties.waitReason', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, process_thread_info_id: int=None, href: str=None, process: str=None, start_address: str=None, current_priority: int=None, priority_level: str=None, base_priority: int=None, start_time=None, total_processor_time: str=None, user_processor_time: str=None, priviledged_processor_time: str=None, state: str=None, wait_reason: str=None, **kwargs) -> None: + super(ProcessThreadInfo, self).__init__(kind=kind, **kwargs) + self.process_thread_info_id = process_thread_info_id + self.href = href + self.process = process + self.start_address = start_address + self.current_priority = current_priority + self.priority_level = priority_level + self.base_priority = base_priority + self.start_time = start_time + self.total_processor_time = total_processor_time + self.user_processor_time = user_processor_time + self.priviledged_processor_time = priviledged_processor_time + self.state = state + self.wait_reason = wait_reason + + +class PublicCertificate(ProxyOnlyResource): + """Public certificate object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param blob: Public Certificate byte array + :type blob: bytearray + :param public_certificate_location: Public Certificate Location. Possible + values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' + :type public_certificate_location: str or + ~azure.mgmt.web.models.PublicCertificateLocation + :ivar thumbprint: Certificate Thumbprint + :vartype thumbprint: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'thumbprint': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, + 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, blob: bytearray=None, public_certificate_location=None, **kwargs) -> None: + super(PublicCertificate, self).__init__(kind=kind, **kwargs) + self.blob = blob + self.public_certificate_location = public_certificate_location + self.thumbprint = None + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class RelayServiceConnectionEntity(ProxyOnlyResource): + """Hybrid Connection for an App Service app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param entity_name: + :type entity_name: str + :param entity_connection_string: + :type entity_connection_string: str + :param resource_type: + :type resource_type: str + :param resource_connection_string: + :type resource_connection_string: str + :param hostname: + :type hostname: str + :param port: + :type port: int + :param biztalk_uri: + :type biztalk_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, + 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, entity_name: str=None, entity_connection_string: str=None, resource_type: str=None, resource_connection_string: str=None, hostname: str=None, port: int=None, biztalk_uri: str=None, **kwargs) -> None: + super(RelayServiceConnectionEntity, self).__init__(kind=kind, **kwargs) + self.entity_name = entity_name + self.entity_connection_string = entity_connection_string + self.resource_type = resource_type + self.resource_connection_string = resource_connection_string + self.hostname = hostname + self.port = port + self.biztalk_uri = biztalk_uri + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, key: str=None, value: str=None, **kwargs) -> None: + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = key + self.value = value + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class RestoreRequest(ProxyOnlyResource): + """Description of a restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param blob_name: Name of a blob which contains the backup. + :type blob_name: str + :param overwrite: Required. true if the restore operation can + overwrite target app; otherwise, false. true is + needed if trying to restore over an existing app. + :type overwrite: bool + :param site_name: Name of an app. + :type site_name: str + :param databases: Collection of databases which should be restored. This + list has to match the list of databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param ignore_conflicting_host_names: Changes a logic when restoring an + app with custom domains. true to remove custom domains + automatically. If false, custom domains are added to + the app's object when it is being restored, but that might fail due to + conflicts during the operation. Default value: False . + :type ignore_conflicting_host_names: bool + :param ignore_databases: Ignore the databases and only restore the site + content. Default value: False . + :type ignore_databases: bool + :param app_service_plan: Specify app service plan that will own restored + site. + :type app_service_plan: str + :param operation_type: Operation type. Possible values include: 'Default', + 'Clone', 'Relocation', 'Snapshot'. Default value: "Default" . + :type operation_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + :param adjust_connection_strings: true if + SiteConfig.ConnectionStrings should be set in new app; otherwise, + false. + :type adjust_connection_strings: bool + :param hosting_environment: App Service Environment name, if needed (only + when restoring an app to an App Service Environment). + :type hosting_environment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, + 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, + 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, + 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, *, storage_account_url: str, overwrite: bool, kind: str=None, blob_name: str=None, site_name: str=None, databases=None, ignore_conflicting_host_names: bool=False, ignore_databases: bool=False, app_service_plan: str=None, operation_type="Default", adjust_connection_strings: bool=None, hosting_environment: str=None, **kwargs) -> None: + super(RestoreRequest, self).__init__(kind=kind, **kwargs) + self.storage_account_url = storage_account_url + self.blob_name = blob_name + self.overwrite = overwrite + self.site_name = site_name + self.databases = databases + self.ignore_conflicting_host_names = ignore_conflicting_host_names + self.ignore_databases = ignore_databases + self.app_service_plan = app_service_plan + self.operation_type = operation_type + self.adjust_connection_strings = adjust_connection_strings + self.hosting_environment = hosting_environment + + +class RestoreResponse(ProxyOnlyResource): + """Response for an app restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the restore process, it will return + an operation ID identifying that particular restore operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(RestoreResponse, self).__init__(kind=kind, **kwargs) + self.operation_id = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.identity = identity + + +class SiteAuthSettings(ProxyOnlyResource): + """Configuration settings for the Azure App Service Authentication / + Authorization feature. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: true if the Authentication / Authorization + feature is enabled for the current app; otherwise, false. + :type enabled: bool + :param runtime_version: The RuntimeVersion of the Authentication / + Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in + the Authentication / Authorization module. + :type runtime_version: str + :param unauthenticated_client_action: The action to take when an + unauthenticated client attempts to access the app. Possible values + include: 'RedirectToLoginPage', 'AllowAnonymous' + :type unauthenticated_client_action: str or + ~azure.mgmt.web.models.UnauthenticatedClientAction + :param token_store_enabled: true to durably store + platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + :type token_store_enabled: bool + :param allowed_external_redirect_urls: External URLs that can be + redirected to as part of logging in or logging out of the app. Note that + the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store + application backends. + Note that URLs within the current domain are always implicitly allowed. + :type allowed_external_redirect_urls: list[str] + :param default_provider: The default authentication provider to use when + multiple providers are configured. + This setting is only needed if multiple providers are configured and the + unauthenticated client + action is set to "RedirectToLoginPage". Possible values include: + 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + 'Twitter' + :type default_provider: str or + ~azure.mgmt.web.models.BuiltInAuthenticationProvider + :param token_refresh_extension_hours: The number of hours after session + token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + :type token_refresh_extension_hours: float + :param client_id: The Client ID of this relying party application, known + as the client_id. + This setting is required for enabling OpenID Connection authentication + with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_id: str + :param client_secret: The Client Secret of this relying party application + (in Azure Active Directory, this is also referred to as the Key). + This setting is optional. If no client secret is configured, the OpenID + Connect implicit auth flow is used to authenticate end users. + Otherwise, the OpenID Connect Authorization Code Flow is used to + authenticate end users. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_secret: str + :param issuer: The OpenID Connect Issuer URI that represents the entity + which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory + tenant, e.g. https://sts.windows.net/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: + http://openid.net/specs/openid-connect-discovery-1_0.html + :type issuer: str + :param allowed_audiences: Allowed audience values to consider when + validating JWTs issued by + Azure Active Directory. Note that the ClientID value is + always considered an + allowed audience, regardless of this setting. + :type allowed_audiences: list[str] + :param additional_login_params: Login parameters to send to the OpenID + Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + :type additional_login_params: list[str] + :param google_client_id: The OpenID Connect Client ID for the Google web + application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_id: str + :param google_client_secret: The client secret associated with the Google + web application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_secret: str + :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as + part of Google Sign-In authentication. + This setting is optional. If not specified, "openid", "profile", and + "email" are used as default scopes. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_oauth_scopes: list[str] + :param facebook_app_id: The App ID of the Facebook app used for login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_id: str + :param facebook_app_secret: The App Secret of the Facebook app used for + Facebook Login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_secret: str + :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested + as part of Facebook Login authentication. + This setting is optional. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_oauth_scopes: list[str] + :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter + application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_key: str + :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the + Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_secret: str + :param microsoft_account_client_id: The OAuth 2.0 client ID that was + created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_id: str + :param microsoft_account_client_secret: The OAuth 2.0 client secret that + was created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_secret: str + :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be + requested as part of Microsoft Account authentication. + This setting is optional. If not specified, "wl.basic" is used as the + default scope. + Microsoft Account Scopes and permissions documentation: + https://msdn.microsoft.com/en-us/library/dn631845.aspx + :type microsoft_account_oauth_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, + 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, + 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, + 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, + 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, + 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, + 'client_id': {'key': 'properties.clientId', 'type': 'str'}, + 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, + 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, + 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, + 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, + 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, + 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, + 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, + 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, + 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, + 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, + 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, + 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, + 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, enabled: bool=None, runtime_version: str=None, unauthenticated_client_action=None, token_store_enabled: bool=None, allowed_external_redirect_urls=None, default_provider=None, token_refresh_extension_hours: float=None, client_id: str=None, client_secret: str=None, issuer: str=None, allowed_audiences=None, additional_login_params=None, google_client_id: str=None, google_client_secret: str=None, google_oauth_scopes=None, facebook_app_id: str=None, facebook_app_secret: str=None, facebook_oauth_scopes=None, twitter_consumer_key: str=None, twitter_consumer_secret: str=None, microsoft_account_client_id: str=None, microsoft_account_client_secret: str=None, microsoft_account_oauth_scopes=None, **kwargs) -> None: + super(SiteAuthSettings, self).__init__(kind=kind, **kwargs) + self.enabled = enabled + self.runtime_version = runtime_version + self.unauthenticated_client_action = unauthenticated_client_action + self.token_store_enabled = token_store_enabled + self.allowed_external_redirect_urls = allowed_external_redirect_urls + self.default_provider = default_provider + self.token_refresh_extension_hours = token_refresh_extension_hours + self.client_id = client_id + self.client_secret = client_secret + self.issuer = issuer + self.allowed_audiences = allowed_audiences + self.additional_login_params = additional_login_params + self.google_client_id = google_client_id + self.google_client_secret = google_client_secret + self.google_oauth_scopes = google_oauth_scopes + self.facebook_app_id = facebook_app_id + self.facebook_app_secret = facebook_app_secret + self.facebook_oauth_scopes = facebook_oauth_scopes + self.twitter_consumer_key = twitter_consumer_key + self.twitter_consumer_secret = twitter_consumer_secret + self.microsoft_account_client_id = microsoft_account_client_id + self.microsoft_account_client_secret = microsoft_account_client_secret + self.microsoft_account_oauth_scopes = microsoft_account_oauth_scopes + + +class SiteCloneability(Model): + """Represents whether or not an app is cloneable. + + :param result: Name of app. Possible values include: 'Cloneable', + 'PartiallyCloneable', 'NotCloneable' + :type result: str or ~azure.mgmt.web.models.CloneAbilityResult + :param blocking_features: List of features enabled on app that prevent + cloning. + :type blocking_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param unsupported_features: List of features enabled on app that are + non-blocking but cannot be cloned. The app can still be cloned + but the features in this list will not be set up on cloned app. + :type unsupported_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param blocking_characteristics: List of blocking application + characteristics. + :type blocking_characteristics: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + """ + + _attribute_map = { + 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, + 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, + } + + def __init__(self, *, result=None, blocking_features=None, unsupported_features=None, blocking_characteristics=None, **kwargs) -> None: + super(SiteCloneability, self).__init__(**kwargs) + self.result = result + self.blocking_features = blocking_features + self.unsupported_features = unsupported_features + self.blocking_characteristics = blocking_characteristics + + +class SiteCloneabilityCriterion(Model): + """An app cloneability criterion. + + :param name: Name of criterion. + :type name: str + :param description: Description of criterion. + :type description: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: + super(SiteCloneabilityCriterion, self).__init__(**kwargs) + self.name = name + self.description = description + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteConfigResource(ProxyOnlyResource): + """Web app configuration ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, + 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, + 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, + 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, + 'push': {'key': 'properties.push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfigResource, self).__init__(kind=kind, **kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteConfigurationSnapshotInfo(ProxyOnlyResource): + """A snapshot of a web app configuration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: datetime + :ivar site_configuration_snapshot_info_id: The id of the snapshot + :vartype site_configuration_snapshot_info_id: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + 'site_configuration_snapshot_info_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'iso-8601'}, + 'site_configuration_snapshot_info_id': {'key': 'properties.id', 'type': 'int'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SiteConfigurationSnapshotInfo, self).__init__(kind=kind, **kwargs) + self.time = None + self.site_configuration_snapshot_info_id = None + + +class SiteExtensionInfo(ProxyOnlyResource): + """Site Extension 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_extension_info_id: Site extension ID. + :type site_extension_info_id: str + :param title: Site extension title. + :type title: str + :param site_extension_info_type: Site extension type. Possible values + include: 'Gallery', 'WebRoot' + :type site_extension_info_type: str or + ~azure.mgmt.web.models.SiteExtensionType + :param summary: Summary description. + :type summary: str + :param description: Detailed description. + :type description: str + :param version: Version information. + :type version: str + :param extension_url: Extension URL. + :type extension_url: str + :param project_url: Project URL. + :type project_url: str + :param icon_url: Icon URL. + :type icon_url: str + :param license_url: License URL. + :type license_url: str + :param feed_url: Feed URL. + :type feed_url: str + :param authors: List of authors. + :type authors: list[str] + :param installation_args: Installer command line parameters. + :type installation_args: str + :param published_date_time: Published timestamp. + :type published_date_time: datetime + :param download_count: Count of downloads. + :type download_count: int + :param local_is_latest_version: true if the local version is + the latest version; false otherwise. + :type local_is_latest_version: bool + :param local_path: Local path. + :type local_path: str + :param installed_date_time: Installed timestamp. + :type installed_date_time: datetime + :param provisioning_state: Provisioning state. + :type provisioning_state: str + :param comment: Site Extension comment. + :type comment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_extension_info_id': {'key': 'properties.id', 'type': 'str'}, + 'title': {'key': 'properties.title', 'type': 'str'}, + 'site_extension_info_type': {'key': 'properties.type', 'type': 'SiteExtensionType'}, + 'summary': {'key': 'properties.summary', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'extension_url': {'key': 'properties.extensionUrl', 'type': 'str'}, + 'project_url': {'key': 'properties.projectUrl', 'type': 'str'}, + 'icon_url': {'key': 'properties.iconUrl', 'type': 'str'}, + 'license_url': {'key': 'properties.licenseUrl', 'type': 'str'}, + 'feed_url': {'key': 'properties.feedUrl', 'type': 'str'}, + 'authors': {'key': 'properties.authors', 'type': '[str]'}, + 'installation_args': {'key': 'properties.installationArgs', 'type': 'str'}, + 'published_date_time': {'key': 'properties.publishedDateTime', 'type': 'iso-8601'}, + 'download_count': {'key': 'properties.downloadCount', 'type': 'int'}, + 'local_is_latest_version': {'key': 'properties.localIsLatestVersion', 'type': 'bool'}, + 'local_path': {'key': 'properties.localPath', 'type': 'str'}, + 'installed_date_time': {'key': 'properties.installedDateTime', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'comment': {'key': 'properties.comment', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, site_extension_info_id: str=None, title: str=None, site_extension_info_type=None, summary: str=None, description: str=None, version: str=None, extension_url: str=None, project_url: str=None, icon_url: str=None, license_url: str=None, feed_url: str=None, authors=None, installation_args: str=None, published_date_time=None, download_count: int=None, local_is_latest_version: bool=None, local_path: str=None, installed_date_time=None, provisioning_state: str=None, comment: str=None, **kwargs) -> None: + super(SiteExtensionInfo, self).__init__(kind=kind, **kwargs) + self.site_extension_info_id = site_extension_info_id + self.title = title + self.site_extension_info_type = site_extension_info_type + self.summary = summary + self.description = description + self.version = version + self.extension_url = extension_url + self.project_url = project_url + self.icon_url = icon_url + self.license_url = license_url + self.feed_url = feed_url + self.authors = authors + self.installation_args = installation_args + self.published_date_time = published_date_time + self.download_count = download_count + self.local_is_latest_version = local_is_latest_version + self.local_path = local_path + self.installed_date_time = installed_date_time + self.provisioning_state = provisioning_state + self.comment = comment + + +class SiteInstance(ProxyOnlyResource): + """Instance of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar site_instance_name: Name of instance. + :vartype site_instance_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'site_instance_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_instance_name': {'key': 'properties.name', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SiteInstance, self).__init__(kind=kind, **kwargs) + self.site_instance_name = None + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteLogsConfig(ProxyOnlyResource): + """Configuration of App Service site logs. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param application_logs: Application logs configuration. + :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig + :param http_logs: HTTP logs configuration. + :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig + :param failed_requests_tracing: Failed requests tracing configuration. + :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig + :param detailed_error_messages: Detailed error messages configuration. + :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, + 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, + 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, + 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, + } + + def __init__(self, *, kind: str=None, application_logs=None, http_logs=None, failed_requests_tracing=None, detailed_error_messages=None, **kwargs) -> None: + super(SiteLogsConfig, self).__init__(kind=kind, **kwargs) + self.application_logs = application_logs + self.http_logs = http_logs + self.failed_requests_tracing = failed_requests_tracing + self.detailed_error_messages = detailed_error_messages + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SitePatchResource(ProxyOnlyResource): + """ARM resource for a site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, **kwargs) -> None: + super(SitePatchResource, self).__init__(kind=kind, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + + +class SitePhpErrorLogFlag(ProxyOnlyResource): + """Used for getting PHP error logging flag. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param local_log_errors: Local log_errors setting. + :type local_log_errors: str + :param master_log_errors: Master log_errors setting. + :type master_log_errors: str + :param local_log_errors_max_length: Local log_errors_max_len setting. + :type local_log_errors_max_length: str + :param master_log_errors_max_length: Master log_errors_max_len setting. + :type master_log_errors_max_length: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, + 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, + 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, + 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, local_log_errors: str=None, master_log_errors: str=None, local_log_errors_max_length: str=None, master_log_errors_max_length: str=None, **kwargs) -> None: + super(SitePhpErrorLogFlag, self).__init__(kind=kind, **kwargs) + self.local_log_errors = local_log_errors + self.master_log_errors = master_log_errors + self.local_log_errors_max_length = local_log_errors_max_length + self.master_log_errors_max_length = master_log_errors_max_length + + +class SiteSourceControl(ProxyOnlyResource): + """Source control configuration for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param repo_url: Repository or source control URL. + :type repo_url: str + :param branch: Name of branch to use for deployment. + :type branch: str + :param is_manual_integration: true to limit to manual + integration; false to enable continuous integration (which + configures webhooks into online repos like GitHub). + :type is_manual_integration: bool + :param deployment_rollback_enabled: true to enable deployment + rollback; otherwise, false. + :type deployment_rollback_enabled: bool + :param is_mercurial: true for a Mercurial repository; + false for a Git repository. + :type is_mercurial: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, + 'branch': {'key': 'properties.branch', 'type': 'str'}, + 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, + 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, + 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, repo_url: str=None, branch: str=None, is_manual_integration: bool=None, deployment_rollback_enabled: bool=None, is_mercurial: bool=None, **kwargs) -> None: + super(SiteSourceControl, self).__init__(kind=kind, **kwargs) + self.repo_url = repo_url + self.branch = branch + self.is_manual_integration = is_manual_integration + self.deployment_rollback_enabled = deployment_rollback_enabled + self.is_mercurial = is_mercurial + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SlotConfigNamesResource(ProxyOnlyResource): + """Slot Config names azure 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string_names: List of connection string names. + :type connection_string_names: list[str] + :param app_setting_names: List of application settings names. + :type app_setting_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, + 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, connection_string_names=None, app_setting_names=None, **kwargs) -> None: + super(SlotConfigNamesResource, self).__init__(kind=kind, **kwargs) + self.connection_string_names = connection_string_names + self.app_setting_names = app_setting_names + + +class SlotDifference(ProxyOnlyResource): + """A setting difference between two deployment slots of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar slot_difference_type: Type of the difference: Information, Warning + or Error. + :vartype slot_difference_type: str + :ivar setting_type: The type of the setting: General, AppSetting or + ConnectionString. + :vartype setting_type: str + :ivar diff_rule: Rule that describes how to process the setting difference + during a slot swap. + :vartype diff_rule: str + :ivar setting_name: Name of the setting. + :vartype setting_name: str + :ivar value_in_current_slot: Value of the setting in the current slot. + :vartype value_in_current_slot: str + :ivar value_in_target_slot: Value of the setting in the target slot. + :vartype value_in_target_slot: str + :ivar description: Description of the setting difference. + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'slot_difference_type': {'readonly': True}, + 'setting_type': {'readonly': True}, + 'diff_rule': {'readonly': True}, + 'setting_name': {'readonly': True}, + 'value_in_current_slot': {'readonly': True}, + 'value_in_target_slot': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'slot_difference_type': {'key': 'properties.type', 'type': 'str'}, + 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, + 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, + 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, + 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, + 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SlotDifference, self).__init__(kind=kind, **kwargs) + self.slot_difference_type = None + self.setting_type = None + self.diff_rule = None + self.setting_name = None + self.value_in_current_slot = None + self.value_in_target_slot = None + self.description = None + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(Snapshot, self).__init__(kind=kind, **kwargs) + self.time = None + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_target=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, **kwargs) -> None: + super(SnapshotRecoveryRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_target = recovery_target + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = location + self.id = id + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class StorageMigrationOptions(ProxyOnlyResource): + """Options for app content migration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param azurefiles_connection_string: Required. AzureFiles connection + string. + :type azurefiles_connection_string: str + :param azurefiles_share: Required. AzureFiles share. + :type azurefiles_share: str + :param switch_site_after_migration: trueif the app should be + switched over; otherwise, false. Default value: False . + :type switch_site_after_migration: bool + :param block_write_access_to_site: true if the app should be + read only during copy operation; otherwise, false. Default + value: False . + :type block_write_access_to_site: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'azurefiles_connection_string': {'required': True}, + 'azurefiles_share': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, + 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, + 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, + 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, + } + + def __init__(self, *, azurefiles_connection_string: str, azurefiles_share: str, kind: str=None, switch_site_after_migration: bool=False, block_write_access_to_site: bool=False, **kwargs) -> None: + super(StorageMigrationOptions, self).__init__(kind=kind, **kwargs) + self.azurefiles_connection_string = azurefiles_connection_string + self.azurefiles_share = azurefiles_share + self.switch_site_after_migration = switch_site_after_migration + self.block_write_access_to_site = block_write_access_to_site + + +class StorageMigrationResponse(ProxyOnlyResource): + """Response for a migration of app content request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the migration process, it will + return an operation ID identifying that particular migration operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(StorageMigrationResponse, self).__init__(kind=kind, **kwargs) + self.operation_id = None + + +class StringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Settings. + :type properties: 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'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: + super(StringDictionary, self).__init__(kind=kind, **kwargs) + self.properties = properties + + +class TriggeredJobHistory(ProxyOnlyResource): + """Triggered Web Job History. List of Triggered Web Job Run Information + elements. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param triggered_job_runs: List of triggered web job runs. + :type triggered_job_runs: list[~azure.mgmt.web.models.TriggeredJobRun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'triggered_job_runs': {'key': 'properties.triggeredJobRuns', 'type': '[TriggeredJobRun]'}, + } + + def __init__(self, *, kind: str=None, triggered_job_runs=None, **kwargs) -> None: + super(TriggeredJobHistory, self).__init__(kind=kind, **kwargs) + self.triggered_job_runs = triggered_job_runs + + +class TriggeredJobRun(ProxyOnlyResource): + """Triggered Web Job Run 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param triggered_job_run_id: Job ID. + :type triggered_job_run_id: str + :ivar triggered_job_run_name: Job name. + :vartype triggered_job_run_name: str + :param status: Job status. Possible values include: 'Success', 'Failed', + 'Error' + :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param duration: Job duration. + :type duration: str + :param output_url: Output URL. + :type output_url: str + :param error_url: Error URL. + :type error_url: str + :param url: Job URL. + :type url: str + :param job_name: Job name. + :type job_name: str + :param trigger: Job trigger. + :type trigger: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'triggered_job_run_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'triggered_job_run_id': {'key': 'properties.id', 'type': 'str'}, + 'triggered_job_run_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'duration': {'key': 'properties.duration', 'type': 'str'}, + 'output_url': {'key': 'properties.outputUrl', 'type': 'str'}, + 'error_url': {'key': 'properties.errorUrl', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'job_name': {'key': 'properties.jobName', 'type': 'str'}, + 'trigger': {'key': 'properties.trigger', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, triggered_job_run_id: str=None, status=None, start_time=None, end_time=None, duration: str=None, output_url: str=None, error_url: str=None, url: str=None, job_name: str=None, trigger: str=None, **kwargs) -> None: + super(TriggeredJobRun, self).__init__(kind=kind, **kwargs) + self.triggered_job_run_id = triggered_job_run_id + self.triggered_job_run_name = None + self.status = status + self.start_time = start_time + self.end_time = end_time + self.duration = duration + self.output_url = output_url + self.error_url = error_url + self.url = url + self.job_name = job_name + self.trigger = trigger + + +class TriggeredWebJob(ProxyOnlyResource): + """Triggered Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param latest_run: Latest job run information. + :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun + :param history_url: History URL. + :type history_url: str + :param scheduler_logs_url: Scheduler Logs URL. + :type scheduler_logs_url: str + :ivar triggered_web_job_name: Job name. Used as job identifier in ARM + resource URI. + :vartype triggered_web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'triggered_web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'latest_run': {'key': 'properties.latestRun', 'type': 'TriggeredJobRun'}, + 'history_url': {'key': 'properties.historyUrl', 'type': 'str'}, + 'scheduler_logs_url': {'key': 'properties.schedulerLogsUrl', 'type': 'str'}, + 'triggered_web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, latest_run=None, history_url: str=None, scheduler_logs_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(TriggeredWebJob, self).__init__(kind=kind, **kwargs) + self.latest_run = latest_run + self.history_url = history_url + self.scheduler_logs_url = scheduler_logs_url + self.triggered_web_job_name = None + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.job_type = job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, user_name: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.user_name = user_name + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: bytearray=None, dns_servers: str=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_route_name: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.vnet_route_name = vnet_route_name + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type + + +class WebJob(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar web_job_name: Job name. Used as job identifier in ARM resource URI. + :vartype web_job_name: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'web_job_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'web_job_name': {'key': 'properties.name', 'type': 'str'}, + 'run_command': {'key': 'properties.runCommand', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extraInfoUrl', 'type': 'str'}, + 'job_type': {'key': 'properties.jobType', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.usingSdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(WebJob, self).__init__(kind=kind, **kwargs) + self.web_job_name = None + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.job_type = job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_paged_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_paged_models.py new file mode 100644 index 000000000000..cc38c4408101 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_paged_models.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 SitePaged(Paged): + """ + A paging container for iterating over a list of :class:`Site ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Site]'} + } + + def __init__(self, *args, **kwargs): + + super(SitePaged, self).__init__(*args, **kwargs) +class BackupItemPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackupItem ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackupItem]'} + } + + def __init__(self, *args, **kwargs): + + super(BackupItemPaged, self).__init__(*args, **kwargs) +class SiteConfigResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteConfigResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteConfigResource]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteConfigResourcePaged, self).__init__(*args, **kwargs) +class SiteConfigurationSnapshotInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteConfigurationSnapshotInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteConfigurationSnapshotInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteConfigurationSnapshotInfoPaged, self).__init__(*args, **kwargs) +class ContinuousWebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`ContinuousWebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ContinuousWebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(ContinuousWebJobPaged, self).__init__(*args, **kwargs) +class DeploymentPaged(Paged): + """ + A paging container for iterating over a list of :class:`Deployment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Deployment]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentPaged, self).__init__(*args, **kwargs) +class IdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`Identifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Identifier]'} + } + + def __init__(self, *args, **kwargs): + + super(IdentifierPaged, self).__init__(*args, **kwargs) +class FunctionEnvelopePaged(Paged): + """ + A paging container for iterating over a list of :class:`FunctionEnvelope ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FunctionEnvelope]'} + } + + def __init__(self, *args, **kwargs): + + super(FunctionEnvelopePaged, self).__init__(*args, **kwargs) +class HostNameBindingPaged(Paged): + """ + A paging container for iterating over a list of :class:`HostNameBinding ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HostNameBinding]'} + } + + def __init__(self, *args, **kwargs): + + super(HostNameBindingPaged, self).__init__(*args, **kwargs) +class SiteInstancePaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteInstance ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteInstance]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteInstancePaged, self).__init__(*args, **kwargs) +class ProcessInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessInfoPaged, self).__init__(*args, **kwargs) +class ProcessModuleInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessModuleInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessModuleInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessModuleInfoPaged, self).__init__(*args, **kwargs) +class ProcessThreadInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessThreadInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessThreadInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessThreadInfoPaged, self).__init__(*args, **kwargs) +class ResourceMetricDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetricDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetricDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricDefinitionPaged, self).__init__(*args, **kwargs) +class ResourceMetricPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetric ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetric]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricPaged, self).__init__(*args, **kwargs) +class PerfMonResponsePaged(Paged): + """ + A paging container for iterating over a list of :class:`PerfMonResponse ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PerfMonResponse]'} + } + + def __init__(self, *args, **kwargs): + + super(PerfMonResponsePaged, self).__init__(*args, **kwargs) +class PublicCertificatePaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicCertificate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicCertificate]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicCertificatePaged, self).__init__(*args, **kwargs) +class SiteExtensionInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteExtensionInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteExtensionInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteExtensionInfoPaged, self).__init__(*args, **kwargs) +class SlotDifferencePaged(Paged): + """ + A paging container for iterating over a list of :class:`SlotDifference ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SlotDifference]'} + } + + def __init__(self, *args, **kwargs): + + super(SlotDifferencePaged, self).__init__(*args, **kwargs) +class SnapshotPaged(Paged): + """ + A paging container for iterating over a list of :class:`Snapshot ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Snapshot]'} + } + + def __init__(self, *args, **kwargs): + + super(SnapshotPaged, self).__init__(*args, **kwargs) +class TriggeredWebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`TriggeredWebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TriggeredWebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(TriggeredWebJobPaged, self).__init__(*args, **kwargs) +class TriggeredJobHistoryPaged(Paged): + """ + A paging container for iterating over a list of :class:`TriggeredJobHistory ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TriggeredJobHistory]'} + } + + def __init__(self, *args, **kwargs): + + super(TriggeredJobHistoryPaged, self).__init__(*args, **kwargs) +class CsmUsageQuotaPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmUsageQuota ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmUsageQuota]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmUsageQuotaPaged, self).__init__(*args, **kwargs) +class WebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(WebJobPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..d8fd32b4088f --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/models/_web_site_management_client_enums.py @@ -0,0 +1,292 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 LogLevel(str, Enum): + + off = "Off" + verbose = "Verbose" + information = "Information" + warning = "Warning" + error = "Error" + + +class BackupItemStatus(str, Enum): + + in_progress = "InProgress" + failed = "Failed" + succeeded = "Succeeded" + timed_out = "TimedOut" + created = "Created" + skipped = "Skipped" + partially_succeeded = "PartiallySucceeded" + delete_in_progress = "DeleteInProgress" + delete_failed = "DeleteFailed" + deleted = "Deleted" + + +class DatabaseType(str, Enum): + + sql_azure = "SqlAzure" + my_sql = "MySql" + local_my_sql = "LocalMySql" + postgre_sql = "PostgreSql" + + +class FrequencyUnit(str, Enum): + + day = "Day" + hour = "Hour" + + +class BackupRestoreOperationType(str, Enum): + + default = "Default" + clone = "Clone" + relocation = "Relocation" + snapshot = "Snapshot" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class ContinuousWebJobStatus(str, Enum): + + initializing = "Initializing" + starting = "Starting" + running = "Running" + pending_restart = "PendingRestart" + stopped = "Stopped" + + +class WebJobType(str, Enum): + + continuous = "Continuous" + triggered = "Triggered" + + +class PublishingProfileFormat(str, Enum): + + file_zilla3 = "FileZilla3" + web_deploy = "WebDeploy" + ftp = "Ftp" + + +class DnsVerificationTestResult(str, Enum): + + passed = "Passed" + failed = "Failed" + skipped = "Skipped" + + +class AzureResourceType(str, Enum): + + website = "Website" + traffic_manager = "TrafficManager" + + +class CustomHostNameDnsRecordType(str, Enum): + + cname = "CName" + a = "A" + + +class HostNameType(str, Enum): + + verified = "Verified" + managed = "Managed" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class MSDeployLogEntryType(str, Enum): + + message = "Message" + warning = "Warning" + error = "Error" + + +class MSDeployProvisioningState(str, Enum): + + accepted = "accepted" + running = "running" + succeeded = "succeeded" + failed = "failed" + canceled = "canceled" + + +class MySqlMigrationType(str, Enum): + + local_to_remote = "LocalToRemote" + remote_to_local = "RemoteToLocal" + + +class OperationStatus(str, Enum): + + in_progress = "InProgress" + failed = "Failed" + succeeded = "Succeeded" + timed_out = "TimedOut" + created = "Created" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class PublicCertificateLocation(str, Enum): + + current_user_my = "CurrentUserMy" + local_machine_my = "LocalMachineMy" + unknown = "Unknown" + + +class UnauthenticatedClientAction(str, Enum): + + redirect_to_login_page = "RedirectToLoginPage" + allow_anonymous = "AllowAnonymous" + + +class BuiltInAuthenticationProvider(str, Enum): + + azure_active_directory = "AzureActiveDirectory" + facebook = "Facebook" + google = "Google" + microsoft_account = "MicrosoftAccount" + twitter = "Twitter" + + +class CloneAbilityResult(str, Enum): + + cloneable = "Cloneable" + partially_cloneable = "PartiallyCloneable" + not_cloneable = "NotCloneable" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class SiteExtensionType(str, Enum): + + gallery = "Gallery" + web_root = "WebRoot" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class TriggeredWebJobStatus(str, Enum): + + success = "Success" + failed = "Failed" + error = "Error" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/operations/__init__.py new file mode 100644 index 000000000000..caab7b182000 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_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 ._web_apps_operations import WebAppsOperations + +__all__ = [ + 'WebAppsOperations', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/operations/_web_apps_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/operations/_web_apps_operations.py new file mode 100644 index 000000000000..f366ea00a218 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/operations/_web_apps_operations.py @@ -0,0 +1,23051 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 WebAppsOperations(object): + """WebAppsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. Constant value: "2016-08-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2016-08-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Get all apps for a subscription. + + Get all apps 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 Site + :rtype: ~azure.mgmt.web.models.SitePaged[~azure.mgmt.web.models.Site] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites'} + + def list_by_resource_group( + self, resource_group_name, include_slots=None, custom_headers=None, raw=False, **operation_config): + """Gets all web, mobile, and API apps in the specified resource group. + + Gets all web, mobile, and API apps in the specified resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param include_slots: Specify true to include + deployment slots in results. The default is false, which only gives + you the production slot of all apps. + :type include_slots: bool + :param dict custom_headers: headers that will 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 Site + :rtype: ~azure.mgmt.web.models.SitePaged[~azure.mgmt.web.models.Site] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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 include_slots is not None: + query_parameters['includeSlots'] = self._serialize.query("include_slots", include_slots, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites'} + + def get( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the details of a web, mobile, or API app. + + Gets the details of a web, mobile, or API app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: Site or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Site 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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]: + 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('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}'} + + + def _create_or_update_initial( + self, resource_group_name, name, site_envelope, 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_envelope, 'Site') + + # 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, 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('Site', response) + if response.status_code == 202: + deserialized = self._deserialize('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, name, site_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Unique name of the app to create or update. To create or + update a deployment slot, use the {slot} parameter. + :type name: str + :param site_envelope: A JSON representation of the app properties. See + example. + :type site_envelope: ~azure.mgmt.web.models.Site + :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 Site or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.Site] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.Site]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + site_envelope=site_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Site', 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.Web/sites/{name}'} + + def delete( + self, resource_group_name, name, delete_metrics=None, delete_empty_server_farm=None, custom_headers=None, raw=False, **operation_config): + """Deletes a web, mobile, or API app, or one of the deployment slots. + + Deletes a web, mobile, or API app, or one of the deployment slots. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app to delete. + :type name: str + :param delete_metrics: If true, web app metrics are also deleted. + :type delete_metrics: bool + :param delete_empty_server_farm: Specify true if the App Service plan + will be empty after app deletion and you want to delete the empty App + Service plan. By default, the empty App Service plan is not deleted. + :type delete_empty_server_farm: bool + :param dict custom_headers: headers that will 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 delete_metrics is not None: + query_parameters['deleteMetrics'] = self._serialize.query("delete_metrics", delete_metrics, 'bool') + if delete_empty_server_farm is not None: + query_parameters['deleteEmptyServerFarm'] = self._serialize.query("delete_empty_server_farm", delete_empty_server_farm, 'bool') + 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, 404]: + 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/Microsoft.Web/sites/{name}'} + + def update( + self, resource_group_name, name, site_envelope, custom_headers=None, raw=False, **operation_config): + """Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Unique name of the app to create or update. To create or + update a deployment slot, use the {slot} parameter. + :type name: str + :param site_envelope: A JSON representation of the app properties. See + example. + :type site_envelope: ~azure.mgmt.web.models.SitePatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Site or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Site 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_envelope, 'SitePatchResource') + + # 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('Site', response) + if response.status_code == 202: + deserialized = self._deserialize('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}'} + + def analyze_custom_hostname( + self, resource_group_name, name, host_name=None, custom_headers=None, raw=False, **operation_config): + """Analyze a custom hostname. + + Analyze a custom hostname. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param host_name: Custom hostname. + :type host_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: CustomHostnameAnalysisResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.CustomHostnameAnalysisResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.analyze_custom_hostname.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 host_name is not None: + query_parameters['hostName'] = self._serialize.query("host_name", host_name, '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('CustomHostnameAnalysisResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + analyze_custom_hostname.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname'} + + def apply_slot_config_to_production( + self, resource_group_name, name, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + """Applies the configuration settings from the target slot onto the + current slot. + + Applies the configuration settings from the target slot onto the + current slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :param dict custom_headers: headers that will 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` + """ + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + # Construct URL + url = self.apply_slot_config_to_production.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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['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(slot_swap_entity, 'CsmSlotEntity') + + # 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 + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + apply_slot_config_to_production.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig'} + + def backup( + self, resource_group_name, name, request, custom_headers=None, raw=False, **operation_config): + """Creates a backup of an app. + + Creates a backup of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: Backup configuration. You can use the JSON response + from the POST action as input here. + :type request: ~azure.mgmt.web.models.BackupRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.backup.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(request, 'BackupRequest') + + # 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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup'} + + def list_backups( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets existing backups of an app. + + Gets existing backups of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of BackupItem + :rtype: + ~azure.mgmt.web.models.BackupItemPaged[~azure.mgmt.web.models.BackupItem] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_backups.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups'} + + def discover_restore( + self, resource_group_name, name, request, custom_headers=None, raw=False, **operation_config): + """Discovers an existing app backup that can be restored from a blob in + Azure storage. + + Discovers an existing app backup that can be restored from a blob in + Azure storage. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: A RestoreRequest object that includes Azure storage + URL and blog name for discovery of backup. + :type request: ~azure.mgmt.web.models.RestoreRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RestoreRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RestoreRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.discover_restore.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(request, 'RestoreRequest') + + # 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]: + 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('RestoreRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + discover_restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover'} + + def get_backup_status( + self, resource_group_name, name, backup_id, custom_headers=None, raw=False, **operation_config): + """Gets a backup of an app by its ID. + + Gets a backup of an app by its ID. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_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: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_backup_status.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_backup_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}'} + + def delete_backup( + self, resource_group_name, name, backup_id, custom_headers=None, raw=False, **operation_config): + """Deletes a backup of an app by its ID. + + Deletes a backup of an app by its ID. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_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_backup.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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, 404]: + 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_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}'} + + def list_backup_status_secrets( + self, resource_group_name, name, backup_id, request, custom_headers=None, raw=False, **operation_config): + """Gets status of a web app backup that may be in progress, including + secrets associated with the backup, such as the Azure Storage SAS URL. + Also can be used to update the SAS URL for the backup if a new URL is + passed in the request body. + + Gets status of a web app backup that may be in progress, including + secrets associated with the backup, such as the Azure Storage SAS URL. + Also can be used to update the SAS URL for the backup if a new URL is + passed in the request body. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param backup_id: ID of backup. + :type backup_id: str + :param request: Information on backup request. + :type request: ~azure.mgmt.web.models.BackupRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_backup_status_secrets.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_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' + 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(request, 'BackupRequest') + + # 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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_backup_status_secrets.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list'} + + + def _restore_initial( + self, resource_group_name, name, backup_id, request, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.restore.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_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' + 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(request, 'RestoreRequest') + + # 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('RestoreResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def restore( + self, resource_group_name, name, backup_id, request, custom_headers=None, raw=False, polling=True, **operation_config): + """Restores a specific backup to another app (or deployment slot, if + specified). + + Restores a specific backup to another app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_id: str + :param request: Information on restore request . + :type request: ~azure.mgmt.web.models.RestoreRequest + :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 RestoreResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.RestoreResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.RestoreResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._restore_initial( + resource_group_name=resource_group_name, + name=name, + backup_id=backup_id, + request=request, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RestoreResponse', 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) + restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore'} + + def list_configurations( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List the configurations of an app. + + List the configurations of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of SiteConfigResource + :rtype: + ~azure.mgmt.web.models.SiteConfigResourcePaged[~azure.mgmt.web.models.SiteConfigResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_configurations.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config'} + + def update_application_settings( + self, resource_group_name, name, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the application settings of an app. + + Replaces the application settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param kind: Kind of resource. + :type kind: str + :param properties: Settings. + :type properties: dict[str, 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + app_settings = models.StringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_application_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(app_settings, 'StringDictionary') + + # 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]: + 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_application_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings'} + + def list_application_settings( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the application settings of an app. + + Gets the application settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_application_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_application_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list'} + + def update_auth_settings( + self, resource_group_name, name, site_auth_settings, custom_headers=None, raw=False, **operation_config): + """Updates the Authentication / Authorization settings associated with web + app. + + Updates the Authentication / Authorization settings associated with web + app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param site_auth_settings: Auth settings associated with web app. + :type site_auth_settings: ~azure.mgmt.web.models.SiteAuthSettings + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SiteAuthSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteAuthSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_auth_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_auth_settings, 'SiteAuthSettings') + + # 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]: + 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('SiteAuthSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_auth_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings'} + + def get_auth_settings( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the Authentication/Authorization settings of an app. + + Gets the Authentication/Authorization settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SiteAuthSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteAuthSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_auth_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SiteAuthSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_auth_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list'} + + def update_backup_configuration( + self, resource_group_name, name, request, custom_headers=None, raw=False, **operation_config): + """Updates the backup configuration of an app. + + Updates the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: Edited backup configuration. + :type request: ~azure.mgmt.web.models.BackupRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: BackupRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_backup_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(request, 'BackupRequest') + + # 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]: + 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('BackupRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_backup_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup'} + + def delete_backup_configuration( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Deletes the backup configuration of an app. + + Deletes the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_backup_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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]: + 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_backup_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup'} + + def get_backup_configuration( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the backup configuration of an app. + + Gets the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: BackupRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_backup_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('BackupRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_backup_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list'} + + def update_connection_strings( + self, resource_group_name, name, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the connection strings of an app. + + Replaces the connection strings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param kind: Kind of resource. + :type kind: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionStringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ConnectionStringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + connection_strings = models.ConnectionStringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_connection_strings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(connection_strings, 'ConnectionStringDictionary') + + # 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]: + 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('ConnectionStringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings'} + + def list_connection_strings( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the connection strings of an app. + + Gets the connection strings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: ConnectionStringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ConnectionStringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_connection_strings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('ConnectionStringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list'} + + def get_diagnostic_logs_configuration( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the logging configuration of an app. + + Gets the logging configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SiteLogsConfig or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteLogsConfig or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_diagnostic_logs_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SiteLogsConfig', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_diagnostic_logs_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs'} + + def update_diagnostic_logs_config( + self, resource_group_name, name, site_logs_config, custom_headers=None, raw=False, **operation_config): + """Updates the logging configuration of an app. + + Updates the logging configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_logs_config: A SiteLogsConfig JSON object that contains + the logging configuration to change in the "properties" property. + :type site_logs_config: ~azure.mgmt.web.models.SiteLogsConfig + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SiteLogsConfig or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteLogsConfig or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_diagnostic_logs_config.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_logs_config, 'SiteLogsConfig') + + # 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]: + 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('SiteLogsConfig', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_diagnostic_logs_config.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs'} + + def update_metadata( + self, resource_group_name, name, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the metadata of an app. + + Replaces the metadata of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param kind: Kind of resource. + :type kind: str + :param properties: Settings. + :type properties: dict[str, 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + metadata = models.StringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_metadata.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(metadata, 'StringDictionary') + + # 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]: + 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_metadata.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata'} + + def list_metadata( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the metadata of an app. + + Gets the metadata of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_metadata.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_metadata.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list'} + + + def _list_publishing_credentials_initial( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_publishing_credentials.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_publishing_credentials( + self, resource_group_name, name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the Git/FTP publishing credentials of an app. + + Gets the Git/FTP publishing credentials of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type 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 User or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.User] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.User]] + :raises: :class:`CloudError` + """ + raw_result = self._list_publishing_credentials_initial( + resource_group_name=resource_group_name, + name=name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('User', 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) + list_publishing_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list'} + + def update_site_push_settings( + self, resource_group_name, name, push_settings, custom_headers=None, raw=False, **operation_config): + """Updates the Push settings associated with web app. + + Updates the Push settings associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param push_settings: Push settings associated with web app. + :type push_settings: ~azure.mgmt.web.models.PushSettings + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PushSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PushSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_site_push_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(push_settings, 'PushSettings') + + # 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]: + 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('PushSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_site_push_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings'} + + def list_site_push_settings( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the Push settings associated with web app. + + Gets the Push settings associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: PushSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PushSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_site_push_settings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('PushSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_site_push_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list'} + + def list_slot_configuration_names( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the names of app settings and connection strings that stick to the + slot (not swapped). + + Gets the names of app settings and connection strings that stick to the + slot (not swapped). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SlotConfigNamesResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SlotConfigNamesResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_slot_configuration_names.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SlotConfigNamesResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_slot_configuration_names.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames'} + + def update_slot_configuration_names( + self, resource_group_name, name, slot_config_names, custom_headers=None, raw=False, **operation_config): + """Updates the names of application settings and connection string that + remain with the slot during swap operation. + + Updates the names of application settings and connection string that + remain with the slot during swap operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot_config_names: Names of application settings and connection + strings. See example. + :type slot_config_names: + ~azure.mgmt.web.models.SlotConfigNamesResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SlotConfigNamesResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SlotConfigNamesResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_slot_configuration_names.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(slot_config_names, 'SlotConfigNamesResource') + + # 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]: + 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('SlotConfigNamesResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_slot_configuration_names.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames'} + + def get_configuration( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the configuration of an app, such as platform version and bitness, + default documents, virtual applications, Always On, etc. + + Gets the configuration of an app, such as platform version and bitness, + default documents, virtual applications, Always On, etc. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web'} + + def create_or_update_configuration( + self, resource_group_name, name, site_config, custom_headers=None, raw=False, **operation_config): + """Updates the configuration of an app. + + Updates the configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_config: JSON representation of a SiteConfig object. See + example. + :type site_config: ~azure.mgmt.web.models.SiteConfigResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_config, 'SiteConfigResource') + + # 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]: + 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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web'} + + def update_configuration( + self, resource_group_name, name, site_config, custom_headers=None, raw=False, **operation_config): + """Updates the configuration of an app. + + Updates the configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_config: JSON representation of a SiteConfig object. See + example. + :type site_config: ~azure.mgmt.web.models.SiteConfigResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_configuration.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_config, 'SiteConfigResource') + + # 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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web'} + + def list_configuration_snapshot_info( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets a list of web app configuration snapshots identifiers. Each + element of the list contains a timestamp and the ID of the snapshot. + + Gets a list of web app configuration snapshots identifiers. Each + element of the list contains a timestamp and the ID of the snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of SiteConfigurationSnapshotInfo + :rtype: + ~azure.mgmt.web.models.SiteConfigurationSnapshotInfoPaged[~azure.mgmt.web.models.SiteConfigurationSnapshotInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_configuration_snapshot_info.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_configuration_snapshot_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots'} + + def get_configuration_snapshot( + self, resource_group_name, name, snapshot_id, custom_headers=None, raw=False, **operation_config): + """Gets a snapshot of the configuration of an app at a previous point in + time. + + Gets a snapshot of the configuration of an app at a previous point in + time. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param snapshot_id: The ID of the snapshot to read. + :type snapshot_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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_configuration_snapshot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'snapshotId': self._serialize.url("snapshot_id", snapshot_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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_configuration_snapshot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}'} + + def recover_site_configuration_snapshot( + self, resource_group_name, name, snapshot_id, custom_headers=None, raw=False, **operation_config): + """Reverts the configuration of an app to a previous snapshot. + + Reverts the configuration of an app to a previous snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param snapshot_id: The ID of the snapshot to read. + :type snapshot_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.recover_site_configuration_snapshot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'snapshotId': self._serialize.url("snapshot_id", snapshot_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 + recover_site_configuration_snapshot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover'} + + def get_web_site_container_logs( + self, resource_group_name, name, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the last lines of docker logs for the given site. + + Gets the last lines of docker logs for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_site_container_logs.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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/octet-stream' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_site_container_logs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs'} + + def get_web_site_container_logs_zip( + self, resource_group_name, name, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the ZIP archived docker log files for the given site. + + Gets the ZIP archived docker log files for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_site_container_logs_zip.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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/zip' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_site_container_logs_zip.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download'} + + def list_continuous_web_jobs( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List continuous web jobs for an app, or a deployment slot. + + List continuous web jobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of ContinuousWebJob + :rtype: + ~azure.mgmt.web.models.ContinuousWebJobPaged[~azure.mgmt.web.models.ContinuousWebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_continuous_web_jobs.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_continuous_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs'} + + def get_continuous_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Gets a continuous web job by its ID for an app, or a deployment slot. + + Gets a continuous web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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: ContinuousWebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ContinuousWebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_continuous_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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]: + 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('ContinuousWebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_continuous_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}'} + + def delete_continuous_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Delete a continuous web job by its ID for an app, or a deployment slot. + + Delete a continuous web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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_continuous_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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_continuous_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}'} + + def start_continuous_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Start a continuous web job for an app, or a deployment slot. + + Start a continuous web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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.start_continuous_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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 [200, 404]: + 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 + start_continuous_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start'} + + def stop_continuous_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Stop a continuous web job for an app, or a deployment slot. + + Stop a continuous web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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.stop_continuous_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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 [200, 404]: + 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 + stop_continuous_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop'} + + def list_deployments( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List deployments for an app, or a deployment slot. + + List deployments for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of Deployment + :rtype: + ~azure.mgmt.web.models.DeploymentPaged[~azure.mgmt.web.models.Deployment] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_deployments.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_deployments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments'} + + def get_deployment( + self, resource_group_name, name, id, custom_headers=None, raw=False, **operation_config): + """Get a deployment by its ID for an app, or a deployment slot. + + Get a deployment by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: Deployment ID. + :type 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: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_deployment.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", 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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_deployment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}'} + + def create_deployment( + self, resource_group_name, name, id, deployment, custom_headers=None, raw=False, **operation_config): + """Create a deployment for an app, or a deployment slot. + + Create a deployment for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: ID of an existing deployment. + :type id: str + :param deployment: Deployment details. + :type deployment: ~azure.mgmt.web.models.Deployment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_deployment.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", 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' + 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(deployment, '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]: + 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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_deployment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}'} + + def delete_deployment( + self, resource_group_name, name, id, custom_headers=None, raw=False, **operation_config): + """Delete a deployment by its ID for an app, or a deployment slot. + + Delete a deployment by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: Deployment ID. + :type 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_deployment.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", 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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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_deployment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}'} + + def list_deployment_log( + self, resource_group_name, name, id, custom_headers=None, raw=False, **operation_config): + """List deployment log for specific deployment for an app, or a deployment + slot. + + List deployment log for specific deployment for an app, or a deployment + slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: The ID of a specific deployment. This is the value of the + name property in the JSON response from "GET + /api/sites/{siteName}/deployments". + :type 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: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_deployment_log.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", 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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_deployment_log.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log'} + + def list_domain_ownership_identifiers( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Lists ownership identifiers for domain associated with web app. + + Lists ownership identifiers for domain associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of Identifier + :rtype: + ~azure.mgmt.web.models.IdentifierPaged[~azure.mgmt.web.models.Identifier] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_domain_ownership_identifiers.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_domain_ownership_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers'} + + def get_domain_ownership_identifier( + self, resource_group_name, name, domain_ownership_identifier_name, custom_headers=None, raw=False, **operation_config): + """Get domain ownership identifier for web app. + + Get domain ownership identifier for web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_domain_ownership_identifier.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_domain_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def create_or_update_domain_ownership_identifier( + self, resource_group_name, name, domain_ownership_identifier_name, kind=None, identifier_id=None, custom_headers=None, raw=False, **operation_config): + """Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param kind: Kind of resource. + :type kind: str + :param identifier_id: String representation of the identity. + :type identifier_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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.Identifier(kind=kind, identifier_id=identifier_id) + + # Construct URL + url = self.create_or_update_domain_ownership_identifier.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_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(domain_ownership_identifier, 'Identifier') + + # 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]: + 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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_domain_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def delete_domain_ownership_identifier( + self, resource_group_name, name, domain_ownership_identifier_name, custom_headers=None, raw=False, **operation_config): + """Deletes a domain ownership identifier for a web app. + + Deletes a domain ownership identifier for a web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_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_domain_ownership_identifier.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_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_domain_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def update_domain_ownership_identifier( + self, resource_group_name, name, domain_ownership_identifier_name, kind=None, identifier_id=None, custom_headers=None, raw=False, **operation_config): + """Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param kind: Kind of resource. + :type kind: str + :param identifier_id: String representation of the identity. + :type identifier_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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.Identifier(kind=kind, identifier_id=identifier_id) + + # Construct URL + url = self.update_domain_ownership_identifier.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_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(domain_ownership_identifier, 'Identifier') + + # 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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_domain_ownership_identifier.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def get_ms_deploy_status( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get the status of the last MSDeploy operation. + + Get the status of the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: MSDeployStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ms_deploy_status.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ms_deploy_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy'} + + + def _create_ms_deploy_operation_initial( + self, resource_group_name, name, ms_deploy, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_ms_deploy_operation.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(ms_deploy, 'MSDeploy') + + # 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, 409]: + 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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_ms_deploy_operation( + self, resource_group_name, name, ms_deploy, custom_headers=None, raw=False, polling=True, **operation_config): + """Invoke the MSDeploy web app extension. + + Invoke the MSDeploy web app extension. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param ms_deploy: Details of MSDeploy operation + :type ms_deploy: ~azure.mgmt.web.models.MSDeploy + :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 MSDeployStatus or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.MSDeployStatus] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.MSDeployStatus]] + :raises: :class:`CloudError` + """ + raw_result = self._create_ms_deploy_operation_initial( + resource_group_name=resource_group_name, + name=name, + ms_deploy=ms_deploy, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MSDeployStatus', 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_ms_deploy_operation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy'} + + def get_ms_deploy_log( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get the MSDeploy Log for the last MSDeploy operation. + + Get the MSDeploy Log for the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: MSDeployLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployLog or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ms_deploy_log.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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]: + 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('MSDeployLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ms_deploy_log.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log'} + + def list_functions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List the functions for a web site, or a deployment slot. + + List the functions for a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of FunctionEnvelope + :rtype: + ~azure.mgmt.web.models.FunctionEnvelopePaged[~azure.mgmt.web.models.FunctionEnvelope] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_functions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions'} + + def get_functions_admin_token( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Fetch a short lived token that can be exchanged for a master key. + + Fetch a short lived token that can be exchanged for a master key. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_functions_admin_token.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_functions_admin_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token'} + + def get_function( + self, resource_group_name, name, function_name, custom_headers=None, raw=False, **operation_config): + """Get function information by its ID for web site, or a deployment slot. + + Get function information by its ID for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_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: FunctionEnvelope or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionEnvelope or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_function.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_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]: + 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('FunctionEnvelope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}'} + + + def _create_function_initial( + self, resource_group_name, name, function_name, function_envelope, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_function.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_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(function_envelope, 'FunctionEnvelope') + + # 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('FunctionEnvelope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_function( + self, resource_group_name, name, function_name, function_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Create function for web site, or a deployment slot. + + Create function for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_name: str + :param function_envelope: Function details. + :type function_envelope: ~azure.mgmt.web.models.FunctionEnvelope + :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 FunctionEnvelope or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.FunctionEnvelope] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.FunctionEnvelope]] + :raises: :class:`CloudError` + """ + raw_result = self._create_function_initial( + resource_group_name=resource_group_name, + name=name, + function_name=function_name, + function_envelope=function_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FunctionEnvelope', 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_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}'} + + def delete_function( + self, resource_group_name, name, function_name, custom_headers=None, raw=False, **operation_config): + """Delete a function for web site, or a deployment slot. + + Delete a function for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_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_function.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_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 [204, 404]: + 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_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}'} + + def list_function_secrets( + self, resource_group_name, name, function_name, custom_headers=None, raw=False, **operation_config): + """Get function secrets for a function in a web site, or a deployment + slot. + + Get function secrets for a function in a web site, or a deployment + slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_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: FunctionSecrets or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionSecrets or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_function_secrets.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_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('FunctionSecrets', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_function_secrets.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets'} + + def list_host_name_bindings( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get hostname bindings for an app or a deployment slot. + + Get hostname bindings for an app or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of HostNameBinding + :rtype: + ~azure.mgmt.web.models.HostNameBindingPaged[~azure.mgmt.web.models.HostNameBinding] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_host_name_bindings.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_host_name_bindings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings'} + + def get_host_name_binding( + self, resource_group_name, name, host_name, custom_headers=None, raw=False, **operation_config): + """Get the named hostname binding for an app (or deployment slot, if + specified). + + Get the named hostname binding for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param host_name: Hostname in the hostname binding. + :type host_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: HostNameBinding or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HostNameBinding or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_host_name_binding.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'hostName': self._serialize.url("host_name", host_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('HostNameBinding', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_host_name_binding.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}'} + + def create_or_update_host_name_binding( + self, resource_group_name, name, host_name, host_name_binding, custom_headers=None, raw=False, **operation_config): + """Creates a hostname binding for an app. + + Creates a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param host_name: Hostname in the hostname binding. + :type host_name: str + :param host_name_binding: Binding details. This is the JSON + representation of a HostNameBinding object. + :type host_name_binding: ~azure.mgmt.web.models.HostNameBinding + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HostNameBinding or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HostNameBinding or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_host_name_binding.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'hostName': self._serialize.url("host_name", host_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(host_name_binding, 'HostNameBinding') + + # 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]: + 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('HostNameBinding', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_host_name_binding.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}'} + + def delete_host_name_binding( + self, resource_group_name, name, host_name, custom_headers=None, raw=False, **operation_config): + """Deletes a hostname binding for an app. + + Deletes a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param host_name: Hostname in the hostname binding. + :type host_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_host_name_binding.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'hostName': self._serialize.url("host_name", host_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_host_name_binding.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}'} + + def get_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Retrieves a specific Service Bus Hybrid Connection used by this Web + App. + + Retrieves a specific Service Bus Hybrid Connection used by this Web + App. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def create_or_update_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Creates a new Hybrid Connection using a Service Bus relay. + + Creates a new Hybrid Connection using a Service Bus relay. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param connection_envelope: The details of the hybrid connection. + :type connection_envelope: ~azure.mgmt.web.models.HybridConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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(connection_envelope, 'HybridConnection') + + # 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]: + 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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def delete_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Removes a Hybrid Connection from this site. + + Removes a Hybrid Connection from this site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_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_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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, 404]: + 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_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def update_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Creates a new Hybrid Connection using a Service Bus relay. + + Creates a new Hybrid Connection using a Service Bus relay. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param connection_envelope: The details of the hybrid connection. + :type connection_envelope: ~azure.mgmt.web.models.HybridConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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(connection_envelope, 'HybridConnection') + + # 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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def list_hybrid_connection_keys( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Gets the send key name and value for a Hybrid Connection. + + Gets the send key name and value for a Hybrid Connection. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_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: HybridConnectionKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnectionKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_hybrid_connection_keys.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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('HybridConnectionKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_hybrid_connection_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys'} + + def list_hybrid_connections( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Retrieves all Service Bus Hybrid Connections used by this Web App. + + Retrieves all Service Bus Hybrid Connections used by this Web App. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_hybrid_connections.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_hybrid_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays'} + + def list_relay_service_connections( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets hybrid connections configured for an app (or deployment slot, if + specified). + + Gets hybrid connections configured for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_relay_service_connections.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_relay_service_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection'} + + def get_relay_service_connection( + self, resource_group_name, name, entity_name, custom_headers=None, raw=False, **operation_config): + """Gets a hybrid connection configuration by its name. + + Gets a hybrid connection configuration by its name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection. + :type entity_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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_relay_service_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_relay_service_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}'} + + def create_or_update_relay_service_connection( + self, resource_group_name, name, entity_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_name: str + :param connection_envelope: Details of the hybrid connection + configuration. + :type connection_envelope: + ~azure.mgmt.web.models.RelayServiceConnectionEntity + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_relay_service_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_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(connection_envelope, 'RelayServiceConnectionEntity') + + # 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]: + 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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_relay_service_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}'} + + def delete_relay_service_connection( + self, resource_group_name, name, entity_name, custom_headers=None, raw=False, **operation_config): + """Deletes a relay service connection by its name. + + Deletes a relay service connection by its name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_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_relay_service_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_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, 404]: + 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_relay_service_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}'} + + def update_relay_service_connection( + self, resource_group_name, name, entity_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_name: str + :param connection_envelope: Details of the hybrid connection + configuration. + :type connection_envelope: + ~azure.mgmt.web.models.RelayServiceConnectionEntity + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_relay_service_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_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(connection_envelope, 'RelayServiceConnectionEntity') + + # 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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_relay_service_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}'} + + def list_instance_identifiers( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets all scale-out instances of an app. + + Gets all scale-out instances of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of SiteInstance + :rtype: + ~azure.mgmt.web.models.SiteInstancePaged[~azure.mgmt.web.models.SiteInstance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_identifiers.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances'} + + def get_instance_ms_deploy_status( + self, resource_group_name, name, instance_id, custom_headers=None, raw=False, **operation_config): + """Get the status of the last MSDeploy operation. + + Get the status of the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param instance_id: ID of web app instance. + :type instance_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: MSDeployStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_ms_deploy_status.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_ms_deploy_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy'} + + + def _create_instance_ms_deploy_operation_initial( + self, resource_group_name, name, instance_id, ms_deploy, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_instance_ms_deploy_operation.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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' + 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(ms_deploy, 'MSDeploy') + + # 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, 409]: + 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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_instance_ms_deploy_operation( + self, resource_group_name, name, instance_id, ms_deploy, custom_headers=None, raw=False, polling=True, **operation_config): + """Invoke the MSDeploy web app extension. + + Invoke the MSDeploy web app extension. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param instance_id: ID of web app instance. + :type instance_id: str + :param ms_deploy: Details of MSDeploy operation + :type ms_deploy: ~azure.mgmt.web.models.MSDeploy + :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 MSDeployStatus or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.MSDeployStatus] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.MSDeployStatus]] + :raises: :class:`CloudError` + """ + raw_result = self._create_instance_ms_deploy_operation_initial( + resource_group_name=resource_group_name, + name=name, + instance_id=instance_id, + ms_deploy=ms_deploy, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MSDeployStatus', 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_instance_ms_deploy_operation.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy'} + + def get_instance_ms_deploy_log( + self, resource_group_name, name, instance_id, custom_headers=None, raw=False, **operation_config): + """Get the MSDeploy Log for the last MSDeploy operation. + + Get the MSDeploy Log for the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param instance_id: ID of web app instance. + :type instance_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: MSDeployLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployLog or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_ms_deploy_log.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('MSDeployLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_ms_deploy_log.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log'} + + def list_instance_processes( + self, resource_group_name, name, instance_id, custom_headers=None, raw=False, **operation_config): + """Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessInfo + :rtype: + ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_processes.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_processes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes'} + + def get_instance_process( + self, resource_group_name, name, process_id, instance_id, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}'} + + def delete_instance_process( + self, resource_group_name, name, process_id, instance_id, custom_headers=None, raw=False, **operation_config): + """Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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_instance_process.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 [204, 404]: + 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_instance_process.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}'} + + def get_instance_process_dump( + self, resource_group_name, name, process_id, instance_id, custom_headers=None, raw=False, callback=None, **operation_config): + """Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_dump.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump'} + + def list_instance_process_modules( + self, resource_group_name, name, process_id, instance_id, custom_headers=None, raw=False, **operation_config): + """List module information for a process by its ID for a specific + scaled-out instance in a web site. + + List module information for a process by its ID for a specific + scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessModuleInfo + :rtype: + ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_process_modules.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_process_modules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules'} + + def get_instance_process_module( + self, resource_group_name, name, process_id, base_address, instance_id, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param base_address: Module base address. + :type base_address: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessModuleInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessModuleInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_module.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'baseAddress': self._serialize.url("base_address", base_address, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessModuleInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_module.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}'} + + def list_instance_process_threads( + self, resource_group_name, name, process_id, instance_id, custom_headers=None, raw=False, **operation_config): + """List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessThreadInfo + :rtype: + ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_process_threads.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_process_threads.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads'} + + def get_instance_process_thread( + self, resource_group_name, name, process_id, thread_id, instance_id, custom_headers=None, raw=False, **operation_config): + """Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param thread_id: TID. + :type thread_id: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessThreadInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessThreadInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_thread.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'threadId': self._serialize.url("thread_id", thread_id, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessThreadInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_thread.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}'} + + def is_cloneable( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Shows whether an app can be cloned to another resource group or + subscription. + + Shows whether an app can be cloned to another resource group or + subscription. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SiteCloneability or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteCloneability or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.is_cloneable.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SiteCloneability', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + is_cloneable.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable'} + + def list_sync_function_triggers( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """This is to allow calling via powershell and ARM template. + + This is to allow calling via powershell and ARM template. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: FunctionSecrets or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionSecrets or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_sync_function_triggers.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('FunctionSecrets', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_sync_function_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus'} + + def list_metric_definitions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets all metric definitions of an app (or deployment slot, if + specified). + + Gets all metric definitions of an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions'} + + def list_metrics( + self, resource_group_name, name, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets performance metrics of an app (or deployment slot, if specified). + + Gets performance metrics of an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param details: Specify "true" to include metric details in the + response. It is "false" by default. + :type details: bool + :param filter: Return only metrics specified in the filter (using + OData syntax). For example: $filter=(name.value eq 'Metric1' or + name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and + endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics'} + + + def _migrate_storage_initial( + self, subscription_name, resource_group_name, name, migration_options, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.migrate_storage.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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['subscriptionName'] = self._serialize.query("subscription_name", subscription_name, 'str') + 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(migration_options, 'StorageMigrationOptions') + + # 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]: + 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('StorageMigrationResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def migrate_storage( + self, subscription_name, resource_group_name, name, migration_options, custom_headers=None, raw=False, polling=True, **operation_config): + """Restores a web app. + + Restores a web app. + + :param subscription_name: Azure subscription. + :type subscription_name: str + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param migration_options: Migration migrationOptions. + :type migration_options: + ~azure.mgmt.web.models.StorageMigrationOptions + :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 + StorageMigrationResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.StorageMigrationResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.StorageMigrationResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._migrate_storage_initial( + subscription_name=subscription_name, + resource_group_name=resource_group_name, + name=name, + migration_options=migration_options, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('StorageMigrationResponse', 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) + migrate_storage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate'} + + + def _migrate_my_sql_initial( + self, resource_group_name, name, migration_request_envelope, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.migrate_my_sql.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(migration_request_envelope, 'MigrateMySqlRequest') + + # 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('Operation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def migrate_my_sql( + self, resource_group_name, name, migration_request_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Migrates a local (in-app) MySql database to a remote MySql database. + + Migrates a local (in-app) MySql database to a remote MySql database. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param migration_request_envelope: MySql migration options. + :type migration_request_envelope: + ~azure.mgmt.web.models.MigrateMySqlRequest + :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 Operation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.Operation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.Operation]] + :raises: :class:`CloudError` + """ + raw_result = self._migrate_my_sql_initial( + resource_group_name=resource_group_name, + name=name, + migration_request_envelope=migration_request_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Operation', 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) + migrate_my_sql.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql'} + + def get_migrate_my_sql_status( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Returns the status of MySql in app migration, if one is active, and + whether or not MySql in app is enabled. + + Returns the status of MySql in app migration, if one is active, and + whether or not MySql in app is enabled. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: MigrateMySqlStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MigrateMySqlStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_migrate_my_sql_status.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('MigrateMySqlStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_migrate_my_sql_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status'} + + def list_network_features( + self, resource_group_name, name, view, custom_headers=None, raw=False, **operation_config): + """Gets all network features used by the app (or deployment slot, if + specified). + + Gets all network features used by the app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param view: The type of view. This can either be "summary" or + "detailed". + :type view: 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: NetworkFeatures or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.NetworkFeatures or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_network_features.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'view': self._serialize.url("view", view, '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]: + 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('NetworkFeatures', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_network_features.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}'} + + def start_web_site_network_trace( + self, resource_group_name, name, duration_in_seconds=None, max_frame_length=None, sas_url=None, custom_headers=None, raw=False, **operation_config): + """Start capturing network packets for the site. + + Start capturing network packets for the site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param duration_in_seconds: The duration to keep capturing in seconds. + :type duration_in_seconds: int + :param max_frame_length: The maximum frame length in bytes (Optional). + :type max_frame_length: int + :param sas_url: The Blob URL to store capture file. + :type sas_url: 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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.start_web_site_network_trace.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 duration_in_seconds is not None: + query_parameters['durationInSeconds'] = self._serialize.query("duration_in_seconds", duration_in_seconds, 'int') + if max_frame_length is not None: + query_parameters['maxFrameLength'] = self._serialize.query("max_frame_length", max_frame_length, 'int') + if sas_url is not None: + query_parameters['sasUrl'] = self._serialize.query("sas_url", sas_url, '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.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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + start_web_site_network_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start'} + + def stop_web_site_network_trace( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Stop ongoing capturing network packets for the site. + + Stop ongoing capturing network packets for the site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.stop_web_site_network_trace.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + stop_web_site_network_trace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop'} + + def generate_new_site_publishing_password( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Generates a new publishing password for an app (or deployment slot, if + specified). + + Generates a new publishing password for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.generate_new_site_publishing_password.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [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 + generate_new_site_publishing_password.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword'} + + def list_perf_mon_counters( + self, resource_group_name, name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets perfmon counters for web app. + + Gets perfmon counters for web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 PerfMonResponse + :rtype: + ~azure.mgmt.web.models.PerfMonResponsePaged[~azure.mgmt.web.models.PerfMonResponse] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_perf_mon_counters.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_perf_mon_counters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters'} + + def get_site_php_error_log_flag( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets web app's event logs. + + Gets web app's event logs. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: SitePhpErrorLogFlag or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SitePhpErrorLogFlag or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_php_error_log_flag.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('SitePhpErrorLogFlag', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_php_error_log_flag.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging'} + + def list_premier_add_ons( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the premier add-ons of an app. + + Gets the premier add-ons of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_premier_add_ons.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_premier_add_ons.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons'} + + def get_premier_add_on( + self, resource_group_name, name, premier_add_on_name, custom_headers=None, raw=False, **operation_config): + """Gets a named add-on of an app. + + Gets a named add-on of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_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: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_premier_add_on.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_premier_add_on.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}'} + + def add_premier_add_on( + self, resource_group_name, name, premier_add_on_name, premier_add_on, custom_headers=None, raw=False, **operation_config): + """Updates a named add-on of an app. + + Updates a named add-on of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_name: str + :param premier_add_on: A JSON representation of the edited premier + add-on. + :type premier_add_on: ~azure.mgmt.web.models.PremierAddOn + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.add_premier_add_on.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_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(premier_add_on, 'PremierAddOn') + + # 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]: + 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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + add_premier_add_on.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}'} + + def delete_premier_add_on( + self, resource_group_name, name, premier_add_on_name, custom_headers=None, raw=False, **operation_config): + """Delete a premier add-on from an app. + + Delete a premier add-on from an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_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_premier_add_on.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_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]: + 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_premier_add_on.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}'} + + def list_processes( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of ProcessInfo + :rtype: + ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_processes.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_processes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes'} + + def get_process( + self, resource_group_name, name, process_id, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_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: ProcessInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_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, 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('ProcessInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}'} + + def delete_process( + self, resource_group_name, name, process_id, custom_headers=None, raw=False, **operation_config): + """Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_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_process.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 [204, 404]: + 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_process.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}'} + + def get_process_dump( + self, resource_group_name, name, process_id, custom_headers=None, raw=False, callback=None, **operation_config): + """Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_dump.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump'} + + def list_process_modules( + self, resource_group_name, name, process_id, custom_headers=None, raw=False, **operation_config): + """List module information for a process by its ID for a specific + scaled-out instance in a web site. + + List module information for a process by its ID for a specific + scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_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 ProcessModuleInfo + :rtype: + ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_process_modules.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_process_modules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules'} + + def get_process_module( + self, resource_group_name, name, process_id, base_address, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param base_address: Module base address. + :type base_address: 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: ProcessModuleInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessModuleInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_module.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'baseAddress': self._serialize.url("base_address", base_address, '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]: + 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('ProcessModuleInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_module.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}'} + + def list_process_threads( + self, resource_group_name, name, process_id, custom_headers=None, raw=False, **operation_config): + """List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_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 ProcessThreadInfo + :rtype: + ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_process_threads.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_process_threads.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads'} + + def get_process_thread( + self, resource_group_name, name, process_id, thread_id, custom_headers=None, raw=False, **operation_config): + """Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param thread_id: TID. + :type thread_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: ProcessThreadInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessThreadInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_thread.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'threadId': self._serialize.url("thread_id", thread_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, 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('ProcessThreadInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_thread.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}'} + + def list_public_certificates( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get public certificates for an app or a deployment slot. + + Get public certificates for an app or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of PublicCertificate + :rtype: + ~azure.mgmt.web.models.PublicCertificatePaged[~azure.mgmt.web.models.PublicCertificate] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_public_certificates.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_public_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates'} + + def get_public_certificate( + self, resource_group_name, name, public_certificate_name, custom_headers=None, raw=False, **operation_config): + """Get the named public certificate for an app (or deployment slot, if + specified). + + Get the named public certificate for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param public_certificate_name: Public certificate name. + :type public_certificate_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: PublicCertificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PublicCertificate or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_public_certificate.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_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('PublicCertificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_public_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}'} + + def create_or_update_public_certificate( + self, resource_group_name, name, public_certificate_name, public_certificate, custom_headers=None, raw=False, **operation_config): + """Creates a hostname binding for an app. + + Creates a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param public_certificate_name: Public certificate name. + :type public_certificate_name: str + :param public_certificate: Public certificate details. This is the + JSON representation of a PublicCertificate object. + :type public_certificate: ~azure.mgmt.web.models.PublicCertificate + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PublicCertificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PublicCertificate or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_public_certificate.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_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(public_certificate, 'PublicCertificate') + + # 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]: + 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('PublicCertificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_public_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}'} + + def delete_public_certificate( + self, resource_group_name, name, public_certificate_name, custom_headers=None, raw=False, **operation_config): + """Deletes a hostname binding for an app. + + Deletes a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param public_certificate_name: Public certificate name. + :type public_certificate_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_public_certificate.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_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_public_certificate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}'} + + def list_publishing_profile_xml_with_secrets( + self, resource_group_name, name, format=None, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the publishing profile for an app (or deployment slot, if + specified). + + Gets the publishing profile for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + publishing_profile_options = models.CsmPublishingProfileOptions(format=format) + + # Construct URL + url = self.list_publishing_profile_xml_with_secrets.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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/xml' + 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(publishing_profile_options, 'CsmPublishingProfileOptions') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_publishing_profile_xml_with_secrets.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml'} + + + def _recover_initial( + self, resource_group_name, name, recovery_entity, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.recover.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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['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(recovery_entity, 'SnapshotRecoveryRequest') + + # 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, 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 recover( + self, resource_group_name, name, recovery_entity, custom_headers=None, raw=False, polling=True, **operation_config): + """Recovers a web app to a previous snapshot. + + Recovers a web app to a previous snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param recovery_entity: Snapshot data used for web app recovery. + Snapshot information can be obtained by calling GetDeletedSites or + GetSiteSnapshots API. + :type recovery_entity: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :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._recover_initial( + resource_group_name=resource_group_name, + name=name, + recovery_entity=recovery_entity, + 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) + recover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover'} + + def reset_production_slot_config( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Resets the configuration settings of the current slot if they were + previously modified by calling the API with POST. + + Resets the configuration settings of the current slot if they were + previously modified by calling the API with POST. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.reset_production_slot_config.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [200]: + 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 + reset_production_slot_config.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig'} + + def restart( + self, resource_group_name, name, soft_restart=None, synchronous=None, custom_headers=None, raw=False, **operation_config): + """Restarts an app (or deployment slot, if specified). + + Restarts an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param soft_restart: Specify true to apply the configuration settings + and restarts the app only if necessary. By default, the API always + restarts and reprovisions the app. + :type soft_restart: bool + :param synchronous: Specify true to block until the app is restarted. + By default, it is set to false, and the API responds immediately + (asynchronous). + :type synchronous: bool + :param dict custom_headers: headers that will 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.restart.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 soft_restart is not None: + query_parameters['softRestart'] = self._serialize.query("soft_restart", soft_restart, 'bool') + if synchronous is not None: + query_parameters['synchronous'] = self._serialize.query("synchronous", synchronous, 'bool') + 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 [200]: + 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 + restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart'} + + def list_site_extensions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get list of site extensions for a web site, or a deployment slot. + + Get list of site extensions for a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of SiteExtensionInfo + :rtype: + ~azure.mgmt.web.models.SiteExtensionInfoPaged[~azure.mgmt.web.models.SiteExtensionInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_extensions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions'} + + def get_site_extension( + self, resource_group_name, name, site_extension_id, custom_headers=None, raw=False, **operation_config): + """Get site extension information by its ID for a web site, or a + deployment slot. + + Get site extension information by its ID for a web site, or a + deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_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: SiteExtensionInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteExtensionInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_extension.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_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, 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('SiteExtensionInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}'} + + + def _install_site_extension_initial( + self, resource_group_name, name, site_extension_id, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.install_site_extension.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_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.put(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201, 429]: + 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('SiteExtensionInfo', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteExtensionInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def install_site_extension( + self, resource_group_name, name, site_extension_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Install site extension on a web site, or a deployment slot. + + Install site extension on a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_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 SiteExtensionInfo or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.SiteExtensionInfo] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.SiteExtensionInfo]] + :raises: :class:`CloudError` + """ + raw_result = self._install_site_extension_initial( + resource_group_name=resource_group_name, + name=name, + site_extension_id=site_extension_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SiteExtensionInfo', 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) + install_site_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}'} + + def delete_site_extension( + self, resource_group_name, name, site_extension_id, custom_headers=None, raw=False, **operation_config): + """Remove a site extension from a web site, or a deployment slot. + + Remove a site extension from a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_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_site_extension.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 [204, 404]: + 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_site_extension.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}'} + + def list_slots( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets an app's deployment slots. + + Gets an app's deployment slots. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: An iterator like instance of Site + :rtype: ~azure.mgmt.web.models.SitePaged[~azure.mgmt.web.models.Site] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_slots.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_slots.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots'} + + def get_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the details of a web, mobile, or API app. + + Gets the details of a web, mobile, or API app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. By default, this API returns + the production slot. + :type slot: 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: Site or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Site or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}'} + + + def _create_or_update_slot_initial( + self, resource_group_name, name, site_envelope, slot, skip_dns_registration=None, skip_custom_domain_verification=None, force_dns_registration=None, ttl_in_seconds=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 skip_dns_registration is not None: + query_parameters['skipDnsRegistration'] = self._serialize.query("skip_dns_registration", skip_dns_registration, 'bool') + if skip_custom_domain_verification is not None: + query_parameters['skipCustomDomainVerification'] = self._serialize.query("skip_custom_domain_verification", skip_custom_domain_verification, 'bool') + if force_dns_registration is not None: + query_parameters['forceDnsRegistration'] = self._serialize.query("force_dns_registration", force_dns_registration, 'bool') + if ttl_in_seconds is not None: + query_parameters['ttlInSeconds'] = self._serialize.query("ttl_in_seconds", ttl_in_seconds, 'str') + 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(site_envelope, 'Site') + + # 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, 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('Site', response) + if response.status_code == 202: + deserialized = self._deserialize('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_slot( + self, resource_group_name, name, site_envelope, slot, skip_dns_registration=None, skip_custom_domain_verification=None, force_dns_registration=None, ttl_in_seconds=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Unique name of the app to create or update. To create or + update a deployment slot, use the {slot} parameter. + :type name: str + :param site_envelope: A JSON representation of the app properties. See + example. + :type site_envelope: ~azure.mgmt.web.models.Site + :param slot: Name of the deployment slot to create or update. By + default, this API attempts to create or modify the production slot. + :type slot: str + :param skip_dns_registration: If true web app hostname is not + registered with DNS on creation. This parameter is + only used for app creation. + :type skip_dns_registration: bool + :param skip_custom_domain_verification: If true, custom (non + *.azurewebsites.net) domains associated with web app are not verified. + :type skip_custom_domain_verification: bool + :param force_dns_registration: If true, web app hostname is force + registered with DNS. + :type force_dns_registration: bool + :param ttl_in_seconds: Time to live in seconds for web app's default + domain name. + :type ttl_in_seconds: 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 Site or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.Site] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.Site]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_slot_initial( + resource_group_name=resource_group_name, + name=name, + site_envelope=site_envelope, + slot=slot, + skip_dns_registration=skip_dns_registration, + skip_custom_domain_verification=skip_custom_domain_verification, + force_dns_registration=force_dns_registration, + ttl_in_seconds=ttl_in_seconds, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Site', 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_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}'} + + def delete_slot( + self, resource_group_name, name, slot, delete_metrics=None, delete_empty_server_farm=None, skip_dns_registration=None, custom_headers=None, raw=False, **operation_config): + """Deletes a web, mobile, or API app, or one of the deployment slots. + + Deletes a web, mobile, or API app, or one of the deployment slots. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app to delete. + :type name: str + :param slot: Name of the deployment slot to delete. By default, the + API deletes the production slot. + :type slot: str + :param delete_metrics: If true, web app metrics are also deleted. + :type delete_metrics: bool + :param delete_empty_server_farm: Specify true if the App Service plan + will be empty after app deletion and you want to delete the empty App + Service plan. By default, the empty App Service plan is not deleted. + :type delete_empty_server_farm: bool + :param skip_dns_registration: If true, DNS registration is skipped. + :type skip_dns_registration: bool + :param dict custom_headers: headers that will 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_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 delete_metrics is not None: + query_parameters['deleteMetrics'] = self._serialize.query("delete_metrics", delete_metrics, 'bool') + if delete_empty_server_farm is not None: + query_parameters['deleteEmptyServerFarm'] = self._serialize.query("delete_empty_server_farm", delete_empty_server_farm, 'bool') + if skip_dns_registration is not None: + query_parameters['skipDnsRegistration'] = self._serialize.query("skip_dns_registration", skip_dns_registration, 'bool') + 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, 404]: + 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_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}'} + + def update_slot( + self, resource_group_name, name, site_envelope, slot, skip_dns_registration=None, skip_custom_domain_verification=None, force_dns_registration=None, ttl_in_seconds=None, custom_headers=None, raw=False, **operation_config): + """Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + Creates a new web, mobile, or API app in an existing resource group, or + updates an existing app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Unique name of the app to create or update. To create or + update a deployment slot, use the {slot} parameter. + :type name: str + :param site_envelope: A JSON representation of the app properties. See + example. + :type site_envelope: ~azure.mgmt.web.models.SitePatchResource + :param slot: Name of the deployment slot to create or update. By + default, this API attempts to create or modify the production slot. + :type slot: str + :param skip_dns_registration: If true web app hostname is not + registered with DNS on creation. This parameter is + only used for app creation. + :type skip_dns_registration: bool + :param skip_custom_domain_verification: If true, custom (non + *.azurewebsites.net) domains associated with web app are not verified. + :type skip_custom_domain_verification: bool + :param force_dns_registration: If true, web app hostname is force + registered with DNS. + :type force_dns_registration: bool + :param ttl_in_seconds: Time to live in seconds for web app's default + domain name. + :type ttl_in_seconds: 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: Site or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Site or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 skip_dns_registration is not None: + query_parameters['skipDnsRegistration'] = self._serialize.query("skip_dns_registration", skip_dns_registration, 'bool') + if skip_custom_domain_verification is not None: + query_parameters['skipCustomDomainVerification'] = self._serialize.query("skip_custom_domain_verification", skip_custom_domain_verification, 'bool') + if force_dns_registration is not None: + query_parameters['forceDnsRegistration'] = self._serialize.query("force_dns_registration", force_dns_registration, 'bool') + if ttl_in_seconds is not None: + query_parameters['ttlInSeconds'] = self._serialize.query("ttl_in_seconds", ttl_in_seconds, 'str') + 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(site_envelope, 'SitePatchResource') + + # 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('Site', response) + if response.status_code == 202: + deserialized = self._deserialize('Site', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}'} + + def analyze_custom_hostname_slot( + self, resource_group_name, name, slot, host_name=None, custom_headers=None, raw=False, **operation_config): + """Analyze a custom hostname. + + Analyze a custom hostname. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param host_name: Custom hostname. + :type host_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: CustomHostnameAnalysisResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.CustomHostnameAnalysisResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.analyze_custom_hostname_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 host_name is not None: + query_parameters['hostName'] = self._serialize.query("host_name", host_name, '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('CustomHostnameAnalysisResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + analyze_custom_hostname_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname'} + + def apply_slot_configuration_slot( + self, resource_group_name, name, slot, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + """Applies the configuration settings from the target slot onto the + current slot. + + Applies the configuration settings from the target slot onto the + current slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the source slot. If a slot is not specified, the + production slot is used as the source slot. + :type slot: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :param dict custom_headers: headers that will 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` + """ + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + # Construct URL + url = self.apply_slot_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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['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(slot_swap_entity, 'CsmSlotEntity') + + # 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 + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + apply_slot_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig'} + + def backup_slot( + self, resource_group_name, name, request, slot, custom_headers=None, raw=False, **operation_config): + """Creates a backup of an app. + + Creates a backup of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: Backup configuration. You can use the JSON response + from the POST action as input here. + :type request: ~azure.mgmt.web.models.BackupRequest + :param slot: Name of the deployment slot. If a slot is not specified, + the API will create a backup for the production slot. + :type slot: 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: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.backup_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(request, 'BackupRequest') + + # 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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + backup_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup'} + + def list_backups_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets existing backups of an app. + + Gets existing backups of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get backups of the production slot. + :type slot: 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 BackupItem + :rtype: + ~azure.mgmt.web.models.BackupItemPaged[~azure.mgmt.web.models.BackupItem] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_backups_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_backups_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups'} + + def discover_restore_slot( + self, resource_group_name, name, request, slot, custom_headers=None, raw=False, **operation_config): + """Discovers an existing app backup that can be restored from a blob in + Azure storage. + + Discovers an existing app backup that can be restored from a blob in + Azure storage. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: A RestoreRequest object that includes Azure storage + URL and blog name for discovery of backup. + :type request: ~azure.mgmt.web.models.RestoreRequest + :param slot: Name of the deployment slot. If a slot is not specified, + the API will perform discovery for the production slot. + :type slot: 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: RestoreRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RestoreRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.discover_restore_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(request, 'RestoreRequest') + + # 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]: + 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('RestoreRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + discover_restore_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover'} + + def get_backup_status_slot( + self, resource_group_name, name, backup_id, slot, custom_headers=None, raw=False, **operation_config): + """Gets a backup of an app by its ID. + + Gets a backup of an app by its ID. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get a backup of the production slot. + :type slot: 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: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_backup_status_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_backup_status_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}'} + + def delete_backup_slot( + self, resource_group_name, name, backup_id, slot, custom_headers=None, raw=False, **operation_config): + """Deletes a backup of an app by its ID. + + Deletes a backup of an app by its ID. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete a backup of the production slot. + :type slot: 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_backup_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 404]: + 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_backup_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}'} + + def list_backup_status_secrets_slot( + self, resource_group_name, name, backup_id, request, slot, custom_headers=None, raw=False, **operation_config): + """Gets status of a web app backup that may be in progress, including + secrets associated with the backup, such as the Azure Storage SAS URL. + Also can be used to update the SAS URL for the backup if a new URL is + passed in the request body. + + Gets status of a web app backup that may be in progress, including + secrets associated with the backup, such as the Azure Storage SAS URL. + Also can be used to update the SAS URL for the backup if a new URL is + passed in the request body. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param backup_id: ID of backup. + :type backup_id: str + :param request: Information on backup request. + :type request: ~azure.mgmt.web.models.BackupRequest + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: BackupItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupItem or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_backup_status_secrets_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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(request, 'BackupRequest') + + # 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('BackupItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_backup_status_secrets_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list'} + + + def _restore_slot_initial( + self, resource_group_name, name, backup_id, request, slot, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.restore_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'backupId': self._serialize.url("backup_id", backup_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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(request, 'RestoreRequest') + + # 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('RestoreResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def restore_slot( + self, resource_group_name, name, backup_id, request, slot, custom_headers=None, raw=False, polling=True, **operation_config): + """Restores a specific backup to another app (or deployment slot, if + specified). + + Restores a specific backup to another app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param backup_id: ID of the backup. + :type backup_id: str + :param request: Information on restore request . + :type request: ~azure.mgmt.web.models.RestoreRequest + :param slot: Name of the deployment slot. If a slot is not specified, + the API will restore a backup of the production slot. + :type slot: 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 RestoreResponse or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.RestoreResponse] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.RestoreResponse]] + :raises: :class:`CloudError` + """ + raw_result = self._restore_slot_initial( + resource_group_name=resource_group_name, + name=name, + backup_id=backup_id, + request=request, + slot=slot, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RestoreResponse', 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) + restore_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore'} + + def list_configurations_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List the configurations of an app. + + List the configurations of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will return configuration for the production slot. + :type slot: 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 SiteConfigResource + :rtype: + ~azure.mgmt.web.models.SiteConfigResourcePaged[~azure.mgmt.web.models.SiteConfigResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_configurations_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_configurations_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config'} + + def update_application_settings_slot( + self, resource_group_name, name, slot, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the application settings of an app. + + Replaces the application settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the application settings for the production slot. + :type slot: str + :param kind: Kind of resource. + :type kind: str + :param properties: Settings. + :type properties: dict[str, 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + app_settings = models.StringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_application_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(app_settings, 'StringDictionary') + + # 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]: + 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_application_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings'} + + def list_application_settings_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the application settings of an app. + + Gets the application settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the application settings for the production slot. + :type slot: 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_application_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_application_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list'} + + def update_auth_settings_slot( + self, resource_group_name, name, site_auth_settings, slot, custom_headers=None, raw=False, **operation_config): + """Updates the Authentication / Authorization settings associated with web + app. + + Updates the Authentication / Authorization settings associated with web + app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param site_auth_settings: Auth settings associated with web app. + :type site_auth_settings: ~azure.mgmt.web.models.SiteAuthSettings + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: SiteAuthSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteAuthSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_auth_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_auth_settings, 'SiteAuthSettings') + + # 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]: + 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('SiteAuthSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_auth_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings'} + + def get_auth_settings_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the Authentication/Authorization settings of an app. + + Gets the Authentication/Authorization settings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the settings for the production slot. + :type slot: 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: SiteAuthSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteAuthSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_auth_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SiteAuthSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_auth_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list'} + + def update_backup_configuration_slot( + self, resource_group_name, name, request, slot, custom_headers=None, raw=False, **operation_config): + """Updates the backup configuration of an app. + + Updates the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param request: Edited backup configuration. + :type request: ~azure.mgmt.web.models.BackupRequest + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the backup configuration for the production slot. + :type slot: 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: BackupRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_backup_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(request, 'BackupRequest') + + # 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]: + 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('BackupRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_backup_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup'} + + def delete_backup_configuration_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Deletes the backup configuration of an app. + + Deletes the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the backup configuration for the production slot. + :type slot: 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_backup_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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_backup_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup'} + + def get_backup_configuration_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the backup configuration of an app. + + Gets the backup configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the backup configuration for the production slot. + :type slot: 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: BackupRequest or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.BackupRequest or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_backup_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('BackupRequest', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_backup_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list'} + + def update_connection_strings_slot( + self, resource_group_name, name, slot, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the connection strings of an app. + + Replaces the connection strings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the connection settings for the production slot. + :type slot: str + :param kind: Kind of resource. + :type kind: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ConnectionStringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ConnectionStringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + connection_strings = models.ConnectionStringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_connection_strings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_strings, 'ConnectionStringDictionary') + + # 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]: + 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('ConnectionStringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_connection_strings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings'} + + def list_connection_strings_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the connection strings of an app. + + Gets the connection strings of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the connection settings for the production slot. + :type slot: 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: ConnectionStringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ConnectionStringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_connection_strings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('ConnectionStringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_connection_strings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list'} + + def get_diagnostic_logs_configuration_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the logging configuration of an app. + + Gets the logging configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the logging configuration for the production slot. + :type slot: 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: SiteLogsConfig or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteLogsConfig or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_diagnostic_logs_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SiteLogsConfig', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_diagnostic_logs_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs'} + + def update_diagnostic_logs_config_slot( + self, resource_group_name, name, site_logs_config, slot, custom_headers=None, raw=False, **operation_config): + """Updates the logging configuration of an app. + + Updates the logging configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_logs_config: A SiteLogsConfig JSON object that contains + the logging configuration to change in the "properties" property. + :type site_logs_config: ~azure.mgmt.web.models.SiteLogsConfig + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the logging configuration for the production slot. + :type slot: 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: SiteLogsConfig or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteLogsConfig or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_diagnostic_logs_config_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_logs_config, 'SiteLogsConfig') + + # 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]: + 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('SiteLogsConfig', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_diagnostic_logs_config_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs'} + + def update_metadata_slot( + self, resource_group_name, name, slot, kind=None, properties=None, custom_headers=None, raw=False, **operation_config): + """Replaces the metadata of an app. + + Replaces the metadata of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the metadata for the production slot. + :type slot: str + :param kind: Kind of resource. + :type kind: str + :param properties: Settings. + :type properties: dict[str, 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + metadata = models.StringDictionary(kind=kind, properties=properties) + + # Construct URL + url = self.update_metadata_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(metadata, 'StringDictionary') + + # 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]: + 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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_metadata_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata'} + + def list_metadata_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the metadata of an app. + + Gets the metadata of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the metadata for the production slot. + :type slot: 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: StringDictionary or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.StringDictionary or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_metadata_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('StringDictionary', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_metadata_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list'} + + + def _list_publishing_credentials_slot_initial( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_publishing_credentials_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_publishing_credentials_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the Git/FTP publishing credentials of an app. + + Gets the Git/FTP publishing credentials of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the publishing credentials for the production slot. + :type slot: 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 User or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.User] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.User]] + :raises: :class:`CloudError` + """ + raw_result = self._list_publishing_credentials_slot_initial( + resource_group_name=resource_group_name, + name=name, + slot=slot, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('User', 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) + list_publishing_credentials_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list'} + + def update_site_push_settings_slot( + self, resource_group_name, name, push_settings, slot, custom_headers=None, raw=False, **operation_config): + """Updates the Push settings associated with web app. + + Updates the Push settings associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param push_settings: Push settings associated with web app. + :type push_settings: ~azure.mgmt.web.models.PushSettings + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: PushSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PushSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_site_push_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(push_settings, 'PushSettings') + + # 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]: + 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('PushSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_site_push_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings'} + + def list_site_push_settings_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the Push settings associated with web app. + + Gets the Push settings associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: PushSettings or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PushSettings or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_site_push_settings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('PushSettings', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_site_push_settings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list'} + + def get_configuration_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the configuration of an app, such as platform version and bitness, + default documents, virtual applications, Always On, etc. + + Gets the configuration of an app, such as platform version and bitness, + default documents, virtual applications, Always On, etc. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will return configuration for the production slot. + :type slot: 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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web'} + + def create_or_update_configuration_slot( + self, resource_group_name, name, site_config, slot, custom_headers=None, raw=False, **operation_config): + """Updates the configuration of an app. + + Updates the configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_config: JSON representation of a SiteConfig object. See + example. + :type site_config: ~azure.mgmt.web.models.SiteConfigResource + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update configuration for the production slot. + :type slot: 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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_config, 'SiteConfigResource') + + # 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]: + 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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web'} + + def update_configuration_slot( + self, resource_group_name, name, site_config, slot, custom_headers=None, raw=False, **operation_config): + """Updates the configuration of an app. + + Updates the configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_config: JSON representation of a SiteConfig object. See + example. + :type site_config: ~azure.mgmt.web.models.SiteConfigResource + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update configuration for the production slot. + :type slot: 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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_config, 'SiteConfigResource') + + # 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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web'} + + def list_configuration_snapshot_info_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a list of web app configuration snapshots identifiers. Each + element of the list contains a timestamp and the ID of the snapshot. + + Gets a list of web app configuration snapshots identifiers. Each + element of the list contains a timestamp and the ID of the snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will return configuration for the production slot. + :type slot: 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 SiteConfigurationSnapshotInfo + :rtype: + ~azure.mgmt.web.models.SiteConfigurationSnapshotInfoPaged[~azure.mgmt.web.models.SiteConfigurationSnapshotInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_configuration_snapshot_info_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_configuration_snapshot_info_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots'} + + def get_configuration_snapshot_slot( + self, resource_group_name, name, snapshot_id, slot, custom_headers=None, raw=False, **operation_config): + """Gets a snapshot of the configuration of an app at a previous point in + time. + + Gets a snapshot of the configuration of an app at a previous point in + time. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param snapshot_id: The ID of the snapshot to read. + :type snapshot_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will return configuration for the production slot. + :type slot: 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: SiteConfigResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteConfigResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_configuration_snapshot_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'snapshotId': self._serialize.url("snapshot_id", snapshot_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SiteConfigResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_configuration_snapshot_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}'} + + def recover_site_configuration_snapshot_slot( + self, resource_group_name, name, snapshot_id, slot, custom_headers=None, raw=False, **operation_config): + """Reverts the configuration of an app to a previous snapshot. + + Reverts the configuration of an app to a previous snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param snapshot_id: The ID of the snapshot to read. + :type snapshot_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will return configuration for the production slot. + :type slot: 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.recover_site_configuration_snapshot_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'snapshotId': self._serialize.url("snapshot_id", snapshot_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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 + recover_site_configuration_snapshot_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover'} + + def get_web_site_container_logs_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the last lines of docker logs for the given site. + + Gets the last lines of docker logs for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_site_container_logs_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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/octet-stream' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_site_container_logs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs'} + + def get_web_site_container_logs_zip_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the ZIP archived docker log files for the given site. + + Gets the ZIP archived docker log files for the given site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_site_container_logs_zip_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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/zip' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_site_container_logs_zip_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download'} + + def list_continuous_web_jobs_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List continuous web jobs for an app, or a deployment slot. + + List continuous web jobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 ContinuousWebJob + :rtype: + ~azure.mgmt.web.models.ContinuousWebJobPaged[~azure.mgmt.web.models.ContinuousWebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_continuous_web_jobs_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_continuous_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs'} + + def get_continuous_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a continuous web job by its ID for an app, or a deployment slot. + + Gets a continuous web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: ContinuousWebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ContinuousWebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_continuous_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('ContinuousWebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_continuous_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}'} + + def delete_continuous_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Delete a continuous web job by its ID for an app, or a deployment slot. + + Delete a continuous web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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_continuous_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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_continuous_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}'} + + def start_continuous_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Start a continuous web job for an app, or a deployment slot. + + Start a continuous web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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.start_continuous_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200, 404]: + 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 + start_continuous_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start'} + + def stop_continuous_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Stop a continuous web job for an app, or a deployment slot. + + Stop a continuous web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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.stop_continuous_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200, 404]: + 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 + stop_continuous_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop'} + + def list_deployments_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List deployments for an app, or a deployment slot. + + List deployments for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 Deployment + :rtype: + ~azure.mgmt.web.models.DeploymentPaged[~azure.mgmt.web.models.Deployment] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_deployments_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_deployments_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments'} + + def get_deployment_slot( + self, resource_group_name, name, id, slot, custom_headers=None, raw=False, **operation_config): + """Get a deployment by its ID for an app, or a deployment slot. + + Get a deployment by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: Deployment ID. + :type id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API gets a deployment for the production slot. + :type slot: 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: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_deployment_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", id, 'str'), + 'slot': self._serialize.url("slot", slot, '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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_deployment_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}'} + + def create_deployment_slot( + self, resource_group_name, name, id, slot, deployment, custom_headers=None, raw=False, **operation_config): + """Create a deployment for an app, or a deployment slot. + + Create a deployment for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: ID of an existing deployment. + :type id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API creates a deployment for the production slot. + :type slot: str + :param deployment: Deployment details. + :type deployment: ~azure.mgmt.web.models.Deployment + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_deployment_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", id, 'str'), + 'slot': self._serialize.url("slot", slot, '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(deployment, '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]: + 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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_deployment_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}'} + + def delete_deployment_slot( + self, resource_group_name, name, id, slot, custom_headers=None, raw=False, **operation_config): + """Delete a deployment by its ID for an app, or a deployment slot. + + Delete a deployment by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: Deployment ID. + :type id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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_deployment_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", id, 'str'), + 'slot': self._serialize.url("slot", slot, '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_deployment_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}'} + + def list_deployment_log_slot( + self, resource_group_name, name, id, slot, custom_headers=None, raw=False, **operation_config): + """List deployment log for specific deployment for an app, or a deployment + slot. + + List deployment log for specific deployment for an app, or a deployment + slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param id: The ID of a specific deployment. This is the value of the + name property in the JSON response from "GET + /api/sites/{siteName}/deployments". + :type id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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: Deployment or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Deployment or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_deployment_log_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'id': self._serialize.url("id", id, 'str'), + 'slot': self._serialize.url("slot", slot, '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('Deployment', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_deployment_log_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log'} + + def list_domain_ownership_identifiers_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Lists ownership identifiers for domain associated with web app. + + Lists ownership identifiers for domain associated with web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: 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 Identifier + :rtype: + ~azure.mgmt.web.models.IdentifierPaged[~azure.mgmt.web.models.Identifier] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_domain_ownership_identifiers_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_domain_ownership_identifiers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers'} + + def get_domain_ownership_identifier_slot( + self, resource_group_name, name, domain_ownership_identifier_name, slot, custom_headers=None, raw=False, **operation_config): + """Get domain ownership identifier for web app. + + Get domain ownership identifier for web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: 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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_domain_ownership_identifier_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_domain_ownership_identifier_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def create_or_update_domain_ownership_identifier_slot( + self, resource_group_name, name, domain_ownership_identifier_name, slot, kind=None, identifier_id=None, custom_headers=None, raw=False, **operation_config): + """Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: str + :param kind: Kind of resource. + :type kind: str + :param identifier_id: String representation of the identity. + :type identifier_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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.Identifier(kind=kind, identifier_id=identifier_id) + + # Construct URL + url = self.create_or_update_domain_ownership_identifier_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(domain_ownership_identifier, 'Identifier') + + # 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]: + 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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_domain_ownership_identifier_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def delete_domain_ownership_identifier_slot( + self, resource_group_name, name, domain_ownership_identifier_name, slot, custom_headers=None, raw=False, **operation_config): + """Deletes a domain ownership identifier for a web app. + + Deletes a domain ownership identifier for a web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: 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_domain_ownership_identifier_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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_domain_ownership_identifier_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def update_domain_ownership_identifier_slot( + self, resource_group_name, name, domain_ownership_identifier_name, slot, kind=None, identifier_id=None, custom_headers=None, raw=False, **operation_config): + """Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + Creates a domain ownership identifier for web app, or updates an + existing ownership identifier. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param domain_ownership_identifier_name: Name of domain ownership + identifier. + :type domain_ownership_identifier_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: str + :param kind: Kind of resource. + :type kind: str + :param identifier_id: String representation of the identity. + :type identifier_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: Identifier or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Identifier or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + domain_ownership_identifier = models.Identifier(kind=kind, identifier_id=identifier_id) + + # Construct URL + url = self.update_domain_ownership_identifier_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'domainOwnershipIdentifierName': self._serialize.url("domain_ownership_identifier_name", domain_ownership_identifier_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(domain_ownership_identifier, 'Identifier') + + # 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('Identifier', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_domain_ownership_identifier_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}'} + + def get_ms_deploy_status_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get the status of the last MSDeploy operation. + + Get the status of the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: MSDeployStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ms_deploy_status_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ms_deploy_status_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy'} + + + def _create_ms_deploy_operation_slot_initial( + self, resource_group_name, name, slot, ms_deploy, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_ms_deploy_operation_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(ms_deploy, 'MSDeploy') + + # 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, 409]: + 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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_ms_deploy_operation_slot( + self, resource_group_name, name, slot, ms_deploy, custom_headers=None, raw=False, polling=True, **operation_config): + """Invoke the MSDeploy web app extension. + + Invoke the MSDeploy web app extension. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param ms_deploy: Details of MSDeploy operation + :type ms_deploy: ~azure.mgmt.web.models.MSDeploy + :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 MSDeployStatus or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.MSDeployStatus] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.MSDeployStatus]] + :raises: :class:`CloudError` + """ + raw_result = self._create_ms_deploy_operation_slot_initial( + resource_group_name=resource_group_name, + name=name, + slot=slot, + ms_deploy=ms_deploy, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MSDeployStatus', 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_ms_deploy_operation_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy'} + + def get_ms_deploy_log_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get the MSDeploy Log for the last MSDeploy operation. + + Get the MSDeploy Log for the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: MSDeployLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployLog or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ms_deploy_log_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('MSDeployLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ms_deploy_log_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log'} + + def list_instance_functions_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List the functions for a web site, or a deployment slot. + + List the functions for a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 FunctionEnvelope + :rtype: + ~azure.mgmt.web.models.FunctionEnvelopePaged[~azure.mgmt.web.models.FunctionEnvelope] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_functions_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_functions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions'} + + def get_functions_admin_token_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Fetch a short lived token that can be exchanged for a master key. + + Fetch a short lived token that can be exchanged for a master key. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_functions_admin_token_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_functions_admin_token_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token'} + + def get_instance_function_slot( + self, resource_group_name, name, function_name, slot, custom_headers=None, raw=False, **operation_config): + """Get function information by its ID for web site, or a deployment slot. + + Get function information by its ID for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: FunctionEnvelope or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionEnvelope or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_function_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('FunctionEnvelope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_function_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}'} + + + def _create_instance_function_slot_initial( + self, resource_group_name, name, function_name, slot, function_envelope, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_instance_function_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(function_envelope, 'FunctionEnvelope') + + # 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('FunctionEnvelope', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_instance_function_slot( + self, resource_group_name, name, function_name, slot, function_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Create function for web site, or a deployment slot. + + Create function for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: str + :param function_envelope: Function details. + :type function_envelope: ~azure.mgmt.web.models.FunctionEnvelope + :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 FunctionEnvelope or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.FunctionEnvelope] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.FunctionEnvelope]] + :raises: :class:`CloudError` + """ + raw_result = self._create_instance_function_slot_initial( + resource_group_name=resource_group_name, + name=name, + function_name=function_name, + slot=slot, + function_envelope=function_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FunctionEnvelope', 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_instance_function_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}'} + + def delete_instance_function_slot( + self, resource_group_name, name, function_name, slot, custom_headers=None, raw=False, **operation_config): + """Delete a function for web site, or a deployment slot. + + Delete a function for web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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_instance_function_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [204, 404]: + 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_instance_function_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}'} + + def list_function_secrets_slot( + self, resource_group_name, name, function_name, slot, custom_headers=None, raw=False, **operation_config): + """Get function secrets for a function in a web site, or a deployment + slot. + + Get function secrets for a function in a web site, or a deployment + slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param function_name: Function name. + :type function_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: FunctionSecrets or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionSecrets or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_function_secrets_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'functionName': self._serialize.url("function_name", function_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('FunctionSecrets', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_function_secrets_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets'} + + def list_host_name_bindings_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get hostname bindings for an app or a deployment slot. + + Get hostname bindings for an app or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API gets hostname bindings for the production slot. + :type slot: 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 HostNameBinding + :rtype: + ~azure.mgmt.web.models.HostNameBindingPaged[~azure.mgmt.web.models.HostNameBinding] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_host_name_bindings_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_host_name_bindings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings'} + + def get_host_name_binding_slot( + self, resource_group_name, name, slot, host_name, custom_headers=None, raw=False, **operation_config): + """Get the named hostname binding for an app (or deployment slot, if + specified). + + Get the named hostname binding for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API the named binding for the production slot. + :type slot: str + :param host_name: Hostname in the hostname binding. + :type host_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: HostNameBinding or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HostNameBinding or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_host_name_binding_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'hostName': self._serialize.url("host_name", host_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('HostNameBinding', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_host_name_binding_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}'} + + def create_or_update_host_name_binding_slot( + self, resource_group_name, name, host_name, host_name_binding, slot, custom_headers=None, raw=False, **operation_config): + """Creates a hostname binding for an app. + + Creates a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param host_name: Hostname in the hostname binding. + :type host_name: str + :param host_name_binding: Binding details. This is the JSON + representation of a HostNameBinding object. + :type host_name_binding: ~azure.mgmt.web.models.HostNameBinding + :param slot: Name of the deployment slot. If a slot is not specified, + the API will create a binding for the production slot. + :type slot: 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: HostNameBinding or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HostNameBinding or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_host_name_binding_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'hostName': self._serialize.url("host_name", host_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(host_name_binding, 'HostNameBinding') + + # 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]: + 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('HostNameBinding', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_host_name_binding_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}'} + + def delete_host_name_binding_slot( + self, resource_group_name, name, slot, host_name, custom_headers=None, raw=False, **operation_config): + """Deletes a hostname binding for an app. + + Deletes a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: str + :param host_name: Hostname in the hostname binding. + :type host_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_host_name_binding_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'hostName': self._serialize.url("host_name", host_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_host_name_binding_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}'} + + def get_hybrid_connection_slot( + self, resource_group_name, name, namespace_name, relay_name, slot, custom_headers=None, raw=False, **operation_config): + """Retrieves a specific Service Bus Hybrid Connection used by this Web + App. + + Retrieves a specific Service Bus Hybrid Connection used by this Web + App. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param slot: The name of the slot for the web app. + :type slot: 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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_hybrid_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_hybrid_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def create_or_update_hybrid_connection_slot( + self, resource_group_name, name, namespace_name, relay_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Creates a new Hybrid Connection using a Service Bus relay. + + Creates a new Hybrid Connection using a Service Bus relay. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param connection_envelope: The details of the hybrid connection. + :type connection_envelope: ~azure.mgmt.web.models.HybridConnection + :param slot: The name of the slot for the web app. + :type slot: 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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_hybrid_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'HybridConnection') + + # 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]: + 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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_hybrid_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def delete_hybrid_connection_slot( + self, resource_group_name, name, namespace_name, relay_name, slot, custom_headers=None, raw=False, **operation_config): + """Removes a Hybrid Connection from this site. + + Removes a Hybrid Connection from this site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param slot: The name of the slot for the web app. + :type slot: 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_hybrid_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 404]: + 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_hybrid_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def update_hybrid_connection_slot( + self, resource_group_name, name, namespace_name, relay_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Creates a new Hybrid Connection using a Service Bus relay. + + Creates a new Hybrid Connection using a Service Bus relay. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param connection_envelope: The details of the hybrid connection. + :type connection_envelope: ~azure.mgmt.web.models.HybridConnection + :param slot: The name of the slot for the web app. + :type slot: 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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_hybrid_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'HybridConnection') + + # 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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_hybrid_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def list_hybrid_connection_keys_slot( + self, resource_group_name, name, namespace_name, relay_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the send key name and value for a Hybrid Connection. + + Gets the send key name and value for a Hybrid Connection. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param namespace_name: The namespace for this hybrid connection. + :type namespace_name: str + :param relay_name: The relay name for this hybrid connection. + :type relay_name: str + :param slot: The name of the slot for the web app. + :type slot: 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: HybridConnectionKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnectionKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_hybrid_connection_keys_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('HybridConnectionKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_hybrid_connection_keys_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys'} + + def list_hybrid_connections_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Retrieves all Service Bus Hybrid Connections used by this Web App. + + Retrieves all Service Bus Hybrid Connections used by this Web App. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param slot: The name of the slot for the web app. + :type slot: 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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_hybrid_connections_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_hybrid_connections_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays'} + + def list_relay_service_connections_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets hybrid connections configured for an app (or deployment slot, if + specified). + + Gets hybrid connections configured for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get hybrid connections for the production slot. + :type slot: 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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_relay_service_connections_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_relay_service_connections_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection'} + + def get_relay_service_connection_slot( + self, resource_group_name, name, entity_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a hybrid connection configuration by its name. + + Gets a hybrid connection configuration by its name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection. + :type entity_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get a hybrid connection for the production slot. + :type slot: 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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_relay_service_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_relay_service_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}'} + + def create_or_update_relay_service_connection_slot( + self, resource_group_name, name, entity_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_name: str + :param connection_envelope: Details of the hybrid connection + configuration. + :type connection_envelope: + ~azure.mgmt.web.models.RelayServiceConnectionEntity + :param slot: Name of the deployment slot. If a slot is not specified, + the API will create or update a hybrid connection for the production + slot. + :type slot: 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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_relay_service_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'RelayServiceConnectionEntity') + + # 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]: + 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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_relay_service_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}'} + + def delete_relay_service_connection_slot( + self, resource_group_name, name, entity_name, slot, custom_headers=None, raw=False, **operation_config): + """Deletes a relay service connection by its name. + + Deletes a relay service connection by its name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete a hybrid connection for the production slot. + :type slot: 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_relay_service_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 404]: + 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_relay_service_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}'} + + def update_relay_service_connection_slot( + self, resource_group_name, name, entity_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + Creates a new hybrid connection configuration (PUT), or updates an + existing one (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param entity_name: Name of the hybrid connection configuration. + :type entity_name: str + :param connection_envelope: Details of the hybrid connection + configuration. + :type connection_envelope: + ~azure.mgmt.web.models.RelayServiceConnectionEntity + :param slot: Name of the deployment slot. If a slot is not specified, + the API will create or update a hybrid connection for the production + slot. + :type slot: 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: RelayServiceConnectionEntity or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.RelayServiceConnectionEntity or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_relay_service_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'entityName': self._serialize.url("entity_name", entity_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'RelayServiceConnectionEntity') + + # 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('RelayServiceConnectionEntity', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_relay_service_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}'} + + def list_instance_identifiers_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets all scale-out instances of an app. + + Gets all scale-out instances of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API gets the production slot instances. + :type slot: 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 SiteInstance + :rtype: + ~azure.mgmt.web.models.SiteInstancePaged[~azure.mgmt.web.models.SiteInstance] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_identifiers_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_identifiers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances'} + + def get_instance_ms_deploy_status_slot( + self, resource_group_name, name, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get the status of the last MSDeploy operation. + + Get the status of the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param instance_id: ID of web app instance. + :type instance_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: MSDeployStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_ms_deploy_status_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_ms_deploy_status_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy'} + + + def _create_instance_ms_deploy_operation_slot_initial( + self, resource_group_name, name, slot, instance_id, ms_deploy, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_instance_ms_deploy_operation_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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' + 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(ms_deploy, 'MSDeploy') + + # 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, 409]: + 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('MSDeployStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_instance_ms_deploy_operation_slot( + self, resource_group_name, name, slot, instance_id, ms_deploy, custom_headers=None, raw=False, polling=True, **operation_config): + """Invoke the MSDeploy web app extension. + + Invoke the MSDeploy web app extension. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param instance_id: ID of web app instance. + :type instance_id: str + :param ms_deploy: Details of MSDeploy operation + :type ms_deploy: ~azure.mgmt.web.models.MSDeploy + :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 MSDeployStatus or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.MSDeployStatus] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.MSDeployStatus]] + :raises: :class:`CloudError` + """ + raw_result = self._create_instance_ms_deploy_operation_slot_initial( + resource_group_name=resource_group_name, + name=name, + slot=slot, + instance_id=instance_id, + ms_deploy=ms_deploy, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MSDeployStatus', 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_instance_ms_deploy_operation_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy'} + + def get_instance_ms_deploy_log_slot( + self, resource_group_name, name, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get the MSDeploy Log for the last MSDeploy operation. + + Get the MSDeploy Log for the last MSDeploy operation. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param instance_id: ID of web app instance. + :type instance_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: MSDeployLog or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MSDeployLog or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_ms_deploy_log_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('MSDeployLog', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_ms_deploy_log_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log'} + + def list_instance_processes_slot( + self, resource_group_name, name, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessInfo + :rtype: + ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_processes_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_processes_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes'} + + def get_instance_process_slot( + self, resource_group_name, name, process_id, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}'} + + def delete_instance_process_slot( + self, resource_group_name, name, process_id, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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_instance_process_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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 = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not 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 [204, 404]: + 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_instance_process_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}'} + + def get_instance_process_dump_slot( + self, resource_group_name, name, process_id, slot, instance_id, custom_headers=None, raw=False, callback=None, **operation_config): + """Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_dump_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_dump_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump'} + + def list_instance_process_modules_slot( + self, resource_group_name, name, process_id, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """List module information for a process by its ID for a specific + scaled-out instance in a web site. + + List module information for a process by its ID for a specific + scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessModuleInfo + :rtype: + ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_process_modules_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_process_modules_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules'} + + def get_instance_process_module_slot( + self, resource_group_name, name, process_id, base_address, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param base_address: Module base address. + :type base_address: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessModuleInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessModuleInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_module_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'baseAddress': self._serialize.url("base_address", base_address, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessModuleInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_module_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}'} + + def list_instance_process_threads_slot( + self, resource_group_name, name, process_id, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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 ProcessThreadInfo + :rtype: + ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_instance_process_threads_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_instance_process_threads_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads'} + + def get_instance_process_thread_slot( + self, resource_group_name, name, process_id, thread_id, slot, instance_id, custom_headers=None, raw=False, **operation_config): + """Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param thread_id: TID. + :type thread_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: str + :param instance_id: ID of a specific scaled-out instance. This is the + value of the name property in the JSON response from "GET + api/sites/{siteName}/instances". + :type instance_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: ProcessThreadInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessThreadInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_instance_process_thread_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'threadId': self._serialize.url("thread_id", thread_id, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'instanceId': self._serialize.url("instance_id", instance_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, 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('ProcessThreadInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_instance_process_thread_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}'} + + def is_cloneable_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Shows whether an app can be cloned to another resource group or + subscription. + + Shows whether an app can be cloned to another resource group or + subscription. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. By default, this API returns + information on the production slot. + :type slot: 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: SiteCloneability or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteCloneability or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.is_cloneable_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SiteCloneability', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + is_cloneable_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable'} + + def list_sync_function_triggers_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """This is to allow calling via powershell and ARM template. + + This is to allow calling via powershell and ARM template. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will restore a backup of the production slot. + :type slot: 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: FunctionSecrets or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.FunctionSecrets or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_sync_function_triggers_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('FunctionSecrets', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_sync_function_triggers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus'} + + def list_metric_definitions_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets all metric definitions of an app (or deployment slot, if + specified). + + Gets all metric definitions of an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get metric definitions of the production slot. + :type slot: 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 ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metric_definitions_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metric_definitions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions'} + + def list_metrics_slot( + self, resource_group_name, name, slot, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets performance metrics of an app (or deployment slot, if specified). + + Gets performance metrics of an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get metrics of the production slot. + :type slot: str + :param details: Specify "true" to include metric details in the + response. It is "false" by default. + :type details: bool + :param filter: Return only metrics specified in the filter (using + OData syntax). For example: $filter=(name.value eq 'Metric1' or + name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and + endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metrics_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metrics_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics'} + + def get_migrate_my_sql_status_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Returns the status of MySql in app migration, if one is active, and + whether or not MySql in app is enabled. + + Returns the status of MySql in app migration, if one is active, and + whether or not MySql in app is enabled. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of the deployment slot. + :type slot: 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: MigrateMySqlStatus or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MigrateMySqlStatus or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_migrate_my_sql_status_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('MigrateMySqlStatus', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_migrate_my_sql_status_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status'} + + def list_network_features_slot( + self, resource_group_name, name, view, slot, custom_headers=None, raw=False, **operation_config): + """Gets all network features used by the app (or deployment slot, if + specified). + + Gets all network features used by the app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param view: The type of view. This can either be "summary" or + "detailed". + :type view: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get network features for the production slot. + :type slot: 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: NetworkFeatures or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.NetworkFeatures or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_network_features_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'view': self._serialize.url("view", view, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('NetworkFeatures', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_network_features_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}'} + + def start_web_site_network_trace_slot( + self, resource_group_name, name, slot, duration_in_seconds=None, max_frame_length=None, sas_url=None, custom_headers=None, raw=False, **operation_config): + """Start capturing network packets for the site. + + Start capturing network packets for the site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param slot: The name of the slot for this web app. + :type slot: str + :param duration_in_seconds: The duration to keep capturing in seconds. + :type duration_in_seconds: int + :param max_frame_length: The maximum frame length in bytes (Optional). + :type max_frame_length: int + :param sas_url: The Blob URL to store capture file. + :type sas_url: 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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.start_web_site_network_trace_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 duration_in_seconds is not None: + query_parameters['durationInSeconds'] = self._serialize.query("duration_in_seconds", duration_in_seconds, 'int') + if max_frame_length is not None: + query_parameters['maxFrameLength'] = self._serialize.query("max_frame_length", max_frame_length, 'int') + if sas_url is not None: + query_parameters['sasUrl'] = self._serialize.query("sas_url", sas_url, '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.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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + start_web_site_network_trace_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start'} + + def stop_web_site_network_trace_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Stop ongoing capturing network packets for the site. + + Stop ongoing capturing network packets for the site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: The name of the web app. + :type name: str + :param slot: The name of the slot for this web app. + :type slot: 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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.stop_web_site_network_trace_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + stop_web_site_network_trace_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop'} + + def generate_new_site_publishing_password_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Generates a new publishing password for an app (or deployment slot, if + specified). + + Generates a new publishing password for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API generate a new publishing password for the production slot. + :type slot: 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.generate_new_site_publishing_password_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [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 + generate_new_site_publishing_password_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword'} + + def list_perf_mon_counters_slot( + self, resource_group_name, name, slot, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets perfmon counters for web app. + + Gets perfmon counters for web app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: str + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 PerfMonResponse + :rtype: + ~azure.mgmt.web.models.PerfMonResponsePaged[~azure.mgmt.web.models.PerfMonResponse] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_perf_mon_counters_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_perf_mon_counters_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters'} + + def get_site_php_error_log_flag_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets web app's event logs. + + Gets web app's event logs. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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: SitePhpErrorLogFlag or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SitePhpErrorLogFlag or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_php_error_log_flag_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('SitePhpErrorLogFlag', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_php_error_log_flag_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging'} + + def list_premier_add_ons_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the premier add-ons of an app. + + Gets the premier add-ons of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the premier add-ons for the production slot. + :type slot: 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: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_premier_add_ons_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_premier_add_ons_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons'} + + def get_premier_add_on_slot( + self, resource_group_name, name, premier_add_on_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a named add-on of an app. + + Gets a named add-on of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the named add-on for the production slot. + :type slot: 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: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_premier_add_on_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_premier_add_on_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}'} + + def add_premier_add_on_slot( + self, resource_group_name, name, premier_add_on_name, premier_add_on, slot, custom_headers=None, raw=False, **operation_config): + """Updates a named add-on of an app. + + Updates a named add-on of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_name: str + :param premier_add_on: A JSON representation of the edited premier + add-on. + :type premier_add_on: ~azure.mgmt.web.models.PremierAddOn + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the named add-on for the production slot. + :type slot: 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: PremierAddOn or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PremierAddOn or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.add_premier_add_on_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(premier_add_on, 'PremierAddOn') + + # 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]: + 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('PremierAddOn', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + add_premier_add_on_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}'} + + def delete_premier_add_on_slot( + self, resource_group_name, name, premier_add_on_name, slot, custom_headers=None, raw=False, **operation_config): + """Delete a premier add-on from an app. + + Delete a premier add-on from an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param premier_add_on_name: Add-on name. + :type premier_add_on_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the named add-on for the production slot. + :type slot: 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_premier_add_on_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'premierAddOnName': self._serialize.url("premier_add_on_name", premier_add_on_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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_premier_add_on_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}'} + + def list_processes_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + Get list of processes for a web site, or a deployment slot, or for a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 ProcessInfo + :rtype: + ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_processes_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_processes_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes'} + + def get_process_slot( + self, resource_group_name, name, process_id, slot, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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: ProcessInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('ProcessInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}'} + + def delete_process_slot( + self, resource_group_name, name, process_id, slot, custom_headers=None, raw=False, **operation_config): + """Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + Terminate a process by its ID for a web site, or a deployment slot, or + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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_process_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [204, 404]: + 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_process_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}'} + + def get_process_dump_slot( + self, resource_group_name, name, process_id, slot, custom_headers=None, raw=False, callback=None, **operation_config): + """Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + Get a memory dump of a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_dump_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_dump_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump'} + + def list_process_modules_slot( + self, resource_group_name, name, process_id, slot, custom_headers=None, raw=False, **operation_config): + """List module information for a process by its ID for a specific + scaled-out instance in a web site. + + List module information for a process by its ID for a specific + scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 ProcessModuleInfo + :rtype: + ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_process_modules_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_process_modules_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules'} + + def get_process_module_slot( + self, resource_group_name, name, process_id, base_address, slot, custom_headers=None, raw=False, **operation_config): + """Get process information by its ID for a specific scaled-out instance in + a web site. + + Get process information by its ID for a specific scaled-out instance in + a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param base_address: Module base address. + :type base_address: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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: ProcessModuleInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessModuleInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_module_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'baseAddress': self._serialize.url("base_address", base_address, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('ProcessModuleInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_module_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}'} + + def list_process_threads_slot( + self, resource_group_name, name, process_id, slot, custom_headers=None, raw=False, **operation_config): + """List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + List the threads in a process by its ID for a specific scaled-out + instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 ProcessThreadInfo + :rtype: + ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_process_threads_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_process_threads_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads'} + + def get_process_thread_slot( + self, resource_group_name, name, process_id, thread_id, slot, custom_headers=None, raw=False, **operation_config): + """Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + Get thread information by Thread ID for a specific process, in a + specific scaled-out instance in a web site. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param process_id: PID. + :type process_id: str + :param thread_id: TID. + :type thread_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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: ProcessThreadInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ProcessThreadInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_process_thread_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'processId': self._serialize.url("process_id", process_id, 'str'), + 'threadId': self._serialize.url("thread_id", thread_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('ProcessThreadInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_process_thread_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}'} + + def list_public_certificates_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get public certificates for an app or a deployment slot. + + Get public certificates for an app or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API gets hostname bindings for the production slot. + :type slot: 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 PublicCertificate + :rtype: + ~azure.mgmt.web.models.PublicCertificatePaged[~azure.mgmt.web.models.PublicCertificate] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_public_certificates_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_public_certificates_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates'} + + def get_public_certificate_slot( + self, resource_group_name, name, slot, public_certificate_name, custom_headers=None, raw=False, **operation_config): + """Get the named public certificate for an app (or deployment slot, if + specified). + + Get the named public certificate for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API the named binding for the production slot. + :type slot: str + :param public_certificate_name: Public certificate name. + :type public_certificate_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: PublicCertificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PublicCertificate or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_public_certificate_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_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('PublicCertificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_public_certificate_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}'} + + def create_or_update_public_certificate_slot( + self, resource_group_name, name, public_certificate_name, public_certificate, slot, custom_headers=None, raw=False, **operation_config): + """Creates a hostname binding for an app. + + Creates a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param public_certificate_name: Public certificate name. + :type public_certificate_name: str + :param public_certificate: Public certificate details. This is the + JSON representation of a PublicCertificate object. + :type public_certificate: ~azure.mgmt.web.models.PublicCertificate + :param slot: Name of the deployment slot. If a slot is not specified, + the API will create a binding for the production slot. + :type slot: 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: PublicCertificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.PublicCertificate or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_public_certificate_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(public_certificate, 'PublicCertificate') + + # 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]: + 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('PublicCertificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_public_certificate_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}'} + + def delete_public_certificate_slot( + self, resource_group_name, name, slot, public_certificate_name, custom_headers=None, raw=False, **operation_config): + """Deletes a hostname binding for an app. + + Deletes a hostname binding for an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the binding for the production slot. + :type slot: str + :param public_certificate_name: Public certificate name. + :type public_certificate_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_public_certificate_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, 'str'), + 'publicCertificateName': self._serialize.url("public_certificate_name", public_certificate_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_public_certificate_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}'} + + def list_publishing_profile_xml_with_secrets_slot( + self, resource_group_name, name, slot, format=None, custom_headers=None, raw=False, callback=None, **operation_config): + """Gets the publishing profile for an app (or deployment slot, if + specified). + + Gets the publishing profile for an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the publishing profile for the production slot. + :type slot: str + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param callback: When specified, will be called with each chunk of + data that is streamed. The callback should take two arguments, the + bytes of the current chunk of data and the response object. If the + data is uploading, response will be None. + :type callback: Callable[Bytes, response=None] + :param operation_config: :ref:`Operation configuration + overrides`. + :return: object or ClientRawResponse if raw=true + :rtype: Generator or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + publishing_profile_options = models.CsmPublishingProfileOptions(format=format) + + # Construct URL + url = self.list_publishing_profile_xml_with_secrets_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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/xml' + 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(publishing_profile_options, 'CsmPublishingProfileOptions') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=True, **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 = self._client.stream_download(response, callback) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_publishing_profile_xml_with_secrets_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml'} + + + def _recover_slot_initial( + self, resource_group_name, name, recovery_entity, slot, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.recover_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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['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(recovery_entity, 'SnapshotRecoveryRequest') + + # 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, 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 recover_slot( + self, resource_group_name, name, recovery_entity, slot, custom_headers=None, raw=False, polling=True, **operation_config): + """Recovers a web app to a previous snapshot. + + Recovers a web app to a previous snapshot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param recovery_entity: Snapshot data used for web app recovery. + Snapshot information can be obtained by calling GetDeletedSites or + GetSiteSnapshots API. + :type recovery_entity: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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._recover_slot_initial( + resource_group_name=resource_group_name, + name=name, + recovery_entity=recovery_entity, + slot=slot, + 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) + recover_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover'} + + def reset_slot_configuration_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Resets the configuration settings of the current slot if they were + previously modified by calling the API with POST. + + Resets the configuration settings of the current slot if they were + previously modified by calling the API with POST. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API resets configuration settings for the production slot. + :type slot: 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.reset_slot_configuration_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200]: + 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 + reset_slot_configuration_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig'} + + def restart_slot( + self, resource_group_name, name, slot, soft_restart=None, synchronous=None, custom_headers=None, raw=False, **operation_config): + """Restarts an app (or deployment slot, if specified). + + Restarts an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will restart the production slot. + :type slot: str + :param soft_restart: Specify true to apply the configuration settings + and restarts the app only if necessary. By default, the API always + restarts and reprovisions the app. + :type soft_restart: bool + :param synchronous: Specify true to block until the app is restarted. + By default, it is set to false, and the API responds immediately + (asynchronous). + :type synchronous: bool + :param dict custom_headers: headers that will 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.restart_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 soft_restart is not None: + query_parameters['softRestart'] = self._serialize.query("soft_restart", soft_restart, 'bool') + if synchronous is not None: + query_parameters['synchronous'] = self._serialize.query("synchronous", synchronous, 'bool') + 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 [200]: + 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 + restart_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart'} + + def list_site_extensions_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Get list of site extensions for a web site, or a deployment slot. + + Get list of site extensions for a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 SiteExtensionInfo + :rtype: + ~azure.mgmt.web.models.SiteExtensionInfoPaged[~azure.mgmt.web.models.SiteExtensionInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_extensions_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_extensions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions'} + + def get_site_extension_slot( + self, resource_group_name, name, site_extension_id, slot, custom_headers=None, raw=False, **operation_config): + """Get site extension information by its ID for a web site, or a + deployment slot. + + Get site extension information by its ID for a web site, or a + deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: SiteExtensionInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteExtensionInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_site_extension_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('SiteExtensionInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_site_extension_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}'} + + + def _install_site_extension_slot_initial( + self, resource_group_name, name, site_extension_id, slot, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.install_site_extension_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 429]: + 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('SiteExtensionInfo', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteExtensionInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def install_site_extension_slot( + self, resource_group_name, name, site_extension_id, slot, custom_headers=None, raw=False, polling=True, **operation_config): + """Install site extension on a web site, or a deployment slot. + + Install site extension on a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 SiteExtensionInfo or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.SiteExtensionInfo] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.SiteExtensionInfo]] + :raises: :class:`CloudError` + """ + raw_result = self._install_site_extension_slot_initial( + resource_group_name=resource_group_name, + name=name, + site_extension_id=site_extension_id, + slot=slot, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SiteExtensionInfo', 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) + install_site_extension_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}'} + + def delete_site_extension_slot( + self, resource_group_name, name, site_extension_id, slot, custom_headers=None, raw=False, **operation_config): + """Remove a site extension from a web site, or a deployment slot. + + Remove a site extension from a web site, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param site_extension_id: Site extension name. + :type site_extension_id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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_site_extension_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'siteExtensionId': self._serialize.url("site_extension_id", site_extension_id, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [204, 404]: + 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_site_extension_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}'} + + def list_slot_differences_slot( + self, resource_group_name, name, slot, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + """Get the difference in configuration settings between two web app slots. + + Get the difference in configuration settings between two web app slots. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the source slot. If a slot is not specified, the + production slot is used as the source slot. + :type slot: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :param dict custom_headers: headers that will 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 SlotDifference + :rtype: + ~azure.mgmt.web.models.SlotDifferencePaged[~azure.mgmt.web.models.SlotDifference] + :raises: :class:`CloudError` + """ + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_slot_differences_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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' + 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(slot_swap_entity, 'CsmSlotEntity') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_slot_differences_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs'} + + + def _swap_slot_slot_initial( + self, resource_group_name, name, slot, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + # Construct URL + url = self.swap_slot_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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['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(slot_swap_entity, 'CsmSlotEntity') + + # 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, 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 swap_slot_slot( + self, resource_group_name, name, slot, target_slot, preserve_vnet, custom_headers=None, raw=False, polling=True, **operation_config): + """Swaps two deployment slots of an app. + + Swaps two deployment slots of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the source slot. If a slot is not specified, the + production slot is used as the source slot. + :type slot: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :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._swap_slot_slot_initial( + resource_group_name=resource_group_name, + name=name, + slot=slot, + target_slot=target_slot, + preserve_vnet=preserve_vnet, + 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) + swap_slot_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap'} + + def list_snapshots_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Returns all Snapshots to the user. + + Returns all Snapshots to the user. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Website Name. + :type name: str + :param slot: Website Slot. + :type slot: 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 Snapshot + :rtype: + ~azure.mgmt.web.models.SnapshotPaged[~azure.mgmt.web.models.Snapshot] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_snapshots_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_snapshots_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots'} + + def get_source_control_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the source control configuration of an app. + + Gets the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the source control configuration for the production + slot. + :type slot: 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: SiteSourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteSourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_source_control_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + if response.status_code == 202: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_source_control_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web'} + + + def _create_or_update_source_control_slot_initial( + self, resource_group_name, name, site_source_control, slot, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_source_control_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_source_control, 'SiteSourceControl') + + # 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + if response.status_code == 202: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_source_control_slot( + self, resource_group_name, name, site_source_control, slot, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the source control configuration of an app. + + Updates the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_source_control: JSON representation of a SiteSourceControl + object. See example. + :type site_source_control: ~azure.mgmt.web.models.SiteSourceControl + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the source control configuration for the + production slot. + :type slot: 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 SiteSourceControl or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.SiteSourceControl] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.SiteSourceControl]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_source_control_slot_initial( + resource_group_name=resource_group_name, + name=name, + site_source_control=site_source_control, + slot=slot, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SiteSourceControl', 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_source_control_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web'} + + def delete_source_control_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Deletes the source control configuration of an app. + + Deletes the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the source control configuration for the + production slot. + :type slot: 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_source_control_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 202, 404]: + 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_source_control_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web'} + + def update_source_control_slot( + self, resource_group_name, name, site_source_control, slot, custom_headers=None, raw=False, **operation_config): + """Updates the source control configuration of an app. + + Updates the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_source_control: JSON representation of a SiteSourceControl + object. See example. + :type site_source_control: ~azure.mgmt.web.models.SiteSourceControl + :param slot: Name of the deployment slot. If a slot is not specified, + the API will update the source control configuration for the + production slot. + :type slot: 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: SiteSourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteSourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_source_control_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(site_source_control, 'SiteSourceControl') + + # 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, 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_source_control_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web'} + + def start_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Starts an app (or deployment slot, if specified). + + Starts an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will start the production slot. + :type slot: 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.start_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200]: + 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 + start_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start'} + + def stop_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Stops an app (or deployment slot, if specified). + + Stops an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will stop the production slot. + :type slot: 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.stop_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200]: + 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 + stop_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop'} + + def sync_repository_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Sync web app repository. + + Sync web app repository. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :type name: str + :param slot: Name of web app slot. If not specified then will default + to production slot. + :type slot: 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.sync_repository_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200]: + 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 + sync_repository_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync'} + + def sync_function_triggers_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Syncs function trigger metadata to the scale controller. + + Syncs function trigger metadata to the scale controller. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will restore a backup of the production slot. + :type slot: 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.sync_function_triggers_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 + sync_function_triggers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers'} + + def list_triggered_web_jobs_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List triggered web jobs for an app, or a deployment slot. + + List triggered web jobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 TriggeredWebJob + :rtype: + ~azure.mgmt.web.models.TriggeredWebJobPaged[~azure.mgmt.web.models.TriggeredWebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_triggered_web_jobs_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_triggered_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs'} + + def get_triggered_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a triggered web job by its ID for an app, or a deployment slot. + + Gets a triggered web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: TriggeredWebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.TriggeredWebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_triggered_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('TriggeredWebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_triggered_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}'} + + def delete_triggered_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Delete a triggered web job by its ID for an app, or a deployment slot. + + Delete a triggered web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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_triggered_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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_triggered_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}'} + + def list_triggered_web_job_history_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """List a triggered web job's history for an app, or a deployment slot. + + List a triggered web job's history for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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 TriggeredJobHistory + :rtype: + ~azure.mgmt.web.models.TriggeredJobHistoryPaged[~azure.mgmt.web.models.TriggeredJobHistory] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_triggered_web_job_history_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_triggered_web_job_history_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history'} + + def get_triggered_web_job_history_slot( + self, resource_group_name, name, web_job_name, id, slot, custom_headers=None, raw=False, **operation_config): + """Gets a triggered web job's history by its ID for an app, , or a + deployment slot. + + Gets a triggered web job's history by its ID for an app, , or a + deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param id: History ID. + :type id: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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: TriggeredJobHistory or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.TriggeredJobHistory or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_triggered_web_job_history_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'id': self._serialize.url("id", id, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('TriggeredJobHistory', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_triggered_web_job_history_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}'} + + def run_triggered_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Run a triggered web job for an app, or a deployment slot. + + Run a triggered web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API deletes a deployment for the production slot. + :type slot: 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.run_triggered_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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 [200, 404]: + 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 + run_triggered_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run'} + + def list_usages_slot( + self, resource_group_name, name, slot, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets the quota usage information of an app (or deployment slot, if + specified). + + Gets the quota usage information of an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get quota information of the production slot. + :type slot: str + :param filter: Return only information specified in the filter (using + OData syntax). For example: $filter=(name.value eq 'Metric1' or + name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and + endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + duration'[Hour|Minute|Day]'. + :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 CsmUsageQuota + :rtype: + ~azure.mgmt.web.models.CsmUsageQuotaPaged[~azure.mgmt.web.models.CsmUsageQuota] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usages_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usages_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages'} + + def list_vnet_connections_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """Gets the virtual networks the app (or deployment slot) is connected to. + + Gets the virtual networks the app (or deployment slot) is connected to. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get virtual network connections for the production slot. + :type slot: 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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.VnetInfo] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_vnet_connections_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('[VnetInfo]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_vnet_connections_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections'} + + def get_vnet_connection_slot( + self, resource_group_name, name, vnet_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets a virtual network the app (or deployment slot) is connected to by + name. + + Gets a virtual network the app (or deployment slot) is connected to by + name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the virtual network. + :type vnet_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get the named virtual network for the production slot. + :type slot: 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: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}'} + + def create_or_update_vnet_connection_slot( + self, resource_group_name, name, vnet_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of an existing Virtual Network. + :type vnet_name: str + :param connection_envelope: Properties of the Virtual Network + connection. See example. + :type connection_envelope: ~azure.mgmt.web.models.VnetInfo + :param slot: Name of the deployment slot. If a slot is not specified, + the API will add or update connections for the production slot. + :type slot: 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: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_vnet_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'VnetInfo') + + # 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]: + 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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_vnet_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}'} + + def delete_vnet_connection_slot( + self, resource_group_name, name, vnet_name, slot, custom_headers=None, raw=False, **operation_config): + """Deletes a connection from an app (or deployment slot to a named virtual + network. + + Deletes a connection from an app (or deployment slot to a named virtual + network. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the virtual network. + :type vnet_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will delete the connection for the production slot. + :type slot: 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_vnet_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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, 404]: + 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_vnet_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}'} + + def update_vnet_connection_slot( + self, resource_group_name, name, vnet_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of an existing Virtual Network. + :type vnet_name: str + :param connection_envelope: Properties of the Virtual Network + connection. See example. + :type connection_envelope: ~azure.mgmt.web.models.VnetInfo + :param slot: Name of the deployment slot. If a slot is not specified, + the API will add or update connections for the production slot. + :type slot: 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: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_connection_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'VnetInfo') + + # 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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_connection_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}'} + + def get_vnet_connection_gateway_slot( + self, resource_group_name, name, vnet_name, gateway_name, slot, custom_headers=None, raw=False, **operation_config): + """Gets an app's Virtual Network gateway. + + Gets an app's Virtual Network gateway. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API will get a gateway for the production slot's Virtual Network. + :type slot: 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: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_connection_gateway_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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]: + 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_connection_gateway_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def create_or_update_vnet_connection_gateway_slot( + self, resource_group_name, name, vnet_name, gateway_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_name: str + :param connection_envelope: The properties to update this gateway + with. + :type connection_envelope: ~azure.mgmt.web.models.VnetGateway + :param slot: Name of the deployment slot. If a slot is not specified, + the API will add or update a gateway for the production slot's Virtual + Network. + :type slot: 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: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_vnet_connection_gateway_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'VnetGateway') + + # 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]: + 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_vnet_connection_gateway_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def update_vnet_connection_gateway_slot( + self, resource_group_name, name, vnet_name, gateway_name, connection_envelope, slot, custom_headers=None, raw=False, **operation_config): + """Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_name: str + :param connection_envelope: The properties to update this gateway + with. + :type connection_envelope: ~azure.mgmt.web.models.VnetGateway + :param slot: Name of the deployment slot. If a slot is not specified, + the API will add or update a gateway for the production slot's Virtual + Network. + :type slot: 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: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_connection_gateway_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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(connection_envelope, 'VnetGateway') + + # 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_connection_gateway_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def list_web_jobs_slot( + self, resource_group_name, name, slot, custom_headers=None, raw=False, **operation_config): + """List webjobs for an app, or a deployment slot. + + List webjobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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 WebJob + :rtype: + ~azure.mgmt.web.models.WebJobPaged[~azure.mgmt.web.models.WebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_jobs_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'slot': self._serialize.url("slot", slot, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs'} + + def get_web_job_slot( + self, resource_group_name, name, web_job_name, slot, custom_headers=None, raw=False, **operation_config): + """Get webjob information for an app, or a deployment slot. + + Get webjob information for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of the web job. + :type web_job_name: str + :param slot: Name of the deployment slot. If a slot is not specified, + the API returns deployments for the production slot. + :type slot: 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: WebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_job_slot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'slot': self._serialize.url("slot", slot, '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('WebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_job_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}'} + + def list_slot_differences_from_production( + self, resource_group_name, name, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + """Get the difference in configuration settings between two web app slots. + + Get the difference in configuration settings between two web app slots. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :param dict custom_headers: headers that will 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 SlotDifference + :rtype: + ~azure.mgmt.web.models.SlotDifferencePaged[~azure.mgmt.web.models.SlotDifference] + :raises: :class:`CloudError` + """ + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_slot_differences_from_production.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + else: + url = next_link + query_parameters = {} + + # 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(slot_swap_entity, 'CsmSlotEntity') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_slot_differences_from_production.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs'} + + + def _swap_slot_with_production_initial( + self, resource_group_name, name, target_slot, preserve_vnet, custom_headers=None, raw=False, **operation_config): + slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) + + # Construct URL + url = self.swap_slot_with_production.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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['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(slot_swap_entity, 'CsmSlotEntity') + + # 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, 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 swap_slot_with_production( + self, resource_group_name, name, target_slot, preserve_vnet, custom_headers=None, raw=False, polling=True, **operation_config): + """Swaps two deployment slots of an app. + + Swaps two deployment slots of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param target_slot: Destination deployment slot during swap operation. + :type target_slot: str + :param preserve_vnet: true to preserve Virtual Network to + the slot during swap; otherwise, false. + :type preserve_vnet: bool + :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._swap_slot_with_production_initial( + resource_group_name=resource_group_name, + name=name, + target_slot=target_slot, + preserve_vnet=preserve_vnet, + 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) + swap_slot_with_production.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap'} + + def list_snapshots( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Returns all Snapshots to the user. + + Returns all Snapshots to the user. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Website Name. + :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: An iterator like instance of Snapshot + :rtype: + ~azure.mgmt.web.models.SnapshotPaged[~azure.mgmt.web.models.Snapshot] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_snapshots.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_snapshots.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots'} + + def get_source_control( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the source control configuration of an app. + + Gets the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: SiteSourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteSourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_source_control.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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, 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + if response.status_code == 202: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_source_control.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web'} + + + def _create_or_update_source_control_initial( + self, resource_group_name, name, site_source_control, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_source_control.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_source_control, 'SiteSourceControl') + + # 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + if response.status_code == 202: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_source_control( + self, resource_group_name, name, site_source_control, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the source control configuration of an app. + + Updates the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_source_control: JSON representation of a SiteSourceControl + object. See example. + :type site_source_control: ~azure.mgmt.web.models.SiteSourceControl + :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 SiteSourceControl or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.SiteSourceControl] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.SiteSourceControl]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_source_control_initial( + resource_group_name=resource_group_name, + name=name, + site_source_control=site_source_control, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SiteSourceControl', 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_source_control.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web'} + + def delete_source_control( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Deletes the source control configuration of an app. + + Deletes the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.delete_source_control.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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, 202, 404]: + 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_source_control.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web'} + + def update_source_control( + self, resource_group_name, name, site_source_control, custom_headers=None, raw=False, **operation_config): + """Updates the source control configuration of an app. + + Updates the source control configuration of an app. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param site_source_control: JSON representation of a SiteSourceControl + object. See example. + :type site_source_control: ~azure.mgmt.web.models.SiteSourceControl + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SiteSourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SiteSourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_source_control.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(site_source_control, 'SiteSourceControl') + + # 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, 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('SiteSourceControl', response) + if response.status_code == 201: + deserialized = self._deserialize('SiteSourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_source_control.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web'} + + def start( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Starts an app (or deployment slot, if specified). + + Starts an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.start.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [200]: + 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 + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start'} + + def stop( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Stops an app (or deployment slot, if specified). + + Stops an app (or deployment slot, if specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.stop.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [200]: + 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 + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop'} + + def sync_repository( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Sync web app repository. + + Sync web app repository. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of web app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.sync_repository.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [200]: + 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 + sync_repository.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync'} + + def sync_function_triggers( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Syncs function trigger metadata to the scale controller. + + Syncs function trigger metadata to the scale controller. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.sync_function_triggers.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 + sync_function_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers'} + + def list_triggered_web_jobs( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List triggered web jobs for an app, or a deployment slot. + + List triggered web jobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of TriggeredWebJob + :rtype: + ~azure.mgmt.web.models.TriggeredWebJobPaged[~azure.mgmt.web.models.TriggeredWebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_triggered_web_jobs.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_triggered_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs'} + + def get_triggered_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Gets a triggered web job by its ID for an app, or a deployment slot. + + Gets a triggered web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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: TriggeredWebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.TriggeredWebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_triggered_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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]: + 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('TriggeredWebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_triggered_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}'} + + def delete_triggered_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Delete a triggered web job by its ID for an app, or a deployment slot. + + Delete a triggered web job by its ID for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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_triggered_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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_triggered_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}'} + + def list_triggered_web_job_history( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """List a triggered web job's history for an app, or a deployment slot. + + List a triggered web job's history for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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 TriggeredJobHistory + :rtype: + ~azure.mgmt.web.models.TriggeredJobHistoryPaged[~azure.mgmt.web.models.TriggeredJobHistory] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_triggered_web_job_history.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_triggered_web_job_history.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history'} + + def get_triggered_web_job_history( + self, resource_group_name, name, web_job_name, id, custom_headers=None, raw=False, **operation_config): + """Gets a triggered web job's history by its ID for an app, , or a + deployment slot. + + Gets a triggered web job's history by its ID for an app, , or a + deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_name: str + :param id: History ID. + :type 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: TriggeredJobHistory or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.TriggeredJobHistory or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_triggered_web_job_history.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_name, 'str'), + 'id': self._serialize.url("id", 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, 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('TriggeredJobHistory', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_triggered_web_job_history.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}'} + + def run_triggered_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Run a triggered web job for an app, or a deployment slot. + + Run a triggered web job for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of Web Job. + :type web_job_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.run_triggered_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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 [200, 404]: + 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 + run_triggered_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run'} + + def list_usages( + self, resource_group_name, name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets the quota usage information of an app (or deployment slot, if + specified). + + Gets the quota usage information of an app (or deployment slot, if + specified). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param filter: Return only information specified in the filter (using + OData syntax). For example: $filter=(name.value eq 'Metric1' or + name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and + endTime eq '2014-12-31T23:59:59Z' and timeGrain eq + duration'[Hour|Minute|Day]'. + :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 CsmUsageQuota + :rtype: + ~azure.mgmt.web.models.CsmUsageQuotaPaged[~azure.mgmt.web.models.CsmUsageQuota] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages'} + + def list_vnet_connections( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets the virtual networks the app (or deployment slot) is connected to. + + Gets the virtual networks the app (or deployment slot) is connected to. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.VnetInfo] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_vnet_connections.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[VnetInfo]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_vnet_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections'} + + def get_vnet_connection( + self, resource_group_name, name, vnet_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual network the app (or deployment slot) is connected to by + name. + + Gets a virtual network the app (or deployment slot) is connected to by + name. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the virtual network. + :type vnet_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: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}'} + + def create_or_update_vnet_connection( + self, resource_group_name, name, vnet_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of an existing Virtual Network. + :type vnet_name: str + :param connection_envelope: Properties of the Virtual Network + connection. See example. + :type connection_envelope: ~azure.mgmt.web.models.VnetInfo + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_vnet_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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(connection_envelope, 'VnetInfo') + + # 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]: + 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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_vnet_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}'} + + def delete_vnet_connection( + self, resource_group_name, name, vnet_name, custom_headers=None, raw=False, **operation_config): + """Deletes a connection from an app (or deployment slot to a named virtual + network. + + Deletes a connection from an app (or deployment slot to a named virtual + network. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the virtual network. + :type vnet_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_vnet_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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, 404]: + 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_vnet_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}'} + + def update_vnet_connection( + self, resource_group_name, name, vnet_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + Adds a Virtual Network connection to an app or slot (PUT) or updates + the connection properties (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of an existing Virtual Network. + :type vnet_name: str + :param connection_envelope: Properties of the Virtual Network + connection. See example. + :type connection_envelope: ~azure.mgmt.web.models.VnetInfo + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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(connection_envelope, 'VnetInfo') + + # 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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}'} + + def get_vnet_connection_gateway( + self, resource_group_name, name, vnet_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets an app's Virtual Network gateway. + + Gets an app's Virtual Network gateway. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_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: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_connection_gateway.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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]: + 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_connection_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def create_or_update_vnet_connection_gateway( + self, resource_group_name, name, vnet_name, gateway_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_name: str + :param connection_envelope: The properties to update this gateway + with. + :type connection_envelope: ~azure.mgmt.web.models.VnetGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_vnet_connection_gateway.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(connection_envelope, 'VnetGateway') + + # 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]: + 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_vnet_connection_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def update_vnet_connection_gateway( + self, resource_group_name, name, vnet_name, gateway_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + Adds a gateway to a connected Virtual Network (PUT) or updates it + (PATCH). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the app. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Currently, the only + supported string is "primary". + :type gateway_name: str + :param connection_envelope: The properties to update this gateway + with. + :type connection_envelope: ~azure.mgmt.web.models.VnetGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_connection_gateway.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(connection_envelope, 'VnetGateway') + + # 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_connection_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def list_web_jobs( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List webjobs for an app, or a deployment slot. + + List webjobs for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :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: An iterator like instance of WebJob + :rtype: + ~azure.mgmt.web.models.WebJobPaged[~azure.mgmt.web.models.WebJob] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_jobs.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs'} + + def get_web_job( + self, resource_group_name, name, web_job_name, custom_headers=None, raw=False, **operation_config): + """Get webjob information for an app, or a deployment slot. + + Get webjob information for an app, or a deployment slot. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Site name. + :type name: str + :param web_job_name: Name of the web job. + :type web_job_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: WebJob or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WebJob or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_web_job.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'webJobName': self._serialize.url("web_job_name", web_job_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('WebJob', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_web_job.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_08_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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/__init__.py new file mode 100644 index 000000000000..55c66f839cff --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/__init__.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 ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_web_site_management_client.py new file mode 100644 index 000000000000..ecb0807f374d --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/_web_site_management_client.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 ._configuration import WebSiteManagementClientConfiguration +from .operations import AppServiceEnvironmentsOperations +from .operations import AppServicePlansOperations +from . import models + + +class WebSiteManagementClient(SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar app_service_environments: AppServiceEnvironments operations + :vartype app_service_environments: azure.mgmt.web.operations.AppServiceEnvironmentsOperations + :ivar app_service_plans: AppServicePlans operations + :vartype app_service_plans: azure.mgmt.web.operations.AppServicePlansOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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.app_service_environments = AppServiceEnvironmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.app_service_plans = AppServicePlansOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/__init__.py new file mode 100644 index 000000000000..b5cf3731c734 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/__init__.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import AddressResponse + from ._models_py3 import ApiDefinitionInfo + from ._models_py3 import AppServiceEnvironmentPatchResource + from ._models_py3 import AppServiceEnvironmentResource + from ._models_py3 import AppServicePlan + from ._models_py3 import AppServicePlanPatchResource + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import Capability + from ._models_py3 import CloningInfo + from ._models_py3 import ConnStringInfo + from ._models_py3 import CorsSettings + from ._models_py3 import CsmUsageQuota + from ._models_py3 import ErrorEntity + from ._models_py3 import Experiments + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentDiagnostics + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostNameSslState + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import HybridConnectionLimits + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import LocalizableString + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import MetricAvailabilily + from ._models_py3 import MetricDefinition + from ._models_py3 import NameValuePair + from ._models_py3 import NetworkAccessControlEntry + from ._models_py3 import Operation + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceMetric + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricName + from ._models_py3 import ResourceMetricProperty + from ._models_py3 import ResourceMetricValue + from ._models_py3 import Site + from ._models_py3 import SiteConfig + from ._models_py3 import SiteLimits + from ._models_py3 import SiteMachineKey + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SkuInfo + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import SnapshotRecoveryRequest + from ._models_py3 import SnapshotRecoveryTarget + from ._models_py3 import StampCapacity + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import Usage + from ._models_py3 import User + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VirtualIPMapping + from ._models_py3 import VirtualNetworkProfile + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetRoute + from ._models_py3 import WebAppCollection + from ._models_py3 import WorkerPool + from ._models_py3 import WorkerPoolResource +except (SyntaxError, ImportError): + from ._models import AddressResponse + from ._models import ApiDefinitionInfo + from ._models import AppServiceEnvironmentPatchResource + from ._models import AppServiceEnvironmentResource + from ._models import AppServicePlan + from ._models import AppServicePlanPatchResource + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import Capability + from ._models import CloningInfo + from ._models import ConnStringInfo + from ._models import CorsSettings + from ._models import CsmUsageQuota + from ._models import ErrorEntity + from ._models import Experiments + from ._models import HandlerMapping + from ._models import HostingEnvironmentDiagnostics + from ._models import HostingEnvironmentProfile + from ._models import HostNameSslState + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import HybridConnectionLimits + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import LocalizableString + from ._models import ManagedServiceIdentity + from ._models import MetricAvailabilily + from ._models import MetricDefinition + from ._models import NameValuePair + from ._models import NetworkAccessControlEntry + from ._models import Operation + from ._models import ProxyOnlyResource + from ._models import PushSettings + from ._models import RampUpRule + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceMetric + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricName + from ._models import ResourceMetricProperty + from ._models import ResourceMetricValue + from ._models import Site + from ._models import SiteConfig + from ._models import SiteLimits + from ._models import SiteMachineKey + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SkuInfo + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import SnapshotRecoveryRequest + from ._models import SnapshotRecoveryTarget + from ._models import StampCapacity + from ._models import StatusCodesBasedTrigger + from ._models import Usage + from ._models import User + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VirtualIPMapping + from ._models import VirtualNetworkProfile + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetRoute + from ._models import WebAppCollection + from ._models import WorkerPool + from ._models import WorkerPoolResource +from ._paged_models import AppServiceEnvironmentResourcePaged +from ._paged_models import AppServicePlanPaged +from ._paged_models import CsmUsageQuotaPaged +from ._paged_models import HybridConnectionPaged +from ._paged_models import ResourceMetricDefinitionPaged +from ._paged_models import ResourceMetricPaged +from ._paged_models import SitePaged +from ._paged_models import SkuInfoPaged +from ._paged_models import StampCapacityPaged +from ._paged_models import StrPaged +from ._paged_models import UsagePaged +from ._paged_models import WorkerPoolResourcePaged +from ._web_site_management_client_enums import ( + ProvisioningState, + HostingEnvironmentStatus, + InternalLoadBalancingMode, + ComputeModeOptions, + WorkerSizeOptions, + AccessControlEntryAction, + RouteType, + ManagedServiceIdentityType, + AutoHealActionType, + ConnectionStringType, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + StatusOptions, + OperationStatus, +) + +__all__ = [ + 'AddressResponse', + 'ApiDefinitionInfo', + 'AppServiceEnvironmentPatchResource', + 'AppServiceEnvironmentResource', + 'AppServicePlan', + 'AppServicePlanPatchResource', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'Capability', + 'CloningInfo', + 'ConnStringInfo', + 'CorsSettings', + 'CsmUsageQuota', + 'ErrorEntity', + 'Experiments', + 'HandlerMapping', + 'HostingEnvironmentDiagnostics', + 'HostingEnvironmentProfile', + 'HostNameSslState', + 'HybridConnection', + 'HybridConnectionKey', + 'HybridConnectionLimits', + 'Identifier', + 'IpSecurityRestriction', + 'LocalizableString', + 'ManagedServiceIdentity', + 'MetricAvailabilily', + 'MetricDefinition', + 'NameValuePair', + 'NetworkAccessControlEntry', + 'Operation', + 'ProxyOnlyResource', + 'PushSettings', + 'RampUpRule', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceMetric', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'ResourceMetricName', + 'ResourceMetricProperty', + 'ResourceMetricValue', + 'Site', + 'SiteConfig', + 'SiteLimits', + 'SiteMachineKey', + 'SkuCapacity', + 'SkuDescription', + 'SkuInfo', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'SnapshotRecoveryRequest', + 'SnapshotRecoveryTarget', + 'StampCapacity', + 'StatusCodesBasedTrigger', + 'Usage', + 'User', + 'VirtualApplication', + 'VirtualDirectory', + 'VirtualIPMapping', + 'VirtualNetworkProfile', + 'VnetGateway', + 'VnetInfo', + 'VnetRoute', + 'WebAppCollection', + 'WorkerPool', + 'WorkerPoolResource', + 'AppServiceEnvironmentResourcePaged', + 'StampCapacityPaged', + 'ResourceMetricPaged', + 'WorkerPoolResourcePaged', + 'ResourceMetricDefinitionPaged', + 'SkuInfoPaged', + 'UsagePaged', + 'AppServicePlanPaged', + 'SitePaged', + 'CsmUsageQuotaPaged', + 'StrPaged', + 'HybridConnectionPaged', + 'ProvisioningState', + 'HostingEnvironmentStatus', + 'InternalLoadBalancingMode', + 'ComputeModeOptions', + 'WorkerSizeOptions', + 'AccessControlEntryAction', + 'RouteType', + 'ManagedServiceIdentityType', + 'AutoHealActionType', + 'ConnectionStringType', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'StatusOptions', + 'OperationStatus', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models.py new file mode 100644 index 000000000000..85114956f6a1 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models.py @@ -0,0 +1,3582 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AddressResponse(Model): + """Describes main public IP address and any extra virtual IPs. + + :param service_ip_address: Main public virtual IP. + :type service_ip_address: str + :param internal_ip_address: Virtual Network internal IP address of the App + Service Environment if it is in internal load-balancing mode. + :type internal_ip_address: str + :param outbound_ip_addresses: IP addresses appearing on outbound + connections. + :type outbound_ip_addresses: list[str] + :param vip_mappings: Additional virtual IPs. + :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + """ + + _attribute_map = { + 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, + 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, + 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + } + + def __init__(self, **kwargs): + super(AddressResponse, self).__init__(**kwargs) + self.service_ip_address = kwargs.get('service_ip_address', None) + self.internal_ip_address = kwargs.get('internal_ip_address', None) + self.outbound_ip_addresses = kwargs.get('outbound_ip_addresses', None) + self.vip_mappings = kwargs.get('vip_mappings', None) + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class AppServiceEnvironmentPatchResource(ProxyOnlyResource): + """ARM resource for a app service environment. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_environment_patch_resource_name: Required. Name of the + App Service Environment. + :type app_service_environment_patch_resource_name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_environment_patch_resource_name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironmentPatchResource, self).__init__(**kwargs) + self.app_service_environment_patch_resource_name = kwargs.get('app_service_environment_patch_resource_name', None) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServiceEnvironmentResource(Resource): + """App Service Environment ARM resource. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_environment_resource_name: Required. Name of the App + Service Environment. + :type app_service_environment_resource_name: str + :param app_service_environment_resource_location: Required. Location of + the App Service Environment, e.g. "West US". + :type app_service_environment_resource_location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_environment_resource_name': {'required': True}, + 'app_service_environment_resource_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironmentResource, self).__init__(**kwargs) + self.app_service_environment_resource_name = kwargs.get('app_service_environment_resource_name', None) + self.app_service_environment_resource_location = kwargs.get('app_service_environment_resource_location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.app_service_plan_name = kwargs.get('app_service_plan_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AppServicePlanPatchResource(ProxyOnlyResource): + """ARM resource for a app service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_plan_patch_resource_name: Required. Name for the App + Service plan. + :type app_service_plan_patch_resource_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_plan_patch_resource_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_plan_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + } + + def __init__(self, **kwargs): + super(AppServicePlanPatchResource, self).__init__(**kwargs) + self.app_service_plan_patch_resource_name = kwargs.get('app_service_plan_patch_resource_name', None) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.admin_site_name = kwargs.get('admin_site_name', None) + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + self.ignore_quotas = kwargs.get('ignore_quotas', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, **kwargs): + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = kwargs.get('unit', None) + self.next_reset_time = kwargs.get('next_reset_time', None) + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = kwargs.get('extended_code', None) + self.message_template = kwargs.get('message_template', None) + self.parameters = kwargs.get('parameters', None) + self.inner_errors = kwargs.get('inner_errors', None) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentDiagnostics(Model): + """Diagnostics for an App Service Environment. + + :param name: Name/identifier of the diagnostics. + :type name: str + :param diagnosics_output: Diagnostics output. + :type diagnosics_output: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.diagnosics_output = kwargs.get('diagnosics_output', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class HybridConnectionLimits(ProxyOnlyResource): + """Hybrid Connection limits contract. This is used to return the plan limits + of Hybrid Connections. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar current: The current number of Hybrid Connections. + :vartype current: int + :ivar maximum: The maximum number of Hybrid Connections allowed. + :vartype maximum: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'current': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'current': {'key': 'properties.current', 'type': 'int'}, + 'maximum': {'key': 'properties.maximum', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionLimits, self).__init__(**kwargs) + self.current = None + self.maximum = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalizableString, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + + +class MetricAvailabilily(Model): + """Metric availability and retention. + + :param time_grain: Time grain. + :type time_grain: str + :param retention: Retention period for the current time grain. + :type retention: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailabilily, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + + +class MetricDefinition(ProxyOnlyResource): + """Metadata for a metric. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar metric_definition_name: Name of the metric. + :vartype metric_definition_name: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.MetricAvailabilily] + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metric_definition_name': {'key': 'properties.name', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricDefinition, self).__init__(**kwargs) + self.metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.display_name = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.description = kwargs.get('description', None) + self.order = kwargs.get('order', None) + self.remote_subnet = kwargs.get('remote_subnet', None) + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + self.errors = kwargs.get('errors', None) + self.created_time = kwargs.get('created_time', None) + self.modified_time = kwargs.get('modified_time', None) + self.expiration_time = kwargs.get('expiration_time', None) + self.geo_master_operation_id = kwargs.get('geo_master_operation_id', None) + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.value = kwargs.get('value', None) + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.snapshot_info = kwargs.get('snapshot_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.identity = kwargs.get('identity', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SkuInfo(Model): + """SKU discovery information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param sku: Name and tier of the SKU. + :type sku: ~azure.mgmt.web.models.SkuDescription + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + } + + def __init__(self, **kwargs): + super(SkuInfo, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.sku = kwargs.get('sku', None) + self.capacity = kwargs.get('capacity', None) + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_target = kwargs.get('recovery_target', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Default', 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StampCapacity, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.available_capacity = kwargs.get('available_capacity', None) + self.total_capacity = kwargs.get('total_capacity', None) + self.unit = kwargs.get('unit', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.exclude_from_capacity_allocation = kwargs.get('exclude_from_capacity_allocation', None) + self.is_applicable_for_all_compute_modes = kwargs.get('is_applicable_for_all_compute_modes', None) + self.site_mode = kwargs.get('site_mode', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class Usage(ProxyOnlyResource): + """Usage of the quota 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + :ivar usage_name: Name of the quota. + :vartype usage_name: str + :ivar resource_name: Name of the quota resource. + :vartype resource_name: str + :ivar unit: Units of measurement for the quota resource. + :vartype unit: str + :ivar current_value: The current value of the resource counter. + :vartype current_value: long + :ivar limit: The resource limit. + :vartype limit: long + :ivar next_reset_time: Next reset time for the resource counter. + :vartype next_reset_time: datetime + :ivar compute_mode: Compute mode used for this usage. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :ivar site_mode: Site mode used for this usage. + :vartype site_mode: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'usage_name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + 'compute_mode': {'readonly': True}, + 'site_mode': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'usage_name': {'key': 'properties.name', 'type': 'str'}, + 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, + 'limit': {'key': 'properties.limit', 'type': 'long'}, + 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.display_name = None + self.usage_name = None + self.resource_name = None + self.unit = None + self.current_value = None + self.limit = None + self.next_reset_time = None + self.compute_mode = None + self.site_mode = None + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.internal_http_port = kwargs.get('internal_http_port', None) + self.internal_https_port = kwargs.get('internal_https_port', None) + self.in_use = kwargs.get('in_use', None) + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.subnet = kwargs.get('subnet', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.vnet_route_name = kwargs.get('vnet_route_name', None) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebAppCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_count = kwargs.get('worker_count', None) + self.instance_names = None + + +class WorkerPoolResource(ProxyOnlyResource): + """Worker pool of an App Service Environment ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, + 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, + 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(WorkerPoolResource, self).__init__(**kwargs) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_count = kwargs.get('worker_count', None) + self.instance_names = None + self.sku = kwargs.get('sku', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models_py3.py new file mode 100644 index 000000000000..1f8c2d39e857 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_models_py3.py @@ -0,0 +1,3582 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class AddressResponse(Model): + """Describes main public IP address and any extra virtual IPs. + + :param service_ip_address: Main public virtual IP. + :type service_ip_address: str + :param internal_ip_address: Virtual Network internal IP address of the App + Service Environment if it is in internal load-balancing mode. + :type internal_ip_address: str + :param outbound_ip_addresses: IP addresses appearing on outbound + connections. + :type outbound_ip_addresses: list[str] + :param vip_mappings: Additional virtual IPs. + :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + """ + + _attribute_map = { + 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, + 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, + 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + } + + def __init__(self, *, service_ip_address: str=None, internal_ip_address: str=None, outbound_ip_addresses=None, vip_mappings=None, **kwargs) -> None: + super(AddressResponse, self).__init__(**kwargs) + self.service_ip_address = service_ip_address + self.internal_ip_address = internal_ip_address + self.outbound_ip_addresses = outbound_ip_addresses + self.vip_mappings = vip_mappings + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class AppServiceEnvironmentPatchResource(ProxyOnlyResource): + """ARM resource for a app service environment. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_environment_patch_resource_name: Required. Name of the + App Service Environment. + :type app_service_environment_patch_resource_name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_environment_patch_resource_name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, *, app_service_environment_patch_resource_name: str, location: str, virtual_network, worker_pools, kind: str=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, **kwargs) -> None: + super(AppServiceEnvironmentPatchResource, self).__init__(kind=kind, **kwargs) + self.app_service_environment_patch_resource_name = app_service_environment_patch_resource_name + self.location = location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServiceEnvironmentResource(Resource): + """App Service Environment ARM resource. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_environment_resource_name: Required. Name of the App + Service Environment. + :type app_service_environment_resource_name: str + :param app_service_environment_resource_location: Required. Location of + the App Service Environment, e.g. "West US". + :type app_service_environment_resource_location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_environment_resource_name': {'required': True}, + 'app_service_environment_resource_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + } + + def __init__(self, *, location: str, app_service_environment_resource_name: str, app_service_environment_resource_location: str, virtual_network, worker_pools, kind: str=None, tags=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, **kwargs) -> None: + super(AppServiceEnvironmentResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_environment_resource_name = app_service_environment_resource_name + self.app_service_environment_resource_location = app_service_environment_resource_location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_plan_name: Required. Name for the App Service plan. + :type app_service_plan_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_plan_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_plan_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, app_service_plan_name: str, kind: str=None, tags=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_plan_name = app_service_plan_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AppServicePlanPatchResource(ProxyOnlyResource): + """ARM resource for a app service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_plan_patch_resource_name: Required. Name for the App + Service plan. + :type app_service_plan_patch_resource_name: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param admin_site_name: App Service plan administration site. + :type admin_site_name: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_plan_patch_resource_name': {'required': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_plan_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'admin_site_name': {'key': 'properties.adminSiteName', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + } + + def __init__(self, *, app_service_plan_patch_resource_name: str, kind: str=None, worker_tier_name: str=None, admin_site_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, is_spot: bool=None, spot_expiration_time=None, reserved: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, **kwargs) -> None: + super(AppServicePlanPatchResource, self).__init__(kind=kind, **kwargs) + self.app_service_plan_patch_resource_name = app_service_plan_patch_resource_name + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.admin_site_name = admin_site_name + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.resource_group = None + self.reserved = reserved + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + :param ignore_quotas: true if quotas should be ignored; + otherwise, false. + :type ignore_quotas: bool + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + 'ignore_quotas': {'key': 'ignoreQuotas', 'type': 'bool'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, ignore_quotas: bool=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + self.ignore_quotas = ignore_quotas + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + } + + def __init__(self, *, allowed_origins=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, *, unit: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None: + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = unit + self.next_reset_time = next_reset_time + self.current_value = current_value + self.limit = limit + self.name = name + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, extended_code: str=None, message_template: str=None, parameters=None, inner_errors=None, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = extended_code + self.message_template = message_template + self.parameters = parameters + self.inner_errors = inner_errors + self.code = code + self.message = message + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentDiagnostics(Model): + """Diagnostics for an App Service Environment. + + :param name: Name/identifier of the diagnostics. + :type name: str + :param diagnosics_output: Diagnostics output. + :type diagnosics_output: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, diagnosics_output: str=None, **kwargs) -> None: + super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) + self.name = name + self.diagnosics_output = diagnosics_output + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class HybridConnectionLimits(ProxyOnlyResource): + """Hybrid Connection limits contract. This is used to return the plan limits + of Hybrid Connections. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar current: The current number of Hybrid Connections. + :vartype current: int + :ivar maximum: The maximum number of Hybrid Connections allowed. + :vartype maximum: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'current': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'current': {'key': 'properties.current', 'type': 'int'}, + 'maximum': {'key': 'properties.maximum', 'type': 'int'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionLimits, self).__init__(kind=kind, **kwargs) + self.current = None + self.maximum = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + All required parameters must be populated in order to send to Azure. + + :param ip_address: Required. IP address the security restriction is valid + for. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + """ + + _validation = { + 'ip_address': {'required': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str, subnet_mask: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(LocalizableString, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + + +class MetricAvailabilily(Model): + """Metric availability and retention. + + :param time_grain: Time grain. + :type time_grain: str + :param retention: Retention period for the current time grain. + :type retention: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, **kwargs) -> None: + super(MetricAvailabilily, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + + +class MetricDefinition(ProxyOnlyResource): + """Metadata for a metric. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar metric_definition_name: Name of the metric. + :vartype metric_definition_name: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.MetricAvailabilily] + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metric_definition_name': {'key': 'properties.name', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MetricDefinition, self).__init__(kind=kind, **kwargs) + self.metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.display_name = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, *, action=None, description: str=None, order: int=None, remote_subnet: str=None, **kwargs) -> None: + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = action + self.description = description + self.order = order + self.remote_subnet = remote_subnet + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, status=None, errors=None, created_time=None, modified_time=None, expiration_time=None, geo_master_operation_id: str=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.errors = errors + self.created_time = created_time + self.modified_time = modified_time + self.expiration_time = expiration_time + self.geo_master_operation_id = geo_master_operation_id + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar resource_metric_definition_name: Name of the metric. + :vartype resource_metric_definition_name: + ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar resource_metric_definition_id: Resource ID. + :vartype resource_metric_definition_id: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_metric_definition_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'resource_metric_definition_id': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'resource_metric_definition_name': {'key': 'properties.name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'resource_metric_definition_id': {'key': 'properties.id', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.resource_metric_definition_name = None + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.resource_metric_definition_id = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, key: str=None, value: str=None, **kwargs) -> None: + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = key + self.value = value + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :param snapshot_info: If specified during app creation, the app is created + from a previous snapshot. + :type snapshot_info: ~azure.mgmt.web.models.SnapshotRecoveryRequest + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'snapshot_info': {'key': 'properties.snapshotInfo', 'type': 'SnapshotRecoveryRequest'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, snapshot_info=None, https_only: bool=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.snapshot_info = snapshot_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.identity = identity + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param ip_security_restrictions: IP security restrictions. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + """ + + _validation = { + 'machine_key': {'readonly': True}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, ip_security_restrictions=None, http20_enabled: bool=True, min_tls_version=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.ip_security_restrictions = ip_security_restrictions + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SkuInfo(Model): + """SKU discovery information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param sku: Name and tier of the SKU. + :type sku: ~azure.mgmt.web.models.SkuDescription + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + } + + def __init__(self, *, resource_type: str=None, sku=None, capacity=None, **kwargs) -> None: + super(SkuInfo, self).__init__(**kwargs) + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class SnapshotRecoveryRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app recovery should be + attempted, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_target: Specifies the web app that snapshot contents will + be written to. + :type recovery_target: ~azure.mgmt.web.models.SnapshotRecoveryTarget + :param overwrite: Required. If true the recovery operation + can overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_target': {'key': 'properties.recoveryTarget', 'type': 'SnapshotRecoveryTarget'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_target=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, **kwargs) -> None: + super(SnapshotRecoveryRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_target = recovery_target + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + + +class SnapshotRecoveryTarget(Model): + """Specifies the web app that snapshot contents will be written to. + + :param location: Geographical location of the target web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the target app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoveryTarget, self).__init__(**kwargs) + self.location = location + self.id = id + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Default', 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, available_capacity: int=None, total_capacity: int=None, unit: str=None, compute_mode=None, worker_size=None, worker_size_id: int=None, exclude_from_capacity_allocation: bool=None, is_applicable_for_all_compute_modes: bool=None, site_mode: str=None, **kwargs) -> None: + super(StampCapacity, self).__init__(**kwargs) + self.name = name + self.available_capacity = available_capacity + self.total_capacity = total_capacity + self.unit = unit + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_size_id = worker_size_id + self.exclude_from_capacity_allocation = exclude_from_capacity_allocation + self.is_applicable_for_all_compute_modes = is_applicable_for_all_compute_modes + self.site_mode = site_mode + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class Usage(ProxyOnlyResource): + """Usage of the quota 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + :ivar usage_name: Name of the quota. + :vartype usage_name: str + :ivar resource_name: Name of the quota resource. + :vartype resource_name: str + :ivar unit: Units of measurement for the quota resource. + :vartype unit: str + :ivar current_value: The current value of the resource counter. + :vartype current_value: long + :ivar limit: The resource limit. + :vartype limit: long + :ivar next_reset_time: Next reset time for the resource counter. + :vartype next_reset_time: datetime + :ivar compute_mode: Compute mode used for this usage. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :ivar site_mode: Site mode used for this usage. + :vartype site_mode: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'usage_name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + 'compute_mode': {'readonly': True}, + 'site_mode': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'usage_name': {'key': 'properties.name', 'type': 'str'}, + 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, + 'limit': {'key': 'properties.limit', 'type': 'long'}, + 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(Usage, self).__init__(kind=kind, **kwargs) + self.display_name = None + self.usage_name = None + self.resource_name = None + self.unit = None + self.current_value = None + self.limit = None + self.next_reset_time = None + self.compute_mode = None + self.site_mode = None + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param user_name: Username + :type user_name: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'properties.name', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, user_name: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.user_name = user_name + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, *, virtual_ip: str=None, internal_http_port: int=None, internal_https_port: int=None, in_use: bool=None, **kwargs) -> None: + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = virtual_ip + self.internal_http_port = internal_http_port + self.internal_https_port = internal_https_port + self.in_use = in_use + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet: str=None, **kwargs) -> None: + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.subnet = subnet + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: bytearray + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'bytearray'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: bytearray=None, dns_servers: str=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_route_name: The name of this route. This is only returned by + the server and does not need to be set by the client. + :type vnet_route_name: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_route_name': {'key': 'properties.name', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_route_name: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.vnet_route_name = vnet_route_name + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(WebAppCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, *, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, **kwargs) -> None: + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = worker_size_id + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_count = worker_count + self.instance_names = None + + +class WorkerPoolResource(ProxyOnlyResource): + """Worker pool of an App Service Environment ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, + 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, + 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, kind: str=None, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, sku=None, **kwargs) -> None: + super(WorkerPoolResource, self).__init__(kind=kind, **kwargs) + self.worker_size_id = worker_size_id + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_count = worker_count + self.instance_names = None + self.sku = sku diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_paged_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_paged_models.py new file mode 100644 index 000000000000..0fd16875f5a1 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_paged_models.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. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class AppServiceEnvironmentResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServiceEnvironmentResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServiceEnvironmentResource]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServiceEnvironmentResourcePaged, self).__init__(*args, **kwargs) +class StampCapacityPaged(Paged): + """ + A paging container for iterating over a list of :class:`StampCapacity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StampCapacity]'} + } + + def __init__(self, *args, **kwargs): + + super(StampCapacityPaged, self).__init__(*args, **kwargs) +class ResourceMetricPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetric ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetric]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricPaged, self).__init__(*args, **kwargs) +class WorkerPoolResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`WorkerPoolResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WorkerPoolResource]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkerPoolResourcePaged, self).__init__(*args, **kwargs) +class ResourceMetricDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetricDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetricDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricDefinitionPaged, self).__init__(*args, **kwargs) +class SkuInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SkuInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SkuInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SkuInfoPaged, self).__init__(*args, **kwargs) +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) +class AppServicePlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServicePlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServicePlan]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServicePlanPaged, self).__init__(*args, **kwargs) +class SitePaged(Paged): + """ + A paging container for iterating over a list of :class:`Site ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Site]'} + } + + def __init__(self, *args, **kwargs): + + super(SitePaged, self).__init__(*args, **kwargs) +class CsmUsageQuotaPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmUsageQuota ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmUsageQuota]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmUsageQuotaPaged, self).__init__(*args, **kwargs) +class StrPaged(Paged): + """ + A paging container for iterating over a list of str object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[str]'} + } + + def __init__(self, *args, **kwargs): + + super(StrPaged, self).__init__(*args, **kwargs) +class HybridConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HybridConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HybridConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HybridConnectionPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..9ea4b6e131ed --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/models/_web_site_management_client_enums.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" + + +class HostingEnvironmentStatus(str, Enum): + + preparing = "Preparing" + ready = "Ready" + scaling = "Scaling" + deleting = "Deleting" + + +class InternalLoadBalancingMode(str, Enum): + + none = "None" + web = "Web" + publishing = "Publishing" + + +class ComputeModeOptions(str, Enum): + + shared = "Shared" + dedicated = "Dedicated" + dynamic = "Dynamic" + + +class WorkerSizeOptions(str, Enum): + + default = "Default" + small = "Small" + medium = "Medium" + large = "Large" + d1 = "D1" + d2 = "D2" + d3 = "D3" + + +class AccessControlEntryAction(str, Enum): + + permit = "Permit" + deny = "Deny" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" + + +class OperationStatus(str, Enum): + + in_progress = "InProgress" + failed = "Failed" + succeeded = "Succeeded" + timed_out = "TimedOut" + created = "Created" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/__init__.py new file mode 100644 index 000000000000..7366e58aee45 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/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 ._app_service_environments_operations import AppServiceEnvironmentsOperations +from ._app_service_plans_operations import AppServicePlansOperations + +__all__ = [ + 'AppServiceEnvironmentsOperations', + 'AppServicePlansOperations', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_environments_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_environments_operations.py new file mode 100644 index 000000000000..0e570a84f264 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_environments_operations.py @@ -0,0 +1,3139 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AppServiceEnvironmentsOperations(object): + """AppServiceEnvironmentsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. 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): + """Get all App Service Environments for a subscription. + + Get all App Service Environments 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 AppServiceEnvironmentResource + :rtype: + ~azure.mgmt.web.models.AppServiceEnvironmentResourcePaged[~azure.mgmt.web.models.AppServiceEnvironmentResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all App Service Environments in a resource group. + + Get all App Service Environments in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 AppServiceEnvironmentResource + :rtype: + ~azure.mgmt.web.models.AppServiceEnvironmentResourcePaged[~azure.mgmt.web.models.AppServiceEnvironmentResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments'} + + def get( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get the properties of an App Service Environment. + + Get the properties of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: AppServiceEnvironmentResource or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.AppServiceEnvironmentResource 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('AppServiceEnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}'} + + + def _create_or_update_initial( + self, resource_group_name, name, hosting_environment_envelope, 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(hosting_environment_envelope, 'AppServiceEnvironmentResource') + + # 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, 202, 400, 404, 409]: + 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('AppServiceEnvironmentResource', response) + if response.status_code == 202: + deserialized = self._deserialize('AppServiceEnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, name, hosting_environment_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update an App Service Environment. + + Create or update an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param hosting_environment_envelope: Configuration details of the App + Service Environment. + :type hosting_environment_envelope: + ~azure.mgmt.web.models.AppServiceEnvironmentResource + :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 + AppServiceEnvironmentResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.AppServiceEnvironmentResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.AppServiceEnvironmentResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + hosting_environment_envelope=hosting_environment_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppServiceEnvironmentResource', 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.Web/hostingEnvironments/{name}'} + + + def _delete_initial( + self, resource_group_name, name, force_delete=None, 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 force_delete is not None: + query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') + 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, 400, 404, 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 delete( + self, resource_group_name, name, force_delete=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Delete an App Service Environment. + + Delete an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param force_delete: Specify true to force the deletion + even if the App Service Environment contains resources. The default is + false. + :type force_delete: bool + :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, + name=name, + force_delete=force_delete, + 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.Web/hostingEnvironments/{name}'} + + def update( + self, resource_group_name, name, hosting_environment_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update an App Service Environment. + + Create or update an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param hosting_environment_envelope: Configuration details of the App + Service Environment. + :type hosting_environment_envelope: + ~azure.mgmt.web.models.AppServiceEnvironmentPatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AppServiceEnvironmentResource or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.AppServiceEnvironmentResource 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(hosting_environment_envelope, 'AppServiceEnvironmentPatchResource') + + # 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, 400, 404, 409]: + 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('AppServiceEnvironmentResource', response) + if response.status_code == 202: + deserialized = self._deserialize('AppServiceEnvironmentResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}'} + + def list_capacities( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get the used, available, and total worker capacity an App Service + Environment. + + Get the used, available, and total worker capacity an App Service + Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of StampCapacity + :rtype: + ~azure.mgmt.web.models.StampCapacityPaged[~azure.mgmt.web.models.StampCapacity] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_capacities.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.StampCapacityPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_capacities.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute'} + + def list_vips( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get IP addresses assigned to an App Service Environment. + + Get IP addresses assigned to an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: AddressResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.AddressResponse or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_vips.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('AddressResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_vips.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip'} + + def list_diagnostics( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get diagnostic information for an App Service Environment. + + Get diagnostic information for an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.HostingEnvironmentDiagnostics] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_diagnostics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[HostingEnvironmentDiagnostics]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_diagnostics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics'} + + def get_diagnostics_item( + self, resource_group_name, name, diagnostics_name, custom_headers=None, raw=False, **operation_config): + """Get a diagnostics item for an App Service Environment. + + Get a diagnostics item for an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param diagnostics_name: Name of the diagnostics item. + :type diagnostics_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: HostingEnvironmentDiagnostics or ClientRawResponse if + raw=true + :rtype: ~azure.mgmt.web.models.HostingEnvironmentDiagnostics or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_diagnostics_item.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'diagnosticsName': self._serialize.url("diagnostics_name", diagnostics_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('HostingEnvironmentDiagnostics', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_diagnostics_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}'} + + def list_metric_definitions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get global metric definitions of an App Service Environment. + + Get global metric definitions of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: MetricDefinition or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.MetricDefinition or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('MetricDefinition', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions'} + + def list_metrics( + self, resource_group_name, name, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get global metrics of an App Service Environment. + + Get global metrics of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics'} + + def list_multi_role_pools( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get all multi-role pools. + + Get all multi-role pools. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of WorkerPoolResource + :rtype: + ~azure.mgmt.web.models.WorkerPoolResourcePaged[~azure.mgmt.web.models.WorkerPoolResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_pools.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_pools.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools'} + + def get_multi_role_pool( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get properties of a multi-role pool. + + Get properties of a multi-role pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: WorkerPoolResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WorkerPoolResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_multi_role_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_multi_role_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default'} + + + def _create_or_update_multi_role_pool_initial( + self, resource_group_name, name, multi_role_pool_envelope, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_multi_role_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(multi_role_pool_envelope, 'WorkerPoolResource') + + # 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, 202, 400, 404, 409]: + 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('WorkerPoolResource', response) + if response.status_code == 202: + deserialized = self._deserialize('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_multi_role_pool( + self, resource_group_name, name, multi_role_pool_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a multi-role pool. + + Create or update a multi-role pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param multi_role_pool_envelope: Properties of the multi-role pool. + :type multi_role_pool_envelope: + ~azure.mgmt.web.models.WorkerPoolResource + :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 WorkerPoolResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.WorkerPoolResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.WorkerPoolResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_multi_role_pool_initial( + resource_group_name=resource_group_name, + name=name, + multi_role_pool_envelope=multi_role_pool_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('WorkerPoolResource', 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_multi_role_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default'} + + def update_multi_role_pool( + self, resource_group_name, name, multi_role_pool_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a multi-role pool. + + Create or update a multi-role pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param multi_role_pool_envelope: Properties of the multi-role pool. + :type multi_role_pool_envelope: + ~azure.mgmt.web.models.WorkerPoolResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkerPoolResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WorkerPoolResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_multi_role_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(multi_role_pool_envelope, 'WorkerPoolResource') + + # 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, 400, 404, 409]: + 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('WorkerPoolResource', response) + if response.status_code == 202: + deserialized = self._deserialize('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_multi_role_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default'} + + def list_multi_role_pool_instance_metric_definitions( + self, resource_group_name, name, instance, custom_headers=None, raw=False, **operation_config): + """Get metric definitions for a specific instance of a multi-role pool of + an App Service Environment. + + Get metric definitions for a specific instance of a multi-role pool of + an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param instance: Name of the instance in the multi-role pool. + :type instance: 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 ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_pool_instance_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instance': self._serialize.url("instance", instance, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_pool_instance_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions'} + + def list_multi_role_pool_instance_metrics( + self, resource_group_name, name, instance, details=None, custom_headers=None, raw=False, **operation_config): + """Get metrics for a specific instance of a multi-role pool of an App + Service Environment. + + Get metrics for a specific instance of a multi-role pool of an App + Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param instance: Name of the instance in the multi-role pool. + :type instance: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param dict custom_headers: headers that will 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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_pool_instance_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'instance': self._serialize.url("instance", instance, '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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_pool_instance_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics'} + + def list_multi_role_metric_definitions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get metric definitions for a multi-role pool of an App Service + Environment. + + Get metric definitions for a multi-role pool of an App Service + Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions'} + + def list_multi_role_metrics( + self, resource_group_name, name, start_time=None, end_time=None, time_grain=None, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get metrics for a multi-role pool of an App Service Environment. + + Get metrics for a multi-role pool of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param start_time: Beginning time of the metrics query. + :type start_time: str + :param end_time: End time of the metrics query. + :type end_time: str + :param time_grain: Time granularity of the metrics query. + :type time_grain: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 start_time is not None: + query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'str') + if time_grain is not None: + query_parameters['timeGrain'] = self._serialize.query("time_grain", time_grain, 'str') + if details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics'} + + def list_multi_role_pool_skus( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get available SKUs for scaling a multi-role pool. + + Get available SKUs for scaling a multi-role pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of SkuInfo + :rtype: + ~azure.mgmt.web.models.SkuInfoPaged[~azure.mgmt.web.models.SkuInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_pool_skus.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_pool_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus'} + + def list_multi_role_usages( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get usage metrics for a multi-role pool of an App Service Environment. + + Get usage metrics for a multi-role pool of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of Usage + :rtype: + ~azure.mgmt.web.models.UsagePaged[~azure.mgmt.web.models.Usage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_multi_role_usages.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_multi_role_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages'} + + def list_operations( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List all currently running operations on the App Service Environment. + + List all currently running operations on the App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.Operation] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_operations.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[Operation]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_operations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations'} + + def reboot( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Reboot all machines in an App Service Environment. + + Reboot all machines in an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.reboot.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 [202, 400, 404, 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 + reboot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot'} + + + def _resume_initial( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.resume.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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, 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('WebAppCollection', response) + if response.status_code == 202: + deserialized = self._deserialize('WebAppCollection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def resume( + self, resource_group_name, name, custom_headers=None, raw=False, polling=True, **operation_config): + """Resume an App Service Environment. + + Resume an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type 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 WebAppCollection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.WebAppCollection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.WebAppCollection]] + :raises: :class:`CloudError` + """ + raw_result = self._resume_initial( + resource_group_name=resource_group_name, + name=name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('WebAppCollection', 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) + resume.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume'} + + def list_app_service_plans( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get all App Service plans in an App Service Environment. + + Get all App Service plans in an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of AppServicePlan + :rtype: + ~azure.mgmt.web.models.AppServicePlanPaged[~azure.mgmt.web.models.AppServicePlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_app_service_plans.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_app_service_plans.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms'} + + def list_web_apps( + self, resource_group_name, name, properties_to_include=None, custom_headers=None, raw=False, **operation_config): + """Get all apps in an App Service Environment. + + Get all apps in an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param properties_to_include: Comma separated list of app properties + to include. + :type properties_to_include: 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 Site + :rtype: ~azure.mgmt.web.models.SitePaged[~azure.mgmt.web.models.Site] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_apps.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 properties_to_include is not None: + query_parameters['propertiesToInclude'] = self._serialize.query("properties_to_include", properties_to_include, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_apps.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites'} + + + def _suspend_initial( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.suspend.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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, 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('WebAppCollection', response) + if response.status_code == 202: + deserialized = self._deserialize('WebAppCollection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def suspend( + self, resource_group_name, name, custom_headers=None, raw=False, polling=True, **operation_config): + """Suspend an App Service Environment. + + Suspend an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type 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 WebAppCollection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.WebAppCollection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.WebAppCollection]] + :raises: :class:`CloudError` + """ + raw_result = self._suspend_initial( + resource_group_name=resource_group_name, + name=name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('WebAppCollection', 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) + suspend.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend'} + + def list_usages( + self, resource_group_name, name, filter=None, custom_headers=None, raw=False, **operation_config): + """Get global usage metrics of an App Service Environment. + + Get global usage metrics of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 CsmUsageQuota + :rtype: + ~azure.mgmt.web.models.CsmUsageQuotaPaged[~azure.mgmt.web.models.CsmUsageQuota] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages'} + + def list_worker_pools( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get all worker pools of an App Service Environment. + + Get all worker pools of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :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: An iterator like instance of WorkerPoolResource + :rtype: + ~azure.mgmt.web.models.WorkerPoolResourcePaged[~azure.mgmt.web.models.WorkerPoolResource] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_worker_pools.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_worker_pools.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools'} + + def get_worker_pool( + self, resource_group_name, name, worker_pool_name, custom_headers=None, raw=False, **operation_config): + """Get properties of a worker pool. + + Get properties of a worker pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_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: WorkerPoolResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WorkerPoolResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_worker_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_worker_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}'} + + + def _create_or_update_worker_pool_initial( + self, resource_group_name, name, worker_pool_name, worker_pool_envelope, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update_worker_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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(worker_pool_envelope, 'WorkerPoolResource') + + # 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, 202, 400, 404, 409]: + 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('WorkerPoolResource', response) + if response.status_code == 202: + deserialized = self._deserialize('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update_worker_pool( + self, resource_group_name, name, worker_pool_name, worker_pool_envelope, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a worker pool. + + Create or update a worker pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_name: str + :param worker_pool_envelope: Properties of the worker pool. + :type worker_pool_envelope: ~azure.mgmt.web.models.WorkerPoolResource + :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 WorkerPoolResource or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.WorkerPoolResource] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.WorkerPoolResource]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_worker_pool_initial( + resource_group_name=resource_group_name, + name=name, + worker_pool_name=worker_pool_name, + worker_pool_envelope=worker_pool_envelope, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('WorkerPoolResource', 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_worker_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}'} + + def update_worker_pool( + self, resource_group_name, name, worker_pool_name, worker_pool_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a worker pool. + + Create or update a worker pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_name: str + :param worker_pool_envelope: Properties of the worker pool. + :type worker_pool_envelope: ~azure.mgmt.web.models.WorkerPoolResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: WorkerPoolResource or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.WorkerPoolResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_worker_pool.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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(worker_pool_envelope, 'WorkerPoolResource') + + # 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, 400, 404, 409]: + 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('WorkerPoolResource', response) + if response.status_code == 202: + deserialized = self._deserialize('WorkerPoolResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_worker_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}'} + + def list_worker_pool_instance_metric_definitions( + self, resource_group_name, name, worker_pool_name, instance, custom_headers=None, raw=False, **operation_config): + """Get metric definitions for a specific instance of a worker pool of an + App Service Environment. + + Get metric definitions for a specific instance of a worker pool of an + App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_name: str + :param instance: Name of the instance in the worker pool. + :type instance: 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 ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_worker_pool_instance_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_name, 'str'), + 'instance': self._serialize.url("instance", instance, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_worker_pool_instance_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions'} + + def list_worker_pool_instance_metrics( + self, resource_group_name, name, worker_pool_name, instance, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get metrics for a specific instance of a worker pool of an App Service + Environment. + + Get metrics for a specific instance of a worker pool of an App Service + Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_name: str + :param instance: Name of the instance in the worker pool. + :type instance: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_worker_pool_instance_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_name, 'str'), + 'instance': self._serialize.url("instance", instance, '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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_worker_pool_instance_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics'} + + def list_web_worker_metric_definitions( + self, resource_group_name, name, worker_pool_name, custom_headers=None, raw=False, **operation_config): + """Get metric definitions for a worker pool of an App Service Environment. + + Get metric definitions for a worker pool of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_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 ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_worker_metric_definitions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_worker_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions'} + + def list_web_worker_metrics( + self, resource_group_name, name, worker_pool_name, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get metrics for a worker pool of a AppServiceEnvironment (App Service + Environment). + + Get metrics for a worker pool of a AppServiceEnvironment (App Service + Environment). + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of worker pool + :type worker_pool_name: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_worker_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_worker_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics'} + + def list_worker_pool_skus( + self, resource_group_name, name, worker_pool_name, custom_headers=None, raw=False, **operation_config): + """Get available SKUs for scaling a worker pool. + + Get available SKUs for scaling a worker pool. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_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 SkuInfo + :rtype: + ~azure.mgmt.web.models.SkuInfoPaged[~azure.mgmt.web.models.SkuInfo] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_worker_pool_skus.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_worker_pool_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus'} + + def list_web_worker_usages( + self, resource_group_name, name, worker_pool_name, custom_headers=None, raw=False, **operation_config): + """Get usage metrics for a worker pool of an App Service Environment. + + Get usage metrics for a worker pool of an App Service Environment. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service Environment. + :type name: str + :param worker_pool_name: Name of the worker pool. + :type worker_pool_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 Usage + :rtype: + ~azure.mgmt.web.models.UsagePaged[~azure.mgmt.web.models.Usage] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_worker_usages.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerPoolName': self._serialize.url("worker_pool_name", worker_pool_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_worker_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_plans_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_plans_operations.py new file mode 100644 index 000000000000..f8ac01948fae --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/operations/_app_service_plans_operations.py @@ -0,0 +1,2130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AppServicePlansOperations(object): + """AppServicePlansOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. 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, detailed=None, custom_headers=None, raw=False, **operation_config): + """Get all App Service plans for a subscription. + + Get all App Service plans for a subscription. + + :param detailed: Specify true to return all App Service + plan properties. The default is false, which returns a + subset of the properties. + Retrieval of all properties may increase the API latency. + :type detailed: bool + :param dict custom_headers: headers that will 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 AppServicePlan + :rtype: + ~azure.mgmt.web.models.AppServicePlanPaged[~azure.mgmt.web.models.AppServicePlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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 detailed is not None: + query_parameters['detailed'] = self._serialize.query("detailed", detailed, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all App Service plans in a resource group. + + Get all App Service plans in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 AppServicePlan + :rtype: + ~azure.mgmt.web.models.AppServicePlanPaged[~azure.mgmt.web.models.AppServicePlan] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms'} + + def get( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get an App Service plan. + + Get an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: AppServicePlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.AppServicePlan 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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]: + 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('AppServicePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'} + + + def _create_or_update_initial( + self, resource_group_name, name, app_service_plan, 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(app_service_plan, 'AppServicePlan') + + # 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('AppServicePlan', response) + if response.status_code == 201: + deserialized = self._deserialize('AppServicePlan', response) + if response.status_code == 202: + deserialized = self._deserialize('AppServicePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, name, app_service_plan, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an App Service Plan. + + Creates or updates an App Service Plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param app_service_plan: Details of the App Service plan. + :type app_service_plan: ~azure.mgmt.web.models.AppServicePlan + :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 AppServicePlan or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.web.models.AppServicePlan] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.web.models.AppServicePlan]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + app_service_plan=app_service_plan, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AppServicePlan', 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.Web/serverfarms/{name}'} + + def delete( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Delete an App Service plan. + + Delete an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'} + + def update( + self, resource_group_name, name, app_service_plan, custom_headers=None, raw=False, **operation_config): + """Creates or updates an App Service Plan. + + Creates or updates an App Service Plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param app_service_plan: Details of the App Service plan. + :type app_service_plan: + ~azure.mgmt.web.models.AppServicePlanPatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: AppServicePlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.AppServicePlan 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(app_service_plan, 'AppServicePlanPatchResource') + + # 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('AppServicePlan', response) + if response.status_code == 202: + deserialized = self._deserialize('AppServicePlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}'} + + def list_capabilities( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """List all capabilities of an App Service plan. + + List all capabilities of an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.Capability] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_capabilities.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[Capability]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_capabilities.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities'} + + def get_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Retrieve a Hybrid Connection in use in an App Service plan. + + Retrieve a Hybrid Connection in use in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param namespace_name: Name of the Service Bus namespace. + :type namespace_name: str + :param relay_name: Name of the Service Bus relay. + :type relay_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: HybridConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnection or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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('HybridConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def delete_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Delete a Hybrid Connection in use in an App Service plan. + + Delete a Hybrid Connection in use in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param namespace_name: Name of the Service Bus namespace. + :type namespace_name: str + :param relay_name: Name of the Service Bus relay. + :type relay_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_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}'} + + def list_hybrid_connection_keys( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Get the send key name and value of a Hybrid Connection. + + Get the send key name and value of a Hybrid Connection. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param namespace_name: The name of the Service Bus namespace. + :type namespace_name: str + :param relay_name: The name of the Service Bus relay. + :type relay_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: HybridConnectionKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnectionKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_hybrid_connection_keys.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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('HybridConnectionKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_hybrid_connection_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys'} + + def list_web_apps_by_hybrid_connection( + self, resource_group_name, name, namespace_name, relay_name, custom_headers=None, raw=False, **operation_config): + """Get all apps that use a Hybrid Connection in an App Service Plan. + + Get all apps that use a Hybrid Connection in an App Service Plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param namespace_name: Name of the Hybrid Connection namespace. + :type namespace_name: str + :param relay_name: Name of the Hybrid Connection relay. + :type relay_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 str + :rtype: ~azure.mgmt.web.models.StrPaged[str] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_apps_by_hybrid_connection.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'namespaceName': self._serialize.url("namespace_name", namespace_name, 'str'), + 'relayName': self._serialize.url("relay_name", relay_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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.StrPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_apps_by_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites'} + + def get_hybrid_connection_plan_limit( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get the maximum number of Hybrid Connections allowed in an App Service + plan. + + Get the maximum number of Hybrid Connections allowed in an App Service + plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: HybridConnectionLimits or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.HybridConnectionLimits or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_hybrid_connection_plan_limit.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('HybridConnectionLimits', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_hybrid_connection_plan_limit.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit'} + + def list_hybrid_connections( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Retrieve all Hybrid Connections in use in an App Service plan. + + Retrieve all Hybrid Connections in use in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: An iterator like instance of HybridConnection + :rtype: + ~azure.mgmt.web.models.HybridConnectionPaged[~azure.mgmt.web.models.HybridConnection] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_hybrid_connections.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.HybridConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_hybrid_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays'} + + def list_metric_defintions( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get metrics that can be queried for an App Service plan, and their + definitions. + + Get metrics that can be queried for an App Service plan, and their + definitions. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: An iterator like instance of ResourceMetricDefinition + :rtype: + ~azure.mgmt.web.models.ResourceMetricDefinitionPaged[~azure.mgmt.web.models.ResourceMetricDefinition] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metric_defintions.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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') + + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metric_defintions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions'} + + def list_metrics( + self, resource_group_name, name, details=None, filter=None, custom_headers=None, raw=False, **operation_config): + """Get metrics for an App Service plan. + + Get metrics for an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param details: Specify true to include instance details. + The default is false. + :type details: bool + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2') and startTime eq + '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and + timeGrain eq duration'[Hour|Minute|Day]'. + :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 ResourceMetric + :rtype: + ~azure.mgmt.web.models.ResourceMetricPaged[~azure.mgmt.web.models.ResourceMetric] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_metrics.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 details is not None: + query_parameters['details'] = self._serialize.query("details", details, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics'} + + def restart_web_apps( + self, resource_group_name, name, soft_restart=None, custom_headers=None, raw=False, **operation_config): + """Restart all apps in an App Service plan. + + Restart all apps in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param soft_restart: Specify true to perform a soft + restart, applies the configuration settings and restarts the apps if + necessary. The default is false, which always restarts + and reprovisions the apps + :type soft_restart: bool + :param dict custom_headers: headers that will 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.restart_web_apps.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 soft_restart is not None: + query_parameters['softRestart'] = self._serialize.query("soft_restart", soft_restart, 'bool') + 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 + restart_web_apps.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites'} + + def list_web_apps( + self, resource_group_name, name, skip_token=None, filter=None, top=None, custom_headers=None, raw=False, **operation_config): + """Get all apps associated with an App Service plan. + + Get all apps associated with an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param skip_token: Skip to a web app in the list of webapps associated + with app service plan. If specified, the resulting list will contain + web apps starting from (including) the skipToken. Otherwise, the + resulting list contains web apps from the start of the list + :type skip_token: str + :param filter: Supported filter: $filter=state eq running. Returns + only web apps that are currently running + :type filter: str + :param top: List page size. If specified, results are paged. + :type top: 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 Site + :rtype: ~azure.mgmt.web.models.SitePaged[~azure.mgmt.web.models.Site] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_web_apps.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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 skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str', skip_quote=True) + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_web_apps.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites'} + + def get_server_farm_skus( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Gets all selectable SKUs for a given App Service Plan. + + Gets all selectable SKUs for a given App Service Plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of App Service Plan + :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_server_farm_skus.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_server_farm_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus'} + + def list_usages( + self, resource_group_name, name, filter=None, custom_headers=None, raw=False, **operation_config): + """Gets server farm usage information. + + Gets server farm usage information. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of App Service Plan + :type name: str + :param filter: Return only usages/metrics specified in the filter. + Filter conforms to odata syntax. Example: $filter=(name.value eq + 'Metric1' or name.value eq 'Metric2'). + :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 CsmUsageQuota + :rtype: + ~azure.mgmt.web.models.CsmUsageQuotaPaged[~azure.mgmt.web.models.CsmUsageQuota] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_usages.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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', 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages'} + + def list_vnets( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get all Virtual Networks associated with an App Service plan. + + Get all Virtual Networks associated with an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.VnetInfo] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_vnets.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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('[VnetInfo]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_vnets.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections'} + + def get_vnet_from_server_farm( + self, resource_group_name, name, vnet_name, custom_headers=None, raw=False, **operation_config): + """Get a Virtual Network associated with an App Service plan. + + Get a Virtual Network associated with an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_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: VnetInfo or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetInfo or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_from_server_farm.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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]: + 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('VnetInfo', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_from_server_farm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}'} + + def get_vnet_gateway( + self, resource_group_name, name, vnet_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Get a Virtual Network gateway. + + Get a Virtual Network gateway. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Only the 'primary' gateway + is supported. + :type gateway_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: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_vnet_gateway.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_vnet_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def update_vnet_gateway( + self, resource_group_name, name, vnet_name, gateway_name, connection_envelope, custom_headers=None, raw=False, **operation_config): + """Update a Virtual Network gateway. + + Update a Virtual Network gateway. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param gateway_name: Name of the gateway. Only the 'primary' gateway + is supported. + :type gateway_name: str + :param connection_envelope: Definition of the gateway. + :type connection_envelope: ~azure.mgmt.web.models.VnetGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetGateway or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_gateway.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(connection_envelope, 'VnetGateway') + + # 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]: + 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('VnetGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}'} + + def list_routes_for_vnet( + self, resource_group_name, name, vnet_name, custom_headers=None, raw=False, **operation_config): + """Get all routes that are associated with a Virtual Network in an App + Service plan. + + Get all routes that are associated with a Virtual Network in an App + Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.VnetRoute] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_routes_for_vnet.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_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('[VnetRoute]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_routes_for_vnet.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes'} + + def get_route_for_vnet( + self, resource_group_name, name, vnet_name, route_name, custom_headers=None, raw=False, **operation_config): + """Get a Virtual Network route in an App Service plan. + + Get a Virtual Network route in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param route_name: Name of the Virtual Network route. + :type route_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: list or ClientRawResponse if raw=true + :rtype: list[~azure.mgmt.web.models.VnetRoute] or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_route_for_vnet.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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]: + 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('[VnetRoute]', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_route_for_vnet.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'} + + def create_or_update_vnet_route( + self, resource_group_name, name, vnet_name, route_name, route, custom_headers=None, raw=False, **operation_config): + """Create or update a Virtual Network route in an App Service plan. + + Create or update a Virtual Network route in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param route_name: Name of the Virtual Network route. + :type route_name: str + :param route: Definition of the Virtual Network route. + :type route: ~azure.mgmt.web.models.VnetRoute + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetRoute or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetRoute or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update_vnet_route.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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(route, 'VnetRoute') + + # 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, 400, 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('VnetRoute', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update_vnet_route.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'} + + def delete_vnet_route( + self, resource_group_name, name, vnet_name, route_name, custom_headers=None, raw=False, **operation_config): + """Delete a Virtual Network route in an App Service plan. + + Delete a Virtual Network route in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param route_name: Name of the Virtual Network route. + :type route_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_vnet_route.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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, 404]: + 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_vnet_route.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'} + + def update_vnet_route( + self, resource_group_name, name, vnet_name, route_name, route, custom_headers=None, raw=False, **operation_config): + """Create or update a Virtual Network route in an App Service plan. + + Create or update a Virtual Network route in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param vnet_name: Name of the Virtual Network. + :type vnet_name: str + :param route_name: Name of the Virtual Network route. + :type route_name: str + :param route: Definition of the Virtual Network route. + :type route: ~azure.mgmt.web.models.VnetRoute + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetRoute or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetRoute or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.update_vnet_route.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'vnetName': self._serialize.url("vnet_name", vnet_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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(route, 'VnetRoute') + + # 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, 400, 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('VnetRoute', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_vnet_route.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}'} + + def reboot_worker( + self, resource_group_name, name, worker_name, custom_headers=None, raw=False, **operation_config): + """Reboot a worker machine in an App Service plan. + + Reboot a worker machine in an App Service plan. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the App Service plan. + :type name: str + :param worker_name: Name of worker machine, which typically starts + with RD. + :type worker_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.reboot_worker.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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", name, 'str'), + 'workerName': self._serialize.url("worker_name", worker_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 + reboot_worker.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2016_09_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/__init__.py new file mode 100644 index 000000000000..55c66f839cff --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/__init__.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 ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_web_site_management_client.py new file mode 100644 index 000000000000..78122cd6b807 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/_web_site_management_client.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 ._configuration import WebSiteManagementClientConfiguration +from .operations import WebSiteManagementClientOperationsMixin +from .operations import AppServiceCertificateOrdersOperations +from .operations import CertificateRegistrationProviderOperations +from .operations import DomainsOperations +from .operations import TopLevelDomainsOperations +from .operations import DomainRegistrationProviderOperations +from .operations import CertificatesOperations +from .operations import DeletedWebAppsOperations +from .operations import DiagnosticsOperations +from .operations import ProviderOperations +from .operations import RecommendationsOperations +from .operations import WebAppsOperations +from .operations import AppServiceEnvironmentsOperations +from .operations import AppServicePlansOperations +from .operations import ResourceHealthMetadataOperations +from . import models + + +class WebSiteManagementClient(WebSiteManagementClientOperationsMixin, SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar app_service_certificate_orders: AppServiceCertificateOrders operations + :vartype app_service_certificate_orders: azure.mgmt.web.operations.AppServiceCertificateOrdersOperations + :ivar certificate_registration_provider: CertificateRegistrationProvider operations + :vartype certificate_registration_provider: azure.mgmt.web.operations.CertificateRegistrationProviderOperations + :ivar domains: Domains operations + :vartype domains: azure.mgmt.web.operations.DomainsOperations + :ivar top_level_domains: TopLevelDomains operations + :vartype top_level_domains: azure.mgmt.web.operations.TopLevelDomainsOperations + :ivar domain_registration_provider: DomainRegistrationProvider operations + :vartype domain_registration_provider: azure.mgmt.web.operations.DomainRegistrationProviderOperations + :ivar certificates: Certificates operations + :vartype certificates: azure.mgmt.web.operations.CertificatesOperations + :ivar deleted_web_apps: DeletedWebApps operations + :vartype deleted_web_apps: azure.mgmt.web.operations.DeletedWebAppsOperations + :ivar diagnostics: Diagnostics operations + :vartype diagnostics: azure.mgmt.web.operations.DiagnosticsOperations + :ivar provider: Provider operations + :vartype provider: azure.mgmt.web.operations.ProviderOperations + :ivar recommendations: Recommendations operations + :vartype recommendations: azure.mgmt.web.operations.RecommendationsOperations + :ivar web_apps: WebApps operations + :vartype web_apps: azure.mgmt.web.operations.WebAppsOperations + :ivar app_service_environments: AppServiceEnvironments operations + :vartype app_service_environments: azure.mgmt.web.operations.AppServiceEnvironmentsOperations + :ivar app_service_plans: AppServicePlans operations + :vartype app_service_plans: azure.mgmt.web.operations.AppServicePlansOperations + :ivar resource_health_metadata: ResourceHealthMetadata operations + :vartype resource_health_metadata: azure.mgmt.web.operations.ResourceHealthMetadataOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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.app_service_certificate_orders = AppServiceCertificateOrdersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.certificate_registration_provider = CertificateRegistrationProviderOperations( + self._client, self.config, self._serialize, self._deserialize) + self.domains = DomainsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.top_level_domains = TopLevelDomainsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.domain_registration_provider = DomainRegistrationProviderOperations( + self._client, self.config, self._serialize, self._deserialize) + self.certificates = CertificatesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.deleted_web_apps = DeletedWebAppsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.diagnostics = DiagnosticsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.provider = ProviderOperations( + self._client, self.config, self._serialize, self._deserialize) + self.recommendations = RecommendationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.web_apps = WebAppsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.app_service_environments = AppServiceEnvironmentsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.app_service_plans = AppServicePlansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_health_metadata = ResourceHealthMetadataOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/__init__.py new file mode 100644 index 000000000000..ce7b9a27c8e6 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/__init__.py @@ -0,0 +1,940 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import AbnormalTimePeriod + from ._models_py3 import Address + from ._models_py3 import AddressResponse + from ._models_py3 import AnalysisData + from ._models_py3 import AnalysisDefinition + from ._models_py3 import ApiDefinitionInfo + from ._models_py3 import ApplicationLogsConfig + from ._models_py3 import ApplicationStack + from ._models_py3 import AppServiceCertificate + from ._models_py3 import AppServiceCertificateOrder + from ._models_py3 import AppServiceCertificateOrderPatchResource + from ._models_py3 import AppServiceCertificatePatchResource + from ._models_py3 import AppServiceCertificateResource + from ._models_py3 import AppServiceEnvironment + from ._models_py3 import AppServiceEnvironmentPatchResource + from ._models_py3 import AppServiceEnvironmentResource + from ._models_py3 import AppServicePlan + from ._models_py3 import AppServicePlanPatchResource + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import AzureBlobStorageApplicationLogsConfig + from ._models_py3 import AzureBlobStorageHttpLogsConfig + from ._models_py3 import AzureStorageInfoValue + from ._models_py3 import AzureStoragePropertyDictionaryResource + from ._models_py3 import AzureTableStorageApplicationLogsConfig + from ._models_py3 import BackupItem + from ._models_py3 import BackupRequest + from ._models_py3 import BackupSchedule + from ._models_py3 import BillingMeter + from ._models_py3 import Capability + from ._models_py3 import Certificate + from ._models_py3 import CertificateDetails + from ._models_py3 import CertificateEmail + from ._models_py3 import CertificateOrderAction + from ._models_py3 import CertificatePatchResource + from ._models_py3 import CloningInfo + from ._models_py3 import ConnectionStringDictionary + from ._models_py3 import ConnStringInfo + from ._models_py3 import ConnStringValueTypePair + from ._models_py3 import Contact + from ._models_py3 import ContinuousWebJob + from ._models_py3 import CorsSettings + from ._models_py3 import CsmMoveResourceEnvelope + from ._models_py3 import CsmOperationDescription + from ._models_py3 import CsmOperationDescriptionProperties + from ._models_py3 import CsmOperationDisplay + from ._models_py3 import CsmPublishingProfileOptions + from ._models_py3 import CsmSlotEntity + from ._models_py3 import CsmUsageQuota + from ._models_py3 import CustomHostnameAnalysisResult + from ._models_py3 import DatabaseBackupSetting + from ._models_py3 import DataSource + from ._models_py3 import DataTableResponseColumn + from ._models_py3 import DataTableResponseObject + from ._models_py3 import DefaultErrorResponse, DefaultErrorResponseException + from ._models_py3 import DefaultErrorResponseError + from ._models_py3 import DefaultErrorResponseErrorDetailsItem + from ._models_py3 import DeletedAppRestoreRequest + from ._models_py3 import DeletedSite + from ._models_py3 import Deployment + from ._models_py3 import DeploymentLocations + from ._models_py3 import DetectorAbnormalTimePeriod + from ._models_py3 import DetectorDefinition + from ._models_py3 import DetectorInfo + from ._models_py3 import DetectorResponse + from ._models_py3 import DiagnosticAnalysis + from ._models_py3 import DiagnosticCategory + from ._models_py3 import DiagnosticData + from ._models_py3 import DiagnosticDetectorResponse + from ._models_py3 import DiagnosticMetricSample + from ._models_py3 import DiagnosticMetricSet + from ._models_py3 import Dimension + from ._models_py3 import Domain + from ._models_py3 import DomainAvailablilityCheckResult + from ._models_py3 import DomainControlCenterSsoRequest + from ._models_py3 import DomainOwnershipIdentifier + from ._models_py3 import DomainPatchResource + from ._models_py3 import DomainPurchaseConsent + from ._models_py3 import DomainRecommendationSearchParameters + from ._models_py3 import EnabledConfig + from ._models_py3 import EndpointDependency + from ._models_py3 import EndpointDetail + from ._models_py3 import ErrorEntity + from ._models_py3 import Experiments + from ._models_py3 import FileSystemApplicationLogsConfig + from ._models_py3 import FileSystemHttpLogsConfig + from ._models_py3 import FunctionEnvelope + from ._models_py3 import FunctionSecrets + from ._models_py3 import GeoDistribution + from ._models_py3 import GeoRegion + from ._models_py3 import GlobalCsmSkuDescription + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentDeploymentInfo + from ._models_py3 import HostingEnvironmentDiagnostics + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostName + from ._models_py3 import HostNameBinding + from ._models_py3 import HostNameSslState + from ._models_py3 import HttpLogsConfig + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import HybridConnectionLimits + from ._models_py3 import Identifier + from ._models_py3 import InboundEnvironmentEndpoint + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import LocalizableString + from ._models_py3 import LogSpecification + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models_py3 import MetricAvailabilily + from ._models_py3 import MetricAvailability + from ._models_py3 import MetricDefinition + from ._models_py3 import MetricSpecification + from ._models_py3 import MigrateMySqlRequest + from ._models_py3 import MigrateMySqlStatus + from ._models_py3 import MSDeploy + from ._models_py3 import MSDeployLog + from ._models_py3 import MSDeployLogEntry + from ._models_py3 import MSDeployStatus + from ._models_py3 import NameIdentifier + from ._models_py3 import NameValuePair + from ._models_py3 import NetworkAccessControlEntry + from ._models_py3 import NetworkFeatures + from ._models_py3 import NetworkTrace + from ._models_py3 import Operation + from ._models_py3 import OutboundEnvironmentEndpoint + from ._models_py3 import PerfMonResponse + from ._models_py3 import PerfMonSample + from ._models_py3 import PerfMonSet + from ._models_py3 import PremierAddOn + from ._models_py3 import PremierAddOnOffer + from ._models_py3 import PremierAddOnPatchResource + from ._models_py3 import PrivateAccess + from ._models_py3 import PrivateAccessSubnet + from ._models_py3 import PrivateAccessVirtualNetwork + from ._models_py3 import ProcessInfo + from ._models_py3 import ProcessModuleInfo + from ._models_py3 import ProcessThreadInfo + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PublicCertificate + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import Recommendation + from ._models_py3 import RecommendationRule + from ._models_py3 import ReissueCertificateOrderRequest + from ._models_py3 import RelayServiceConnectionEntity + from ._models_py3 import Rendering + from ._models_py3 import RenewCertificateOrderRequest + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceHealthMetadata + from ._models_py3 import ResourceMetric + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import ResourceMetricName + from ._models_py3 import ResourceMetricProperty + from ._models_py3 import ResourceMetricValue + from ._models_py3 import ResourceNameAvailability + from ._models_py3 import ResourceNameAvailabilityRequest + from ._models_py3 import ResponseMetaData + from ._models_py3 import RestoreRequest + from ._models_py3 import ServiceSpecification + from ._models_py3 import Site + from ._models_py3 import SiteAuthSettings + from ._models_py3 import SiteCloneability + from ._models_py3 import SiteCloneabilityCriterion + from ._models_py3 import SiteConfig + from ._models_py3 import SiteConfigResource + from ._models_py3 import SiteConfigurationSnapshotInfo + from ._models_py3 import SiteExtensionInfo + from ._models_py3 import SiteInstance + from ._models_py3 import SiteLimits + from ._models_py3 import SiteLogsConfig + from ._models_py3 import SiteMachineKey + from ._models_py3 import SitePatchResource + from ._models_py3 import SitePhpErrorLogFlag + from ._models_py3 import SiteSeal + from ._models_py3 import SiteSealRequest + from ._models_py3 import SiteSourceControl + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SkuInfo + from ._models_py3 import SkuInfos + from ._models_py3 import SlotConfigNamesResource + from ._models_py3 import SlotDifference + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import Snapshot + from ._models_py3 import SnapshotRecoverySource + from ._models_py3 import SnapshotRestoreRequest + from ._models_py3 import Solution + from ._models_py3 import SourceControl + from ._models_py3 import StackMajorVersion + from ._models_py3 import StackMinorVersion + from ._models_py3 import StampCapacity + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import StorageMigrationOptions + from ._models_py3 import StorageMigrationResponse + from ._models_py3 import StringDictionary + from ._models_py3 import SwiftVirtualNetwork + from ._models_py3 import TldLegalAgreement + from ._models_py3 import TopLevelDomain + from ._models_py3 import TopLevelDomainAgreementOption + from ._models_py3 import TriggeredJobHistory + from ._models_py3 import TriggeredJobRun + from ._models_py3 import TriggeredWebJob + from ._models_py3 import Usage + from ._models_py3 import User + from ._models_py3 import ValidateContainerSettingsRequest + from ._models_py3 import ValidateRequest + from ._models_py3 import ValidateResponse + from ._models_py3 import ValidateResponseError + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VirtualIPMapping + from ._models_py3 import VirtualNetworkProfile + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetParameters + from ._models_py3 import VnetRoute + from ._models_py3 import VnetValidationFailureDetails + from ._models_py3 import VnetValidationTestFailure + from ._models_py3 import WebAppCollection + from ._models_py3 import WebJob + from ._models_py3 import WorkerPool + from ._models_py3 import WorkerPoolResource +except (SyntaxError, ImportError): + from ._models import AbnormalTimePeriod + from ._models import Address + from ._models import AddressResponse + from ._models import AnalysisData + from ._models import AnalysisDefinition + from ._models import ApiDefinitionInfo + from ._models import ApplicationLogsConfig + from ._models import ApplicationStack + from ._models import AppServiceCertificate + from ._models import AppServiceCertificateOrder + from ._models import AppServiceCertificateOrderPatchResource + from ._models import AppServiceCertificatePatchResource + from ._models import AppServiceCertificateResource + from ._models import AppServiceEnvironment + from ._models import AppServiceEnvironmentPatchResource + from ._models import AppServiceEnvironmentResource + from ._models import AppServicePlan + from ._models import AppServicePlanPatchResource + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import AzureBlobStorageApplicationLogsConfig + from ._models import AzureBlobStorageHttpLogsConfig + from ._models import AzureStorageInfoValue + from ._models import AzureStoragePropertyDictionaryResource + from ._models import AzureTableStorageApplicationLogsConfig + from ._models import BackupItem + from ._models import BackupRequest + from ._models import BackupSchedule + from ._models import BillingMeter + from ._models import Capability + from ._models import Certificate + from ._models import CertificateDetails + from ._models import CertificateEmail + from ._models import CertificateOrderAction + from ._models import CertificatePatchResource + from ._models import CloningInfo + from ._models import ConnectionStringDictionary + from ._models import ConnStringInfo + from ._models import ConnStringValueTypePair + from ._models import Contact + from ._models import ContinuousWebJob + from ._models import CorsSettings + from ._models import CsmMoveResourceEnvelope + from ._models import CsmOperationDescription + from ._models import CsmOperationDescriptionProperties + from ._models import CsmOperationDisplay + from ._models import CsmPublishingProfileOptions + from ._models import CsmSlotEntity + from ._models import CsmUsageQuota + from ._models import CustomHostnameAnalysisResult + from ._models import DatabaseBackupSetting + from ._models import DataSource + from ._models import DataTableResponseColumn + from ._models import DataTableResponseObject + from ._models import DefaultErrorResponse, DefaultErrorResponseException + from ._models import DefaultErrorResponseError + from ._models import DefaultErrorResponseErrorDetailsItem + from ._models import DeletedAppRestoreRequest + from ._models import DeletedSite + from ._models import Deployment + from ._models import DeploymentLocations + from ._models import DetectorAbnormalTimePeriod + from ._models import DetectorDefinition + from ._models import DetectorInfo + from ._models import DetectorResponse + from ._models import DiagnosticAnalysis + from ._models import DiagnosticCategory + from ._models import DiagnosticData + from ._models import DiagnosticDetectorResponse + from ._models import DiagnosticMetricSample + from ._models import DiagnosticMetricSet + from ._models import Dimension + from ._models import Domain + from ._models import DomainAvailablilityCheckResult + from ._models import DomainControlCenterSsoRequest + from ._models import DomainOwnershipIdentifier + from ._models import DomainPatchResource + from ._models import DomainPurchaseConsent + from ._models import DomainRecommendationSearchParameters + from ._models import EnabledConfig + from ._models import EndpointDependency + from ._models import EndpointDetail + from ._models import ErrorEntity + from ._models import Experiments + from ._models import FileSystemApplicationLogsConfig + from ._models import FileSystemHttpLogsConfig + from ._models import FunctionEnvelope + from ._models import FunctionSecrets + from ._models import GeoDistribution + from ._models import GeoRegion + from ._models import GlobalCsmSkuDescription + from ._models import HandlerMapping + from ._models import HostingEnvironmentDeploymentInfo + from ._models import HostingEnvironmentDiagnostics + from ._models import HostingEnvironmentProfile + from ._models import HostName + from ._models import HostNameBinding + from ._models import HostNameSslState + from ._models import HttpLogsConfig + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import HybridConnectionLimits + from ._models import Identifier + from ._models import InboundEnvironmentEndpoint + from ._models import IpSecurityRestriction + from ._models import LocalizableString + from ._models import LogSpecification + from ._models import ManagedServiceIdentity + from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models import MetricAvailabilily + from ._models import MetricAvailability + from ._models import MetricDefinition + from ._models import MetricSpecification + from ._models import MigrateMySqlRequest + from ._models import MigrateMySqlStatus + from ._models import MSDeploy + from ._models import MSDeployLog + from ._models import MSDeployLogEntry + from ._models import MSDeployStatus + from ._models import NameIdentifier + from ._models import NameValuePair + from ._models import NetworkAccessControlEntry + from ._models import NetworkFeatures + from ._models import NetworkTrace + from ._models import Operation + from ._models import OutboundEnvironmentEndpoint + from ._models import PerfMonResponse + from ._models import PerfMonSample + from ._models import PerfMonSet + from ._models import PremierAddOn + from ._models import PremierAddOnOffer + from ._models import PremierAddOnPatchResource + from ._models import PrivateAccess + from ._models import PrivateAccessSubnet + from ._models import PrivateAccessVirtualNetwork + from ._models import ProcessInfo + from ._models import ProcessModuleInfo + from ._models import ProcessThreadInfo + from ._models import ProxyOnlyResource + from ._models import PublicCertificate + from ._models import PushSettings + from ._models import RampUpRule + from ._models import Recommendation + from ._models import RecommendationRule + from ._models import ReissueCertificateOrderRequest + from ._models import RelayServiceConnectionEntity + from ._models import Rendering + from ._models import RenewCertificateOrderRequest + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceHealthMetadata + from ._models import ResourceMetric + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import ResourceMetricName + from ._models import ResourceMetricProperty + from ._models import ResourceMetricValue + from ._models import ResourceNameAvailability + from ._models import ResourceNameAvailabilityRequest + from ._models import ResponseMetaData + from ._models import RestoreRequest + from ._models import ServiceSpecification + from ._models import Site + from ._models import SiteAuthSettings + from ._models import SiteCloneability + from ._models import SiteCloneabilityCriterion + from ._models import SiteConfig + from ._models import SiteConfigResource + from ._models import SiteConfigurationSnapshotInfo + from ._models import SiteExtensionInfo + from ._models import SiteInstance + from ._models import SiteLimits + from ._models import SiteLogsConfig + from ._models import SiteMachineKey + from ._models import SitePatchResource + from ._models import SitePhpErrorLogFlag + from ._models import SiteSeal + from ._models import SiteSealRequest + from ._models import SiteSourceControl + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SkuInfo + from ._models import SkuInfos + from ._models import SlotConfigNamesResource + from ._models import SlotDifference + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import Snapshot + from ._models import SnapshotRecoverySource + from ._models import SnapshotRestoreRequest + from ._models import Solution + from ._models import SourceControl + from ._models import StackMajorVersion + from ._models import StackMinorVersion + from ._models import StampCapacity + from ._models import StatusCodesBasedTrigger + from ._models import StorageMigrationOptions + from ._models import StorageMigrationResponse + from ._models import StringDictionary + from ._models import SwiftVirtualNetwork + from ._models import TldLegalAgreement + from ._models import TopLevelDomain + from ._models import TopLevelDomainAgreementOption + from ._models import TriggeredJobHistory + from ._models import TriggeredJobRun + from ._models import TriggeredWebJob + from ._models import Usage + from ._models import User + from ._models import ValidateContainerSettingsRequest + from ._models import ValidateRequest + from ._models import ValidateResponse + from ._models import ValidateResponseError + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VirtualIPMapping + from ._models import VirtualNetworkProfile + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetParameters + from ._models import VnetRoute + from ._models import VnetValidationFailureDetails + from ._models import VnetValidationTestFailure + from ._models import WebAppCollection + from ._models import WebJob + from ._models import WorkerPool + from ._models import WorkerPoolResource +from ._paged_models import AnalysisDefinitionPaged +from ._paged_models import ApplicationStackPaged +from ._paged_models import AppServiceCertificateOrderPaged +from ._paged_models import AppServiceCertificateResourcePaged +from ._paged_models import AppServiceEnvironmentResourcePaged +from ._paged_models import AppServicePlanPaged +from ._paged_models import BackupItemPaged +from ._paged_models import BillingMeterPaged +from ._paged_models import CertificatePaged +from ._paged_models import ContinuousWebJobPaged +from ._paged_models import CsmOperationDescriptionPaged +from ._paged_models import CsmUsageQuotaPaged +from ._paged_models import DeletedSitePaged +from ._paged_models import DeploymentPaged +from ._paged_models import DetectorDefinitionPaged +from ._paged_models import DetectorResponsePaged +from ._paged_models import DiagnosticCategoryPaged +from ._paged_models import DomainOwnershipIdentifierPaged +from ._paged_models import DomainPaged +from ._paged_models import FunctionEnvelopePaged +from ._paged_models import GeoRegionPaged +from ._paged_models import HostNameBindingPaged +from ._paged_models import HybridConnectionPaged +from ._paged_models import IdentifierPaged +from ._paged_models import InboundEnvironmentEndpointPaged +from ._paged_models import NameIdentifierPaged +from ._paged_models import OutboundEnvironmentEndpointPaged +from ._paged_models import PerfMonResponsePaged +from ._paged_models import PremierAddOnOfferPaged +from ._paged_models import ProcessInfoPaged +from ._paged_models import ProcessModuleInfoPaged +from ._paged_models import ProcessThreadInfoPaged +from ._paged_models import PublicCertificatePaged +from ._paged_models import RecommendationPaged +from ._paged_models import ResourceHealthMetadataPaged +from ._paged_models import ResourceMetricDefinitionPaged +from ._paged_models import ResourceMetricPaged +from ._paged_models import SiteConfigResourcePaged +from ._paged_models import SiteConfigurationSnapshotInfoPaged +from ._paged_models import SiteExtensionInfoPaged +from ._paged_models import SiteInstancePaged +from ._paged_models import SitePaged +from ._paged_models import SkuInfoPaged +from ._paged_models import SlotDifferencePaged +from ._paged_models import SnapshotPaged +from ._paged_models import SourceControlPaged +from ._paged_models import StampCapacityPaged +from ._paged_models import StrPaged +from ._paged_models import TldLegalAgreementPaged +from ._paged_models import TopLevelDomainPaged +from ._paged_models import TriggeredJobHistoryPaged +from ._paged_models import TriggeredWebJobPaged +from ._paged_models import UsagePaged +from ._paged_models import WebJobPaged +from ._paged_models import WorkerPoolResourcePaged +from ._web_site_management_client_enums import ( + KeyVaultSecretStatus, + CertificateProductType, + ProvisioningState, + CertificateOrderStatus, + CertificateOrderActionType, + RouteType, + ManagedServiceIdentityType, + IpFilterTag, + AutoHealActionType, + ConnectionStringType, + AzureStorageType, + AzureStorageState, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + FtpsState, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + RedundancyMode, + StatusOptions, + DomainStatus, + AzureResourceType, + CustomHostNameDnsRecordType, + HostNameType, + DnsType, + DomainType, + HostingEnvironmentStatus, + InternalLoadBalancingMode, + ComputeModeOptions, + WorkerSizeOptions, + AccessControlEntryAction, + OperationStatus, + IssueType, + SolutionType, + RenderingType, + ResourceScopeType, + NotificationLevel, + Channels, + AppServicePlanRestrictions, + InAvailabilityReasonType, + CheckNameResourceTypes, + ValidateResourceTypes, + LogLevel, + BackupItemStatus, + DatabaseType, + FrequencyUnit, + ContinuousWebJobStatus, + WebJobType, + PublishingProfileFormat, + DnsVerificationTestResult, + MSDeployLogEntryType, + MSDeployProvisioningState, + MySqlMigrationType, + PublicCertificateLocation, + BackupRestoreOperationType, + UnauthenticatedClientAction, + BuiltInAuthenticationProvider, + CloneAbilityResult, + SiteExtensionType, + TriggeredWebJobStatus, + SkuName, +) + +__all__ = [ + 'AbnormalTimePeriod', + 'Address', + 'AddressResponse', + 'AnalysisData', + 'AnalysisDefinition', + 'ApiDefinitionInfo', + 'ApplicationLogsConfig', + 'ApplicationStack', + 'AppServiceCertificate', + 'AppServiceCertificateOrder', + 'AppServiceCertificateOrderPatchResource', + 'AppServiceCertificatePatchResource', + 'AppServiceCertificateResource', + 'AppServiceEnvironment', + 'AppServiceEnvironmentPatchResource', + 'AppServiceEnvironmentResource', + 'AppServicePlan', + 'AppServicePlanPatchResource', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'AzureBlobStorageApplicationLogsConfig', + 'AzureBlobStorageHttpLogsConfig', + 'AzureStorageInfoValue', + 'AzureStoragePropertyDictionaryResource', + 'AzureTableStorageApplicationLogsConfig', + 'BackupItem', + 'BackupRequest', + 'BackupSchedule', + 'BillingMeter', + 'Capability', + 'Certificate', + 'CertificateDetails', + 'CertificateEmail', + 'CertificateOrderAction', + 'CertificatePatchResource', + 'CloningInfo', + 'ConnectionStringDictionary', + 'ConnStringInfo', + 'ConnStringValueTypePair', + 'Contact', + 'ContinuousWebJob', + 'CorsSettings', + 'CsmMoveResourceEnvelope', + 'CsmOperationDescription', + 'CsmOperationDescriptionProperties', + 'CsmOperationDisplay', + 'CsmPublishingProfileOptions', + 'CsmSlotEntity', + 'CsmUsageQuota', + 'CustomHostnameAnalysisResult', + 'DatabaseBackupSetting', + 'DataSource', + 'DataTableResponseColumn', + 'DataTableResponseObject', + 'DefaultErrorResponse', 'DefaultErrorResponseException', + 'DefaultErrorResponseError', + 'DefaultErrorResponseErrorDetailsItem', + 'DeletedAppRestoreRequest', + 'DeletedSite', + 'Deployment', + 'DeploymentLocations', + 'DetectorAbnormalTimePeriod', + 'DetectorDefinition', + 'DetectorInfo', + 'DetectorResponse', + 'DiagnosticAnalysis', + 'DiagnosticCategory', + 'DiagnosticData', + 'DiagnosticDetectorResponse', + 'DiagnosticMetricSample', + 'DiagnosticMetricSet', + 'Dimension', + 'Domain', + 'DomainAvailablilityCheckResult', + 'DomainControlCenterSsoRequest', + 'DomainOwnershipIdentifier', + 'DomainPatchResource', + 'DomainPurchaseConsent', + 'DomainRecommendationSearchParameters', + 'EnabledConfig', + 'EndpointDependency', + 'EndpointDetail', + 'ErrorEntity', + 'Experiments', + 'FileSystemApplicationLogsConfig', + 'FileSystemHttpLogsConfig', + 'FunctionEnvelope', + 'FunctionSecrets', + 'GeoDistribution', + 'GeoRegion', + 'GlobalCsmSkuDescription', + 'HandlerMapping', + 'HostingEnvironmentDeploymentInfo', + 'HostingEnvironmentDiagnostics', + 'HostingEnvironmentProfile', + 'HostName', + 'HostNameBinding', + 'HostNameSslState', + 'HttpLogsConfig', + 'HybridConnection', + 'HybridConnectionKey', + 'HybridConnectionLimits', + 'Identifier', + 'InboundEnvironmentEndpoint', + 'IpSecurityRestriction', + 'LocalizableString', + 'LogSpecification', + 'ManagedServiceIdentity', + 'ManagedServiceIdentityUserAssignedIdentitiesValue', + 'MetricAvailabilily', + 'MetricAvailability', + 'MetricDefinition', + 'MetricSpecification', + 'MigrateMySqlRequest', + 'MigrateMySqlStatus', + 'MSDeploy', + 'MSDeployLog', + 'MSDeployLogEntry', + 'MSDeployStatus', + 'NameIdentifier', + 'NameValuePair', + 'NetworkAccessControlEntry', + 'NetworkFeatures', + 'NetworkTrace', + 'Operation', + 'OutboundEnvironmentEndpoint', + 'PerfMonResponse', + 'PerfMonSample', + 'PerfMonSet', + 'PremierAddOn', + 'PremierAddOnOffer', + 'PremierAddOnPatchResource', + 'PrivateAccess', + 'PrivateAccessSubnet', + 'PrivateAccessVirtualNetwork', + 'ProcessInfo', + 'ProcessModuleInfo', + 'ProcessThreadInfo', + 'ProxyOnlyResource', + 'PublicCertificate', + 'PushSettings', + 'RampUpRule', + 'Recommendation', + 'RecommendationRule', + 'ReissueCertificateOrderRequest', + 'RelayServiceConnectionEntity', + 'Rendering', + 'RenewCertificateOrderRequest', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceHealthMetadata', + 'ResourceMetric', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'ResourceMetricName', + 'ResourceMetricProperty', + 'ResourceMetricValue', + 'ResourceNameAvailability', + 'ResourceNameAvailabilityRequest', + 'ResponseMetaData', + 'RestoreRequest', + 'ServiceSpecification', + 'Site', + 'SiteAuthSettings', + 'SiteCloneability', + 'SiteCloneabilityCriterion', + 'SiteConfig', + 'SiteConfigResource', + 'SiteConfigurationSnapshotInfo', + 'SiteExtensionInfo', + 'SiteInstance', + 'SiteLimits', + 'SiteLogsConfig', + 'SiteMachineKey', + 'SitePatchResource', + 'SitePhpErrorLogFlag', + 'SiteSeal', + 'SiteSealRequest', + 'SiteSourceControl', + 'SkuCapacity', + 'SkuDescription', + 'SkuInfo', + 'SkuInfos', + 'SlotConfigNamesResource', + 'SlotDifference', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'Snapshot', + 'SnapshotRecoverySource', + 'SnapshotRestoreRequest', + 'Solution', + 'SourceControl', + 'StackMajorVersion', + 'StackMinorVersion', + 'StampCapacity', + 'StatusCodesBasedTrigger', + 'StorageMigrationOptions', + 'StorageMigrationResponse', + 'StringDictionary', + 'SwiftVirtualNetwork', + 'TldLegalAgreement', + 'TopLevelDomain', + 'TopLevelDomainAgreementOption', + 'TriggeredJobHistory', + 'TriggeredJobRun', + 'TriggeredWebJob', + 'Usage', + 'User', + 'ValidateContainerSettingsRequest', + 'ValidateRequest', + 'ValidateResponse', + 'ValidateResponseError', + 'VirtualApplication', + 'VirtualDirectory', + 'VirtualIPMapping', + 'VirtualNetworkProfile', + 'VnetGateway', + 'VnetInfo', + 'VnetParameters', + 'VnetRoute', + 'VnetValidationFailureDetails', + 'VnetValidationTestFailure', + 'WebAppCollection', + 'WebJob', + 'WorkerPool', + 'WorkerPoolResource', + 'AppServiceCertificateOrderPaged', + 'AppServiceCertificateResourcePaged', + 'CsmOperationDescriptionPaged', + 'DomainPaged', + 'NameIdentifierPaged', + 'DomainOwnershipIdentifierPaged', + 'TopLevelDomainPaged', + 'TldLegalAgreementPaged', + 'CertificatePaged', + 'DeletedSitePaged', + 'DetectorResponsePaged', + 'DiagnosticCategoryPaged', + 'AnalysisDefinitionPaged', + 'DetectorDefinitionPaged', + 'ApplicationStackPaged', + 'RecommendationPaged', + 'SourceControlPaged', + 'BillingMeterPaged', + 'GeoRegionPaged', + 'IdentifierPaged', + 'PremierAddOnOfferPaged', + 'SitePaged', + 'BackupItemPaged', + 'SiteConfigResourcePaged', + 'SiteConfigurationSnapshotInfoPaged', + 'ContinuousWebJobPaged', + 'DeploymentPaged', + 'FunctionEnvelopePaged', + 'HostNameBindingPaged', + 'SiteInstancePaged', + 'ProcessInfoPaged', + 'ProcessModuleInfoPaged', + 'ProcessThreadInfoPaged', + 'ResourceMetricDefinitionPaged', + 'ResourceMetricPaged', + 'PerfMonResponsePaged', + 'PublicCertificatePaged', + 'SiteExtensionInfoPaged', + 'SlotDifferencePaged', + 'SnapshotPaged', + 'TriggeredWebJobPaged', + 'TriggeredJobHistoryPaged', + 'CsmUsageQuotaPaged', + 'WebJobPaged', + 'AppServiceEnvironmentResourcePaged', + 'StampCapacityPaged', + 'InboundEnvironmentEndpointPaged', + 'WorkerPoolResourcePaged', + 'SkuInfoPaged', + 'UsagePaged', + 'OutboundEnvironmentEndpointPaged', + 'AppServicePlanPaged', + 'StrPaged', + 'HybridConnectionPaged', + 'ResourceHealthMetadataPaged', + 'KeyVaultSecretStatus', + 'CertificateProductType', + 'ProvisioningState', + 'CertificateOrderStatus', + 'CertificateOrderActionType', + 'RouteType', + 'ManagedServiceIdentityType', + 'IpFilterTag', + 'AutoHealActionType', + 'ConnectionStringType', + 'AzureStorageType', + 'AzureStorageState', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'FtpsState', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'RedundancyMode', + 'StatusOptions', + 'DomainStatus', + 'AzureResourceType', + 'CustomHostNameDnsRecordType', + 'HostNameType', + 'DnsType', + 'DomainType', + 'HostingEnvironmentStatus', + 'InternalLoadBalancingMode', + 'ComputeModeOptions', + 'WorkerSizeOptions', + 'AccessControlEntryAction', + 'OperationStatus', + 'IssueType', + 'SolutionType', + 'RenderingType', + 'ResourceScopeType', + 'NotificationLevel', + 'Channels', + 'AppServicePlanRestrictions', + 'InAvailabilityReasonType', + 'CheckNameResourceTypes', + 'ValidateResourceTypes', + 'LogLevel', + 'BackupItemStatus', + 'DatabaseType', + 'FrequencyUnit', + 'ContinuousWebJobStatus', + 'WebJobType', + 'PublishingProfileFormat', + 'DnsVerificationTestResult', + 'MSDeployLogEntryType', + 'MSDeployProvisioningState', + 'MySqlMigrationType', + 'PublicCertificateLocation', + 'BackupRestoreOperationType', + 'UnauthenticatedClientAction', + 'BuiltInAuthenticationProvider', + 'CloneAbilityResult', + 'SiteExtensionType', + 'TriggeredWebJobStatus', + 'SkuName', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models.py new file mode 100644 index 000000000000..7849442cf6b6 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models.py @@ -0,0 +1,12124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 AbnormalTimePeriod(Model): + """Class representing Abnormal Time Period identified in diagnosis. + + :param start_time: Start time of the downtime + :type start_time: datetime + :param end_time: End time of the downtime + :type end_time: datetime + :param events: List of Possible Cause of downtime + :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, **kwargs): + super(AbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.events = kwargs.get('events', None) + self.solutions = kwargs.get('solutions', None) + + +class Address(Model): + """Address information for domain registration. + + All required parameters must be populated in order to send to Azure. + + :param address1: Required. First line of an Address. + :type address1: str + :param address2: The second line of the Address. Optional. + :type address2: str + :param city: Required. The city for the address. + :type city: str + :param country: Required. The country for the address. + :type country: str + :param postal_code: Required. The postal code for the address. + :type postal_code: str + :param state: Required. The state or province for the address. + :type state: str + """ + + _validation = { + 'address1': {'required': True}, + 'city': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'address1': {'key': 'address1', 'type': 'str'}, + 'address2': {'key': 'address2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Address, self).__init__(**kwargs) + self.address1 = kwargs.get('address1', None) + self.address2 = kwargs.get('address2', None) + self.city = kwargs.get('city', None) + self.country = kwargs.get('country', None) + self.postal_code = kwargs.get('postal_code', None) + self.state = kwargs.get('state', None) + + +class AddressResponse(Model): + """Describes main public IP address and any extra virtual IPs. + + :param service_ip_address: Main public virtual IP. + :type service_ip_address: str + :param internal_ip_address: Virtual Network internal IP address of the App + Service Environment if it is in internal load-balancing mode. + :type internal_ip_address: str + :param outbound_ip_addresses: IP addresses appearing on outbound + connections. + :type outbound_ip_addresses: list[str] + :param vip_mappings: Additional virtual IPs. + :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + """ + + _attribute_map = { + 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, + 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, + 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + } + + def __init__(self, **kwargs): + super(AddressResponse, self).__init__(**kwargs) + self.service_ip_address = kwargs.get('service_ip_address', None) + self.internal_ip_address = kwargs.get('internal_ip_address', None) + self.outbound_ip_addresses = kwargs.get('outbound_ip_addresses', None) + self.vip_mappings = kwargs.get('vip_mappings', None) + + +class AnalysisData(Model): + """Class Representing Detector Evidence used for analysis. + + :param source: Name of the Detector + :type source: str + :param detector_definition: Detector Definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Source Metrics + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param data: Additional Source Data + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param detector_meta_data: Detector Meta Data + :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, **kwargs): + super(AnalysisData, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.detector_definition = kwargs.get('detector_definition', None) + self.metrics = kwargs.get('metrics', None) + self.data = kwargs.get('data', None) + self.detector_meta_data = kwargs.get('detector_meta_data', None) + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class AnalysisDefinition(ProxyOnlyResource): + """Definition of Analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the Analysis + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AnalysisDefinition, self).__init__(**kwargs) + self.description = None + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class ApplicationLogsConfig(Model): + """Application logs configuration. + + :param file_system: Application logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig + :param azure_table_storage: Application logs to azure table storage + configuration. + :type azure_table_storage: + ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig + :param azure_blob_storage: Application logs to blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, + 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, + } + + def __init__(self, **kwargs): + super(ApplicationLogsConfig, self).__init__(**kwargs) + self.file_system = kwargs.get('file_system', None) + self.azure_table_storage = kwargs.get('azure_table_storage', None) + self.azure_blob_storage = kwargs.get('azure_blob_storage', None) + + +class ApplicationStack(Model): + """Application stack. + + :param name: Application stack name. + :type name: str + :param display: Application stack display name. + :type display: str + :param dependency: Application stack dependency. + :type dependency: str + :param major_versions: List of major versions available. + :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] + :param frameworks: List of frameworks associated with application stack. + :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'str'}, + 'dependency': {'key': 'dependency', 'type': 'str'}, + 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, + 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, + } + + def __init__(self, **kwargs): + super(ApplicationStack, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.dependency = kwargs.get('dependency', None) + self.major_versions = kwargs.get('major_versions', None) + self.frameworks = kwargs.get('frameworks', None) + + +class AppServiceCertificate(Model): + """Key Vault container for a certificate that is purchased through Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificate, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServiceCertificateOrder(Resource): + """SSL certificate purchase order. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateOrder, self).__init__(**kwargs) + self.certificates = kwargs.get('certificates', None) + self.distinguished_name = kwargs.get('distinguished_name', None) + self.domain_verification_token = None + self.validity_in_years = kwargs.get('validity_in_years', 1) + self.key_size = kwargs.get('key_size', 2048) + self.product_type = kwargs.get('product_type', None) + self.auto_renew = kwargs.get('auto_renew', True) + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = kwargs.get('csr', None) + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): + """ARM resource for a certificate order that is purchased through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateOrderPatchResource, self).__init__(**kwargs) + self.certificates = kwargs.get('certificates', None) + self.distinguished_name = kwargs.get('distinguished_name', None) + self.domain_verification_token = None + self.validity_in_years = kwargs.get('validity_in_years', 1) + self.key_size = kwargs.get('key_size', 2048) + self.product_type = kwargs.get('product_type', None) + self.auto_renew = kwargs.get('auto_renew', True) + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = kwargs.get('csr', None) + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificatePatchResource(ProxyOnlyResource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificatePatchResource, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class AppServiceCertificateResource(Resource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, **kwargs): + super(AppServiceCertificateResource, self).__init__(**kwargs) + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.provisioning_state = None + + +class AppServiceEnvironment(Model): + """Description of an App Service Environment. + + 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 name: Required. Name of the App Service Environment. + :type name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironment, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + self.has_linux_workers = kwargs.get('has_linux_workers', None) + self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) + self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) + + +class AppServiceEnvironmentPatchResource(ProxyOnlyResource): + """ARM resource for a app service environment. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_environment_patch_resource_name: Required. Name of the + App Service Environment. + :type app_service_environment_patch_resource_name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_environment_patch_resource_name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironmentPatchResource, self).__init__(**kwargs) + self.app_service_environment_patch_resource_name = kwargs.get('app_service_environment_patch_resource_name', None) + self.location = kwargs.get('location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + self.has_linux_workers = kwargs.get('has_linux_workers', None) + self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) + self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) + + +class AppServiceEnvironmentResource(Resource): + """App Service Environment ARM resource. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_environment_resource_name: Required. Name of the App + Service Environment. + :type app_service_environment_resource_name: str + :param app_service_environment_resource_location: Required. Location of + the App Service Environment, e.g. "West US". + :type app_service_environment_resource_location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_environment_resource_name': {'required': True}, + 'app_service_environment_resource_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppServiceEnvironmentResource, self).__init__(**kwargs) + self.app_service_environment_resource_name = kwargs.get('app_service_environment_resource_name', None) + self.app_service_environment_resource_location = kwargs.get('app_service_environment_resource_location', None) + self.provisioning_state = None + self.status = None + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_resource_group_name = kwargs.get('vnet_resource_group_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + self.virtual_network = kwargs.get('virtual_network', None) + self.internal_load_balancing_mode = kwargs.get('internal_load_balancing_mode', None) + self.multi_size = kwargs.get('multi_size', None) + self.multi_role_count = kwargs.get('multi_role_count', None) + self.worker_pools = kwargs.get('worker_pools', None) + self.ipssl_address_count = kwargs.get('ipssl_address_count', None) + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = kwargs.get('dns_suffix', None) + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = kwargs.get('network_access_control_list', None) + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = kwargs.get('front_end_scale_factor', None) + self.default_front_end_scale_factor = None + self.api_management_account_id = kwargs.get('api_management_account_id', None) + self.suspended = kwargs.get('suspended', None) + self.dynamic_cache_enabled = kwargs.get('dynamic_cache_enabled', None) + self.cluster_settings = kwargs.get('cluster_settings', None) + self.user_whitelisted_ip_ranges = kwargs.get('user_whitelisted_ip_ranges', None) + self.has_linux_workers = kwargs.get('has_linux_workers', None) + self.ssl_cert_key_vault_id = kwargs.get('ssl_cert_key_vault_id', None) + self.ssl_cert_key_vault_secret_name = kwargs.get('ssl_cert_key_vault_secret_name', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.maximum_elastic_worker_count = kwargs.get('maximum_elastic_worker_count', None) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.free_offer_expiration_time = kwargs.get('free_offer_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AppServicePlanPatchResource(ProxyOnlyResource): + """ARM resource for a app service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + } + + def __init__(self, **kwargs): + super(AppServicePlanPatchResource, self).__init__(**kwargs) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.maximum_elastic_worker_count = kwargs.get('maximum_elastic_worker_count', None) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.free_offer_expiration_time = kwargs.get('free_offer_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class AzureBlobStorageApplicationLogsConfig(Model): + """Application logs azure blob storage configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.sas_url = kwargs.get('sas_url', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + + +class AzureBlobStorageHttpLogsConfig(Model): + """Http logs to azure blob storage configuration. + + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) + self.sas_url = kwargs.get('sas_url', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + self.enabled = kwargs.get('enabled', None) + + +class AzureStorageInfoValue(Model): + """Azure Files or Blob Storage access information value for dictionary + storage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of storage. Possible values include: 'AzureFiles', + 'AzureBlob' + :type type: str or ~azure.mgmt.web.models.AzureStorageType + :param account_name: Name of the storage account. + :type account_name: str + :param share_name: Name of the file share (container name, for Blob + storage). + :type share_name: str + :param access_key: Access key for the storage account. + :type access_key: str + :param mount_path: Path to mount the storage within the site's runtime + environment. + :type mount_path: str + :ivar state: State of the storage account. Possible values include: 'Ok', + 'InvalidCredentials', 'InvalidShare' + :vartype state: str or ~azure.mgmt.web.models.AzureStorageState + """ + + _validation = { + 'state': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'AzureStorageType'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'AzureStorageState'}, + } + + def __init__(self, **kwargs): + super(AzureStorageInfoValue, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.account_name = kwargs.get('account_name', None) + self.share_name = kwargs.get('share_name', None) + self.access_key = kwargs.get('access_key', None) + self.mount_path = kwargs.get('mount_path', None) + self.state = None + + +class AzureStoragePropertyDictionaryResource(ProxyOnlyResource): + """AzureStorageInfo dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Azure storage accounts. + :type properties: dict[str, ~azure.mgmt.web.models.AzureStorageInfoValue] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{AzureStorageInfoValue}'}, + } + + def __init__(self, **kwargs): + super(AzureStoragePropertyDictionaryResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class AzureTableStorageApplicationLogsConfig(Model): + """Application logs to Azure table storage configuration. + + All required parameters must be populated in order to send to Azure. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: Required. SAS URL to an Azure table with add/query/delete + permissions. + :type sas_url: str + """ + + _validation = { + 'sas_url': {'required': True}, + } + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', None) + self.sas_url = kwargs.get('sas_url', None) + + +class BackupItem(ProxyOnlyResource): + """Backup description. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar backup_id: Id of the backup. + :vartype backup_id: int + :ivar storage_account_url: SAS URL for the storage account container which + contains this backup. + :vartype storage_account_url: str + :ivar blob_name: Name of the blob which contains data for this backup. + :vartype blob_name: str + :ivar backup_item_name: Name of this backup. + :vartype backup_item_name: str + :ivar status: Backup status. Possible values include: 'InProgress', + 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', + 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' + :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus + :ivar size_in_bytes: Size of the backup in bytes. + :vartype size_in_bytes: long + :ivar created: Timestamp of the backup creation. + :vartype created: datetime + :ivar log: Details regarding this backup. Might contain an error message. + :vartype log: str + :ivar databases: List of databases included in the backup. + :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :ivar scheduled: True if this backup has been created due to a schedule + being triggered. + :vartype scheduled: bool + :ivar last_restore_time_stamp: Timestamp of a last restore operation which + used this backup. + :vartype last_restore_time_stamp: datetime + :ivar finished_time_stamp: Timestamp when this backup finished. + :vartype finished_time_stamp: datetime + :ivar correlation_id: Unique correlation identifier. Please use this along + with the timestamp while communicating with Azure support. + :vartype correlation_id: str + :ivar website_size_in_bytes: Size of the original web app which has been + backed up. + :vartype website_size_in_bytes: long + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_id': {'readonly': True}, + 'storage_account_url': {'readonly': True}, + 'blob_name': {'readonly': True}, + 'backup_item_name': {'readonly': True}, + 'status': {'readonly': True}, + 'size_in_bytes': {'readonly': True}, + 'created': {'readonly': True}, + 'log': {'readonly': True}, + 'databases': {'readonly': True}, + 'scheduled': {'readonly': True}, + 'last_restore_time_stamp': {'readonly': True}, + 'finished_time_stamp': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'website_size_in_bytes': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_id': {'key': 'properties.id', 'type': 'int'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, + 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, + 'created': {'key': 'properties.created', 'type': 'iso-8601'}, + 'log': {'key': 'properties.log', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, + 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, + 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BackupItem, self).__init__(**kwargs) + self.backup_id = None + self.storage_account_url = None + self.blob_name = None + self.backup_item_name = None + self.status = None + self.size_in_bytes = None + self.created = None + self.log = None + self.databases = None + self.scheduled = None + self.last_restore_time_stamp = None + self.finished_time_stamp = None + self.correlation_id = None + self.website_size_in_bytes = None + + +class BackupRequest(ProxyOnlyResource): + """Description of a backup which will be performed. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param backup_name: Name of the backup. + :type backup_name: str + :param enabled: True if the backup schedule is enabled (must be included + in that case), false if the backup schedule should be disabled. + :type enabled: bool + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param backup_schedule: Schedule for the backup if it is executed + periodically. + :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule + :param databases: Databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_name': {'key': 'properties.backupName', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + } + + def __init__(self, **kwargs): + super(BackupRequest, self).__init__(**kwargs) + self.backup_name = kwargs.get('backup_name', None) + self.enabled = kwargs.get('enabled', None) + self.storage_account_url = kwargs.get('storage_account_url', None) + self.backup_schedule = kwargs.get('backup_schedule', None) + self.databases = kwargs.get('databases', None) + + +class BackupSchedule(Model): + """Description of a backup schedule. Describes how often should be the backup + performed and what should be the retention policy. + + 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 frequency_interval: Required. How often the backup should be + executed (e.g. for weekly backup, this should be set to 7 and + FrequencyUnit should be set to Day). Default value: 7 . + :type frequency_interval: int + :param frequency_unit: Required. The unit of time for how often the backup + should be executed (e.g. for weekly backup, this should be set to Day and + FrequencyInterval should be set to 7). Possible values include: 'Day', + 'Hour'. Default value: "Day" . + :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit + :param keep_at_least_one_backup: Required. True if the retention policy + should always keep at least one backup in the storage account, regardless + how old it is; false otherwise. Default value: True . + :type keep_at_least_one_backup: bool + :param retention_period_in_days: Required. After how many days backups + should be deleted. Default value: 30 . + :type retention_period_in_days: int + :param start_time: When the schedule should start working. + :type start_time: datetime + :ivar last_execution_time: Last time when this schedule was triggered. + :vartype last_execution_time: datetime + """ + + _validation = { + 'frequency_interval': {'required': True}, + 'frequency_unit': {'required': True}, + 'keep_at_least_one_backup': {'required': True}, + 'retention_period_in_days': {'required': True}, + 'last_execution_time': {'readonly': True}, + } + + _attribute_map = { + 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, + 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, + 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, + 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(BackupSchedule, self).__init__(**kwargs) + self.frequency_interval = kwargs.get('frequency_interval', 7) + self.frequency_unit = kwargs.get('frequency_unit', "Day") + self.keep_at_least_one_backup = kwargs.get('keep_at_least_one_backup', True) + self.retention_period_in_days = kwargs.get('retention_period_in_days', 30) + self.start_time = kwargs.get('start_time', None) + self.last_execution_time = None + + +class BillingMeter(ProxyOnlyResource): + """App Service billing entity that contains information about meter which the + Azure billing system utilizes to charge users for services. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param meter_id: Meter GUID onboarded in Commerce + :type meter_id: str + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param short_name: Short Name from App Service Azure pricing Page + :type short_name: str + :param friendly_name: Friendly name of the meter + :type friendly_name: str + :param resource_type: App Service ResourceType meter used for + :type resource_type: str + :param os_type: App Service OS type meter used for + :type os_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, + 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, + 'short_name': {'key': 'properties.shortName', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BillingMeter, self).__init__(**kwargs) + self.meter_id = kwargs.get('meter_id', None) + self.billing_location = kwargs.get('billing_location', None) + self.short_name = kwargs.get('short_name', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.resource_type = kwargs.get('resource_type', None) + self.os_type = kwargs.get('os_type', None) + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Certificate, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class CertificateDetails(Model): + """SSL certificate details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar version: Certificate Version. + :vartype version: int + :ivar serial_number: Certificate Serial Number. + :vartype serial_number: str + :ivar thumbprint: Certificate Thumbprint. + :vartype thumbprint: str + :ivar subject: Certificate Subject. + :vartype subject: str + :ivar not_before: Date Certificate is valid from. + :vartype not_before: datetime + :ivar not_after: Date Certificate is valid to. + :vartype not_after: datetime + :ivar signature_algorithm: Certificate Signature algorithm. + :vartype signature_algorithm: str + :ivar issuer: Certificate Issuer. + :vartype issuer: str + :ivar raw_data: Raw certificate data. + :vartype raw_data: str + """ + + _validation = { + 'version': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'thumbprint': {'readonly': True}, + 'subject': {'readonly': True}, + 'not_before': {'readonly': True}, + 'not_after': {'readonly': True}, + 'signature_algorithm': {'readonly': True}, + 'issuer': {'readonly': True}, + 'raw_data': {'readonly': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'raw_data': {'key': 'rawData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificateDetails, self).__init__(**kwargs) + self.version = None + self.serial_number = None + self.thumbprint = None + self.subject = None + self.not_before = None + self.not_after = None + self.signature_algorithm = None + self.issuer = None + self.raw_data = None + + +class CertificateEmail(ProxyOnlyResource): + """SSL certificate email. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param email_id: Email id. + :type email_id: str + :param time_stamp: Time stamp. + :type time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'email_id': {'key': 'properties.emailId', 'type': 'str'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(CertificateEmail, self).__init__(**kwargs) + self.email_id = kwargs.get('email_id', None) + self.time_stamp = kwargs.get('time_stamp', None) + + +class CertificateOrderAction(ProxyOnlyResource): + """Certificate order action. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar action_type: Action type. Possible values include: + 'CertificateIssued', 'CertificateOrderCanceled', + 'CertificateOrderCreated', 'CertificateRevoked', + 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', + 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' + :vartype action_type: str or + ~azure.mgmt.web.models.CertificateOrderActionType + :ivar created_at: Time at which the certificate action was performed. + :vartype created_at: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'action_type': {'readonly': True}, + 'created_at': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'action_type': {'key': 'properties.actionType', 'type': 'CertificateOrderActionType'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(CertificateOrderAction, self).__init__(**kwargs) + self.action_type = None + self.created_at = None + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificatePatchResource, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param source_web_app_location: Location of source app ex: West US or + North Europe + :type source_web_app_location: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.source_web_app_location = kwargs.get('source_web_app_location', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnectionStringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, + } + + def __init__(self, **kwargs): + super(ConnectionStringDictionary, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class ConnStringValueTypePair(Model): + """Database connection string value to type pair. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Value of pair. + :type value: str + :param type: Required. Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _validation = { + 'value': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringValueTypePair, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.type = kwargs.get('type', None) + + +class Contact(Model): + """Contact information for domain registration. If 'Domain Privacy' option is + not selected then the contact information is made publicly available + through the Whois + directories as per ICANN requirements. + + All required parameters must be populated in order to send to Azure. + + :param address_mailing: Mailing address. + :type address_mailing: ~azure.mgmt.web.models.Address + :param email: Required. Email address. + :type email: str + :param fax: Fax number. + :type fax: str + :param job_title: Job title. + :type job_title: str + :param name_first: Required. First name. + :type name_first: str + :param name_last: Required. Last name. + :type name_last: str + :param name_middle: Middle name. + :type name_middle: str + :param organization: Organization contact belongs to. + :type organization: str + :param phone: Required. Phone number. + :type phone: str + """ + + _validation = { + 'email': {'required': True}, + 'name_first': {'required': True}, + 'name_last': {'required': True}, + 'phone': {'required': True}, + } + + _attribute_map = { + 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, + 'email': {'key': 'email', 'type': 'str'}, + 'fax': {'key': 'fax', 'type': 'str'}, + 'job_title': {'key': 'jobTitle', 'type': 'str'}, + 'name_first': {'key': 'nameFirst', 'type': 'str'}, + 'name_last': {'key': 'nameLast', 'type': 'str'}, + 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, + 'organization': {'key': 'organization', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Contact, self).__init__(**kwargs) + self.address_mailing = kwargs.get('address_mailing', None) + self.email = kwargs.get('email', None) + self.fax = kwargs.get('fax', None) + self.job_title = kwargs.get('job_title', None) + self.name_first = kwargs.get('name_first', None) + self.name_last = kwargs.get('name_last', None) + self.name_middle = kwargs.get('name_middle', None) + self.organization = kwargs.get('organization', None) + self.phone = kwargs.get('phone', None) + + +class ContinuousWebJob(ProxyOnlyResource): + """Continuous Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Job status. Possible values include: 'Initializing', + 'Starting', 'Running', 'PendingRestart', 'Stopped' + :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus + :param detailed_status: Detailed status. + :type detailed_status: str + :param log_url: Log URL. + :type log_url: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, + 'detailed_status': {'key': 'properties.detailed_status', 'type': 'str'}, + 'log_url': {'key': 'properties.log_url', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(ContinuousWebJob, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.detailed_status = kwargs.get('detailed_status', None) + self.log_url = kwargs.get('log_url', None) + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.web_job_type = kwargs.get('web_job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + :param support_credentials: Gets or sets whether CORS requests with + credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + :type support_credentials: bool + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + self.support_credentials = kwargs.get('support_credentials', None) + + +class CsmMoveResourceEnvelope(Model): + """Object with a list of the resources that need to be moved and the resource + group they should be moved to. + + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[str] + """ + + _validation = { + 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, + } + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CsmMoveResourceEnvelope, self).__init__(**kwargs) + self.target_resource_group = kwargs.get('target_resource_group', None) + self.resources = kwargs.get('resources', None) + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, 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) + + +class CsmPublishingProfileOptions(Model): + """Publishing options for requested profile. + + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + :param include_disaster_recovery_endpoints: Include the DisasterRecover + endpoint if true + :type include_disaster_recovery_endpoints: bool + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'include_disaster_recovery_endpoints': {'key': 'includeDisasterRecoveryEndpoints', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CsmPublishingProfileOptions, self).__init__(**kwargs) + self.format = kwargs.get('format', None) + self.include_disaster_recovery_endpoints = kwargs.get('include_disaster_recovery_endpoints', None) + + +class CsmSlotEntity(Model): + """Deployment slot parameters. + + All required parameters must be populated in order to send to Azure. + + :param target_slot: Required. Destination deployment slot during swap + operation. + :type target_slot: str + :param preserve_vnet: Required. true to preserve Virtual + Network to the slot during swap; otherwise, false. + :type preserve_vnet: bool + """ + + _validation = { + 'target_slot': {'required': True}, + 'preserve_vnet': {'required': True}, + } + + _attribute_map = { + 'target_slot': {'key': 'targetSlot', 'type': 'str'}, + 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CsmSlotEntity, self).__init__(**kwargs) + self.target_slot = kwargs.get('target_slot', None) + self.preserve_vnet = kwargs.get('preserve_vnet', None) + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, **kwargs): + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = kwargs.get('unit', None) + self.next_reset_time = kwargs.get('next_reset_time', None) + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + + +class CustomHostnameAnalysisResult(ProxyOnlyResource): + """Custom domain analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar is_hostname_already_verified: true if hostname is + already verified; otherwise, false. + :vartype is_hostname_already_verified: bool + :ivar custom_domain_verification_test: DNS verification test result. + Possible values include: 'Passed', 'Failed', 'Skipped' + :vartype custom_domain_verification_test: str or + ~azure.mgmt.web.models.DnsVerificationTestResult + :ivar custom_domain_verification_failure_info: Raw failure information if + DNS verification fails. + :vartype custom_domain_verification_failure_info: + ~azure.mgmt.web.models.ErrorEntity + :ivar has_conflict_on_scale_unit: true if there is a conflict + on a scale unit; otherwise, false. + :vartype has_conflict_on_scale_unit: bool + :ivar has_conflict_across_subscription: true if there is a + conflict across subscriptions; otherwise, false. + :vartype has_conflict_across_subscription: bool + :ivar conflicting_app_resource_id: Name of the conflicting app on scale + unit if it's within the same subscription. + :vartype conflicting_app_resource_id: str + :param c_name_records: CName records controller can see for this hostname. + :type c_name_records: list[str] + :param txt_records: TXT records controller can see for this hostname. + :type txt_records: list[str] + :param a_records: A records controller can see for this hostname. + :type a_records: list[str] + :param alternate_cname_records: Alternate CName records controller can see + for this hostname. + :type alternate_cname_records: list[str] + :param alternate_txt_records: Alternate TXT records controller can see for + this hostname. + :type alternate_txt_records: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_hostname_already_verified': {'readonly': True}, + 'custom_domain_verification_test': {'readonly': True}, + 'custom_domain_verification_failure_info': {'readonly': True}, + 'has_conflict_on_scale_unit': {'readonly': True}, + 'has_conflict_across_subscription': {'readonly': True}, + 'conflicting_app_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, + 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, + 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, + 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, + 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, + 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, + 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, + 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, + 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, + 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, + 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CustomHostnameAnalysisResult, self).__init__(**kwargs) + self.is_hostname_already_verified = None + self.custom_domain_verification_test = None + self.custom_domain_verification_failure_info = None + self.has_conflict_on_scale_unit = None + self.has_conflict_across_subscription = None + self.conflicting_app_resource_id = None + self.c_name_records = kwargs.get('c_name_records', None) + self.txt_records = kwargs.get('txt_records', None) + self.a_records = kwargs.get('a_records', None) + self.alternate_cname_records = kwargs.get('alternate_cname_records', None) + self.alternate_txt_records = kwargs.get('alternate_txt_records', None) + + +class DatabaseBackupSetting(Model): + """Database backup settings. + + All required parameters must be populated in order to send to Azure. + + :param database_type: Required. Database type (e.g. SqlAzure / MySql). + Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' + :type database_type: str or ~azure.mgmt.web.models.DatabaseType + :param name: + :type name: str + :param connection_string_name: Contains a connection string name that is + linked to the SiteConfig.ConnectionStrings. + This is used during restore with overwrite connection strings options. + :type connection_string_name: str + :param connection_string: Contains a connection string to a database which + is being backed up or restored. If the restore should happen to a new + database, the database name inside is the new one. + :type connection_string: str + """ + + _validation = { + 'database_type': {'required': True}, + } + + _attribute_map = { + 'database_type': {'key': 'databaseType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DatabaseBackupSetting, self).__init__(**kwargs) + self.database_type = kwargs.get('database_type', None) + self.name = kwargs.get('name', None) + self.connection_string_name = kwargs.get('connection_string_name', None) + self.connection_string = kwargs.get('connection_string', None) + + +class DataSource(Model): + """Class representing data source used by the detectors. + + :param instructions: Instructions if any for the data source + :type instructions: list[str] + :param data_source_uri: Datasource Uri Links + :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] + """ + + _attribute_map = { + 'instructions': {'key': 'instructions', 'type': '[str]'}, + 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, + } + + def __init__(self, **kwargs): + super(DataSource, self).__init__(**kwargs) + self.instructions = kwargs.get('instructions', None) + self.data_source_uri = kwargs.get('data_source_uri', None) + + +class DataTableResponseColumn(Model): + """Column definition. + + :param column_name: Name of the column + :type column_name: str + :param data_type: Data type which looks like 'String' or 'Int32'. + :type data_type: str + :param column_type: Column Type + :type column_type: str + """ + + _attribute_map = { + 'column_name': {'key': 'columnName', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'column_type': {'key': 'columnType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DataTableResponseColumn, self).__init__(**kwargs) + self.column_name = kwargs.get('column_name', None) + self.data_type = kwargs.get('data_type', None) + self.column_type = kwargs.get('column_type', None) + + +class DataTableResponseObject(Model): + """Data Table which defines columns and raw row values. + + :param table_name: Name of the table + :type table_name: str + :param columns: List of columns with data types + :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] + :param rows: Raw row values + :type rows: list[list[str]] + """ + + _attribute_map = { + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, + 'rows': {'key': 'rows', 'type': '[[str]]'}, + } + + def __init__(self, **kwargs): + super(DataTableResponseObject, self).__init__(**kwargs) + self.table_name = kwargs.get('table_name', None) + self.columns = kwargs.get('columns', None) + self.rows = kwargs.get('rows', None) + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = kwargs.get('details', None) + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedAppRestoreRequest(ProxyOnlyResource): + """Details about restoring a deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param deleted_site_id: ARM resource ID of the deleted app. Example: + /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} + :type deleted_site_id: str + :param recover_configuration: If true, deleted site configuration, in + addition to content, will be restored. + :type recover_configuration: bool + :param snapshot_time: Point in time to restore the deleted app from, + formatted as a DateTime string. + If unspecified, default value is the time that the app was deleted. + :type snapshot_time: str + :param use_dr_secondary: If true, the snapshot is retrieved from + DRSecondary endpoint. + :type use_dr_secondary: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'str'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DeletedAppRestoreRequest, self).__init__(**kwargs) + self.deleted_site_id = kwargs.get('deleted_site_id', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.use_dr_secondary = kwargs.get('use_dr_secondary', None) + + +class DeletedSite(ProxyOnlyResource): + """A deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deleted_site_id: Numeric id for the deleted site + :vartype deleted_site_id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar deleted_site_name: Name of the deleted site + :vartype deleted_site_name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + :ivar deleted_site_kind: Kind of site that was deleted + :vartype deleted_site_kind: str + :ivar geo_region_name: Geo Region of the deleted site + :vartype geo_region_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deleted_site_id': {'readonly': True}, + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'deleted_site_name': {'readonly': True}, + 'slot': {'readonly': True}, + 'deleted_site_kind': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, + 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, + 'slot': {'key': 'properties.slot', 'type': 'str'}, + 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeletedSite, self).__init__(**kwargs) + self.deleted_site_id = None + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.deleted_site_name = None + self.slot = None + self.deleted_site_kind = None + self.geo_region_name = None + + +class Deployment(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Deployment status. + :type status: int + :param message: Details about deployment status. + :type message: str + :param author: Who authored the deployment. + :type author: str + :param deployer: Who performed the deployment. + :type deployer: str + :param author_email: Author email. + :type author_email: str + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param active: True if deployment is currently active, false if completed + and null if not started. + :type active: bool + :param details: Details on deployment. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'int'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'author_email': {'key': 'properties.author_email', 'type': 'str'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, + 'active': {'key': 'properties.active', 'type': 'bool'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Deployment, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.message = kwargs.get('message', None) + self.author = kwargs.get('author', None) + self.deployer = kwargs.get('deployer', None) + self.author_email = kwargs.get('author_email', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.active = kwargs.get('active', None) + self.details = kwargs.get('details', None) + + +class DeploymentLocations(Model): + """List of available locations (regions or App Service Environments) for + deployment of App Service resources. + + :param locations: Available regions. + :type locations: list[~azure.mgmt.web.models.GeoRegion] + :param hosting_environments: Available App Service Environments with full + descriptions of the environments. + :type hosting_environments: + list[~azure.mgmt.web.models.AppServiceEnvironment] + :param hosting_environment_deployment_infos: Available App Service + Environments with basic information. + :type hosting_environment_deployment_infos: + list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, + 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, + 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, + } + + def __init__(self, **kwargs): + super(DeploymentLocations, self).__init__(**kwargs) + self.locations = kwargs.get('locations', None) + self.hosting_environments = kwargs.get('hosting_environments', None) + self.hosting_environment_deployment_infos = kwargs.get('hosting_environment_deployment_infos', None) + + +class DetectorAbnormalTimePeriod(Model): + """Class representing Abnormal Time Period detected. + + :param start_time: Start time of the correlated event + :type start_time: datetime + :param end_time: End time of the correlated event + :type end_time: datetime + :param message: Message describing the event + :type message: str + :param source: Represents the name of the Detector + :type source: str + :param priority: Represents the rank of the Detector + :type priority: float + :param meta_data: Downtime metadata + :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param type: Represents the type of the Detector. Possible values include: + 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', + 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' + :type type: str or ~azure.mgmt.web.models.IssueType + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'float'}, + 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, + 'type': {'key': 'type', 'type': 'IssueType'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, **kwargs): + super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.message = kwargs.get('message', None) + self.source = kwargs.get('source', None) + self.priority = kwargs.get('priority', None) + self.meta_data = kwargs.get('meta_data', None) + self.type = kwargs.get('type', None) + self.solutions = kwargs.get('solutions', None) + + +class DetectorDefinition(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Display name of the detector + :vartype display_name: str + :ivar description: Description of the detector + :vartype description: str + :ivar rank: Detector Rank + :vartype rank: float + :ivar is_enabled: Flag representing whether detector is enabled or not. + :vartype is_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rank': {'readonly': True}, + 'is_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'rank': {'key': 'properties.rank', 'type': 'float'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DetectorDefinition, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.rank = None + self.is_enabled = None + + +class DetectorInfo(Model): + """Definition of Detector. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: Short description of the detector and its purpose + :vartype description: str + :ivar category: Support Category + :vartype category: str + :ivar sub_category: Support Sub Category + :vartype sub_category: str + :ivar support_topic_id: Support Topic Id + :vartype support_topic_id: str + """ + + _validation = { + 'description': {'readonly': True}, + 'category': {'readonly': True}, + 'sub_category': {'readonly': True}, + 'support_topic_id': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'sub_category': {'key': 'subCategory', 'type': 'str'}, + 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DetectorInfo, self).__init__(**kwargs) + self.description = None + self.category = None + self.sub_category = None + self.support_topic_id = None + + +class DetectorResponse(ProxyOnlyResource): + """Class representing Response from Detector. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param metadata: metadata for the detector + :type metadata: ~azure.mgmt.web.models.DetectorInfo + :param dataset: Data Set + :type dataset: list[~azure.mgmt.web.models.DiagnosticData] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, + 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, + } + + def __init__(self, **kwargs): + super(DetectorResponse, self).__init__(**kwargs) + self.metadata = kwargs.get('metadata', None) + self.dataset = kwargs.get('dataset', None) + + +class DiagnosticAnalysis(ProxyOnlyResource): + """Class representing a diagnostic analysis done on an 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param abnormal_time_periods: List of time periods. + :type abnormal_time_periods: + list[~azure.mgmt.web.models.AbnormalTimePeriod] + :param payload: Data by each detector + :type payload: list[~azure.mgmt.web.models.AnalysisData] + :param non_correlated_detectors: Data by each detector for detectors that + did not corelate + :type non_correlated_detectors: + list[~azure.mgmt.web.models.DetectorDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, + 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, + 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, + } + + def __init__(self, **kwargs): + super(DiagnosticAnalysis, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) + self.payload = kwargs.get('payload', None) + self.non_correlated_detectors = kwargs.get('non_correlated_detectors', None) + + +class DiagnosticCategory(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the diagnostic category + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DiagnosticCategory, self).__init__(**kwargs) + self.description = None + + +class DiagnosticData(Model): + """Set of data with rendering instructions. + + :param table: Data in table form + :type table: ~azure.mgmt.web.models.DataTableResponseObject + :param rendering_properties: Properties that describe how the table should + be rendered + :type rendering_properties: ~azure.mgmt.web.models.Rendering + """ + + _attribute_map = { + 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, + 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, + } + + def __init__(self, **kwargs): + super(DiagnosticData, self).__init__(**kwargs) + self.table = kwargs.get('table', None) + self.rendering_properties = kwargs.get('rendering_properties', None) + + +class DiagnosticDetectorResponse(ProxyOnlyResource): + """Class representing Response from Diagnostic Detectors. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param issue_detected: Flag representing Issue was detected. + :type issue_detected: bool + :param detector_definition: Detector's definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Metrics provided by the detector + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param abnormal_time_periods: List of Correlated events found by the + detector + :type abnormal_time_periods: + list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param data: Additional Data that detector wants to send. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param response_meta_data: Meta Data + :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, + 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, + 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, + 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, **kwargs): + super(DiagnosticDetectorResponse, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.issue_detected = kwargs.get('issue_detected', None) + self.detector_definition = kwargs.get('detector_definition', None) + self.metrics = kwargs.get('metrics', None) + self.abnormal_time_periods = kwargs.get('abnormal_time_periods', None) + self.data = kwargs.get('data', None) + self.response_meta_data = kwargs.get('response_meta_data', None) + + +class DiagnosticMetricSample(Model): + """Class representing Diagnostic Metric. + + :param timestamp: Time at which metric is measured + :type timestamp: datetime + :param role_instance: Role Instance. Null if this counter is not per + instance + This is returned and should be whichever instance name we desire to be + returned + i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + where RDWORKERNAME is Machine name below and RoleInstance name in + parenthesis + :type role_instance: str + :param total: Total value of the metric. If multiple measurements are made + this will have sum of all. + :type total: float + :param maximum: Maximum of the metric sampled during the time period + :type maximum: float + :param minimum: Minimum of the metric sampled during the time period + :type minimum: float + :param is_aggregated: Whether the values are aggregates across all workers + or not + :type is_aggregated: bool + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'role_instance': {'key': 'roleInstance', 'type': 'str'}, + 'total': {'key': 'total', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DiagnosticMetricSample, self).__init__(**kwargs) + self.timestamp = kwargs.get('timestamp', None) + self.role_instance = kwargs.get('role_instance', None) + self.total = kwargs.get('total', None) + self.maximum = kwargs.get('maximum', None) + self.minimum = kwargs.get('minimum', None) + self.is_aggregated = kwargs.get('is_aggregated', None) + + +class DiagnosticMetricSet(Model): + """Class representing Diagnostic Metric information. + + :param name: Name of the metric + :type name: str + :param unit: Metric's unit + :type unit: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param time_grain: Presented time grain. Supported grains at the moment + are PT1M, PT1H, P1D + :type time_grain: str + :param values: Collection of metric values for the selected period based + on the + {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, + } + + def __init__(self, **kwargs): + super(DiagnosticMetricSet, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.unit = kwargs.get('unit', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.time_grain = kwargs.get('time_grain', None) + self.values = kwargs.get('values', None) + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class Domain(Resource): + """Information about a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Domain, self).__init__(**kwargs) + self.contact_admin = kwargs.get('contact_admin', None) + self.contact_billing = kwargs.get('contact_billing', None) + self.contact_registrant = kwargs.get('contact_registrant', None) + self.contact_tech = kwargs.get('contact_tech', None) + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = kwargs.get('privacy', None) + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = kwargs.get('auto_renew', True) + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = kwargs.get('consent', None) + self.domain_not_renewable_reasons = None + self.dns_type = kwargs.get('dns_type', None) + self.dns_zone_id = kwargs.get('dns_zone_id', None) + self.target_dns_type = kwargs.get('target_dns_type', None) + self.auth_code = kwargs.get('auth_code', None) + + +class DomainAvailablilityCheckResult(Model): + """Domain availability check result. + + :param name: Name of the domain. + :type name: str + :param available: true if domain can be purchased using + CreateDomain API; otherwise, false. + :type available: bool + :param domain_type: Valid values are Regular domain: Azure will charge the + full price of domain registration, SoftDeleted: Purchasing this domain + will simply restore it and this operation will not cost anything. Possible + values include: 'Regular', 'SoftDeleted' + :type domain_type: str or ~azure.mgmt.web.models.DomainType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available': {'key': 'available', 'type': 'bool'}, + 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, + } + + def __init__(self, **kwargs): + super(DomainAvailablilityCheckResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.available = kwargs.get('available', None) + self.domain_type = kwargs.get('domain_type', None) + + +class DomainControlCenterSsoRequest(Model): + """Single sign-on request information for domain management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar url: URL where the single sign-on request is to be made. + :vartype url: str + :ivar post_parameter_key: Post parameter key. + :vartype post_parameter_key: str + :ivar post_parameter_value: Post parameter value. Client should use + 'application/x-www-form-urlencoded' encoding for this value. + :vartype post_parameter_value: str + """ + + _validation = { + 'url': {'readonly': True}, + 'post_parameter_key': {'readonly': True}, + 'post_parameter_value': {'readonly': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, + 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainControlCenterSsoRequest, self).__init__(**kwargs) + self.url = None + self.post_parameter_key = None + self.post_parameter_value = None + + +class DomainOwnershipIdentifier(ProxyOnlyResource): + """Domain ownership Identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param ownership_id: Ownership Id. + :type ownership_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainOwnershipIdentifier, self).__init__(**kwargs) + self.ownership_id = kwargs.get('ownership_id', None) + + +class DomainPatchResource(ProxyOnlyResource): + """ARM resource for a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DomainPatchResource, self).__init__(**kwargs) + self.contact_admin = kwargs.get('contact_admin', None) + self.contact_billing = kwargs.get('contact_billing', None) + self.contact_registrant = kwargs.get('contact_registrant', None) + self.contact_tech = kwargs.get('contact_tech', None) + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = kwargs.get('privacy', None) + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = kwargs.get('auto_renew', True) + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = kwargs.get('consent', None) + self.domain_not_renewable_reasons = None + self.dns_type = kwargs.get('dns_type', None) + self.dns_zone_id = kwargs.get('dns_zone_id', None) + self.target_dns_type = kwargs.get('target_dns_type', None) + self.auth_code = kwargs.get('auth_code', None) + + +class DomainPurchaseConsent(Model): + """Domain purchase consent object, representing acceptance of applicable legal + agreements. + + :param agreement_keys: List of applicable legal agreement keys. This list + can be retrieved using ListLegalAgreements API under + TopLevelDomain resource. + :type agreement_keys: list[str] + :param agreed_by: Client IP address. + :type agreed_by: str + :param agreed_at: Timestamp when the agreements were accepted. + :type agreed_at: datetime + """ + + _attribute_map = { + 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, + 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, + 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(DomainPurchaseConsent, self).__init__(**kwargs) + self.agreement_keys = kwargs.get('agreement_keys', None) + self.agreed_by = kwargs.get('agreed_by', None) + self.agreed_at = kwargs.get('agreed_at', None) + + +class DomainRecommendationSearchParameters(Model): + """Domain recommendation search parameters. + + :param keywords: Keywords to be used for generating domain + recommendations. + :type keywords: str + :param max_domain_recommendations: Maximum number of recommendations. + :type max_domain_recommendations: int + """ + + _attribute_map = { + 'keywords': {'key': 'keywords', 'type': 'str'}, + 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DomainRecommendationSearchParameters, self).__init__(**kwargs) + self.keywords = kwargs.get('keywords', None) + self.max_domain_recommendations = kwargs.get('max_domain_recommendations', None) + + +class EnabledConfig(Model): + """Enabled configuration. + + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(EnabledConfig, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + + +class EndpointDependency(Model): + """A domain name that a service is reached at, including details of the + current connection status. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The IP Addresses and Ports used when connecting + to DomainName. + :type endpoint_details: list[~azure.mgmt.web.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__(self, **kwargs): + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = kwargs.get('domain_name', None) + self.endpoint_details = kwargs.get('endpoint_details', None) + + +class EndpointDetail(Model): + """Current TCP connectivity information from the App Service Environment to a + single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param latency: The time in milliseconds it takes for a TCP connection to + be created from the App Service Environment to this IpAddress at this + Port. + :type latency: float + :param is_accessable: Whether it is possible to create a TCP connection + from the App Service Environment to this IpAddress at this Port. + :type is_accessable: bool + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'latency': {'key': 'latency', 'type': 'float'}, + 'is_accessable': {'key': 'isAccessable', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.port = kwargs.get('port', None) + self.latency = kwargs.get('latency', None) + self.is_accessable = kwargs.get('is_accessable', None) + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = kwargs.get('extended_code', None) + self.message_template = kwargs.get('message_template', None) + self.parameters = kwargs.get('parameters', None) + self.inner_errors = kwargs.get('inner_errors', None) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class FileSystemApplicationLogsConfig(Model): + """Application logs to file system configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error'. Default value: "Off" . + :type level: str or ~azure.mgmt.web.models.LogLevel + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + } + + def __init__(self, **kwargs): + super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) + self.level = kwargs.get('level', "Off") + + +class FileSystemHttpLogsConfig(Model): + """Http logs to file system configuration. + + :param retention_in_mb: Maximum size in megabytes that http log files can + use. + When reached old log files will be removed to make space for new ones. + Value can range between 25 and 100. + :type retention_in_mb: int + :param retention_in_days: Retention in days. + Remove files older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _validation = { + 'retention_in_mb': {'maximum': 100, 'minimum': 25}, + } + + _attribute_map = { + 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(FileSystemHttpLogsConfig, self).__init__(**kwargs) + self.retention_in_mb = kwargs.get('retention_in_mb', None) + self.retention_in_days = kwargs.get('retention_in_days', None) + self.enabled = kwargs.get('enabled', None) + + +class FunctionEnvelope(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param function_app_id: Function App ID. + :type function_app_id: str + :param script_root_path_href: Script root path URI. + :type script_root_path_href: str + :param script_href: Script URI. + :type script_href: str + :param config_href: Config URI. + :type config_href: str + :param secrets_file_href: Secrets file URI. + :type secrets_file_href: str + :param href: Function URI. + :type href: str + :param config: Config information. + :type config: object + :param files: File list. + :type files: dict[str, str] + :param test_data: Test data used when testing via the Azure Portal. + :type test_data: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'function_app_id': {'key': 'properties.function_app_id', 'type': 'str'}, + 'script_root_path_href': {'key': 'properties.script_root_path_href', 'type': 'str'}, + 'script_href': {'key': 'properties.script_href', 'type': 'str'}, + 'config_href': {'key': 'properties.config_href', 'type': 'str'}, + 'secrets_file_href': {'key': 'properties.secrets_file_href', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'config': {'key': 'properties.config', 'type': 'object'}, + 'files': {'key': 'properties.files', 'type': '{str}'}, + 'test_data': {'key': 'properties.test_data', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FunctionEnvelope, self).__init__(**kwargs) + self.function_app_id = kwargs.get('function_app_id', None) + self.script_root_path_href = kwargs.get('script_root_path_href', None) + self.script_href = kwargs.get('script_href', None) + self.config_href = kwargs.get('config_href', None) + self.secrets_file_href = kwargs.get('secrets_file_href', None) + self.href = kwargs.get('href', None) + self.config = kwargs.get('config', None) + self.files = kwargs.get('files', None) + self.test_data = kwargs.get('test_data', None) + + +class FunctionSecrets(ProxyOnlyResource): + """Function secrets. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key: Secret key. + :type key: str + :param trigger_url: Trigger URL. + :type trigger_url: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key': {'key': 'properties.key', 'type': 'str'}, + 'trigger_url': {'key': 'properties.trigger_url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FunctionSecrets, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.trigger_url = kwargs.get('trigger_url', None) + + +class GeoDistribution(Model): + """A global distribution definition. + + :param location: Location. + :type location: str + :param number_of_workers: NumberOfWorkers. + :type number_of_workers: int + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GeoDistribution, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.number_of_workers = kwargs.get('number_of_workers', None) + + +class GeoRegion(ProxyOnlyResource): + """Geographical region. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Region description. + :vartype description: str + :ivar display_name: Display name for region. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GeoRegion, self).__init__(**kwargs) + self.description = None + self.display_name = None + + +class GlobalCsmSkuDescription(Model): + """A Global SKU Description. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service Tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(GlobalCsmSkuDescription, 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.capacity = kwargs.get('capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentDeploymentInfo(Model): + """Information needed to create resources on an App Service Environment. + + :param name: Name of the App Service Environment. + :type name: str + :param location: Location of the App Service Environment. + :type location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + + +class HostingEnvironmentDiagnostics(Model): + """Diagnostics for an App Service Environment. + + :param name: Name/identifier of the diagnostics. + :type name: str + :param diagnosics_output: Diagnostics output. + :type diagnosics_output: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.diagnosics_output = kwargs.get('diagnosics_output', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostName(Model): + """Details of a hostname derived from a domain. + + :param name: Name of the hostname. + :type name: str + :param site_names: List of apps the hostname is assigned to. This list + will have more than one app only if the hostname is pointing to a Traffic + Manager. + :type site_names: list[str] + :param azure_resource_name: Name of the Azure resource the hostname is + assigned to. If it is assigned to a Traffic Manager then it will be the + Traffic Manager name otherwise it will be the app name. + :type azure_resource_name: str + :param azure_resource_type: Type of the Azure resource the hostname is + assigned to. Possible values include: 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Type of the DNS record. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Type of the hostname. Possible values include: + 'Verified', 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'site_names': {'key': 'siteNames', 'type': '[str]'}, + 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, + } + + def __init__(self, **kwargs): + super(HostName, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.site_names = kwargs.get('site_names', None) + self.azure_resource_name = kwargs.get('azure_resource_name', None) + self.azure_resource_type = kwargs.get('azure_resource_type', None) + self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) + self.host_name_type = kwargs.get('host_name_type', None) + + +class HostNameBinding(ProxyOnlyResource): + """A hostname binding object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_name: App Service app name. + :type site_name: str + :param domain_id: Fully qualified ARM domain resource URI. + :type domain_id: str + :param azure_resource_name: Azure resource name. + :type azure_resource_name: str + :param azure_resource_type: Azure resource type. Possible values include: + 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Custom DNS record type. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Hostname type. Possible values include: 'Verified', + 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param thumbprint: SSL certificate thumbprint + :type thumbprint: str + :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :vartype virtual_ip: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_ip': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, + 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, + 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostNameBinding, self).__init__(**kwargs) + self.site_name = kwargs.get('site_name', None) + self.domain_id = kwargs.get('domain_id', None) + self.azure_resource_name = kwargs.get('azure_resource_name', None) + self.azure_resource_type = kwargs.get('azure_resource_type', None) + self.custom_host_name_dns_record_type = kwargs.get('custom_host_name_dns_record_type', None) + self.host_name_type = kwargs.get('host_name_type', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.virtual_ip = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HttpLogsConfig(Model): + """Http logs configuration. + + :param file_system: Http logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig + :param azure_blob_storage: Http logs to azure blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, + } + + def __init__(self, **kwargs): + super(HttpLogsConfig, self).__init__(**kwargs) + self.file_system = kwargs.get('file_system', None) + self.azure_blob_storage = kwargs.get('azure_blob_storage', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class HybridConnectionLimits(ProxyOnlyResource): + """Hybrid Connection limits contract. This is used to return the plan limits + of Hybrid Connections. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar current: The current number of Hybrid Connections. + :vartype current: int + :ivar maximum: The maximum number of Hybrid Connections allowed. + :vartype maximum: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'current': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'current': {'key': 'properties.current', 'type': 'int'}, + 'maximum': {'key': 'properties.maximum', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionLimits, self).__init__(**kwargs) + self.current = None + self.maximum = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class InboundEnvironmentEndpoint(Model): + """The IP Addresses and Ports that require inbound network access to and + within the subnet of the App Service Environment. + + :param description: Short text describing the purpose of the network + traffic. + :type description: str + :param endpoints: The IP addresses that network traffic will originate + from in cidr notation. + :type endpoints: list[str] + :param ports: The ports that network traffic will arrive to the App + Service Environment at. + :type ports: list[str] + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[str]'}, + 'ports': {'key': 'ports', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(InboundEnvironmentEndpoint, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.endpoints = kwargs.get('endpoints', None) + self.ports = kwargs.get('ports', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + :param ip_address: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + :param vnet_subnet_resource_id: Virtual network resource id + :type vnet_subnet_resource_id: str + :param vnet_traffic_tag: (internal) Vnet traffic tag + :type vnet_traffic_tag: int + :param subnet_traffic_tag: (internal) Subnet traffic tag + :type subnet_traffic_tag: int + :param action: Allow or Deny access for this IP range. + :type action: str + :param tag: Defines what this IP filter will be used for. This is to + support IP filtering on proxies. Possible values include: 'Default', + 'XffProxy' + :type tag: str or ~azure.mgmt.web.models.IpFilterTag + :param priority: Priority of IP restriction rule. + :type priority: int + :param name: IP restriction rule name. + :type name: str + :param description: IP restriction rule description. + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, + 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, + 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + self.vnet_subnet_resource_id = kwargs.get('vnet_subnet_resource_id', None) + self.vnet_traffic_tag = kwargs.get('vnet_traffic_tag', None) + self.subnet_traffic_tag = kwargs.get('subnet_traffic_tag', None) + self.action = kwargs.get('action', None) + self.tag = kwargs.get('tag', None) + self.priority = kwargs.get('priority', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalizableString, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) + + +class LogSpecification(Model): + """Log Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: Principal Id of user assigned identity + :vartype principal_id: str + :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MetricAvailabilily(Model): + """Metric availability and retention. + + :param time_grain: Time grain. + :type time_grain: str + :param retention: Retention period for the current time grain. + :type retention: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailabilily, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class MetricDefinition(ProxyOnlyResource): + """Metadata for a metric. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.MetricAvailabilily] + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricDefinition, self).__init__(**kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.display_name = None + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supports_instance_level_aggregation = kwargs.get('supports_instance_level_aggregation', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.is_internal = kwargs.get('is_internal', None) + self.dimensions = kwargs.get('dimensions', None) + self.category = kwargs.get('category', None) + self.availabilities = kwargs.get('availabilities', None) + + +class MigrateMySqlRequest(ProxyOnlyResource): + """MySQL migration request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string: Required. Connection string to the remote MySQL + database. + :type connection_string: str + :param migration_type: Required. The type of migration operation to be + done. Possible values include: 'LocalToRemote', 'RemoteToLocal' + :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'connection_string': {'required': True}, + 'migration_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, + } + + def __init__(self, **kwargs): + super(MigrateMySqlRequest, self).__init__(**kwargs) + self.connection_string = kwargs.get('connection_string', None) + self.migration_type = kwargs.get('migration_type', None) + + +class MigrateMySqlStatus(ProxyOnlyResource): + """MySQL migration status. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar migration_operation_status: Status of the migration task. Possible + values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :vartype migration_operation_status: str or + ~azure.mgmt.web.models.OperationStatus + :ivar operation_id: Operation ID for the migration task. + :vartype operation_id: str + :ivar local_my_sql_enabled: True if the web app has in app MySql enabled + :vartype local_my_sql_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'migration_operation_status': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'local_my_sql_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MigrateMySqlStatus, self).__init__(**kwargs) + self.migration_operation_status = None + self.operation_id = None + self.local_my_sql_enabled = None + + +class MSDeploy(ProxyOnlyResource): + """MSDeploy ARM PUT 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param package_uri: Package URI + :type package_uri: str + :param connection_string: SQL Connection String + :type connection_string: str + :param db_type: Database Type + :type db_type: str + :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must + not be set if SetParameters is used. + :type set_parameters_xml_file_uri: str + :param set_parameters: MSDeploy Parameters. Must not be set if + SetParametersXmlFileUri is used. + :type set_parameters: dict[str, str] + :param skip_app_data: Controls whether the MSDeploy operation skips the + App_Data directory. + If set to true, the existing App_Data directory on the + destination + will not be deleted, and any App_Data directory in the source will be + ignored. + Setting is false by default. + :type skip_app_data: bool + :param app_offline: Sets the AppOffline rule while the MSDeploy operation + executes. + Setting is false by default. + :type app_offline: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'db_type': {'key': 'properties.dbType', 'type': 'str'}, + 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, + 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, + 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, + 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MSDeploy, self).__init__(**kwargs) + self.package_uri = kwargs.get('package_uri', None) + self.connection_string = kwargs.get('connection_string', None) + self.db_type = kwargs.get('db_type', None) + self.set_parameters_xml_file_uri = kwargs.get('set_parameters_xml_file_uri', None) + self.set_parameters = kwargs.get('set_parameters', None) + self.skip_app_data = kwargs.get('skip_app_data', None) + self.app_offline = kwargs.get('app_offline', None) + + +class MSDeployLog(ProxyOnlyResource): + """MSDeploy log. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar entries: List of log entry messages + :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'entries': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, + } + + def __init__(self, **kwargs): + super(MSDeployLog, self).__init__(**kwargs) + self.entries = None + + +class MSDeployLogEntry(Model): + """MSDeploy log entry. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: Timestamp of log entry + :vartype time: datetime + :ivar type: Log entry type. Possible values include: 'Message', 'Warning', + 'Error' + :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType + :ivar message: Log entry message + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'type': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MSDeployLogEntry, self).__init__(**kwargs) + self.time = None + self.type = None + self.message = None + + +class MSDeployStatus(ProxyOnlyResource): + """MSDeploy ARM response. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deployer: Username of deployer + :vartype deployer: str + :ivar provisioning_state: Provisioning state. Possible values include: + 'accepted', 'running', 'succeeded', 'failed', 'canceled' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.MSDeployProvisioningState + :ivar start_time: Start time of deploy operation + :vartype start_time: datetime + :ivar end_time: End time of deploy operation + :vartype end_time: datetime + :ivar complete: Whether the deployment operation has completed + :vartype complete: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deployer': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'complete': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'complete': {'key': 'properties.complete', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(MSDeployStatus, self).__init__(**kwargs) + self.deployer = None + self.provisioning_state = None + self.start_time = None + self.end_time = None + self.complete = None + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameIdentifier, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = kwargs.get('action', None) + self.description = kwargs.get('description', None) + self.order = kwargs.get('order', None) + self.remote_subnet = kwargs.get('remote_subnet', None) + + +class NetworkFeatures(ProxyOnlyResource): + """Full view of network features for an app (presently VNET integration and + Hybrid Connections). + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar virtual_network_name: The Virtual Network name. + :vartype virtual_network_name: str + :ivar virtual_network_connection: The Virtual Network summary view. + :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo + :ivar hybrid_connections: The Hybrid Connections summary view. + :vartype hybrid_connections: + list[~azure.mgmt.web.models.RelayServiceConnectionEntity] + :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. + :vartype hybrid_connections_v2: + list[~azure.mgmt.web.models.HybridConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_name': {'readonly': True}, + 'virtual_network_connection': {'readonly': True}, + 'hybrid_connections': {'readonly': True}, + 'hybrid_connections_v2': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, + 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, + 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, + 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, + } + + def __init__(self, **kwargs): + super(NetworkFeatures, self).__init__(**kwargs) + self.virtual_network_name = None + self.virtual_network_connection = None + self.hybrid_connections = None + self.hybrid_connections_v2 = None + + +class NetworkTrace(Model): + """Network trace. + + :param path: Local file path for the captured network trace file. + :type path: str + :param status: Current status of the network trace operation, same as + Operation.Status (InProgress/Succeeded/Failed). + :type status: str + :param message: Detailed message of a network trace operation, e.g. error + message in case of failure. + :type message: str + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkTrace, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.status = kwargs.get('status', None) + self.message = kwargs.get('message', None) + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.status = kwargs.get('status', None) + self.errors = kwargs.get('errors', None) + self.created_time = kwargs.get('created_time', None) + self.modified_time = kwargs.get('modified_time', None) + self.expiration_time = kwargs.get('expiration_time', None) + self.geo_master_operation_id = kwargs.get('geo_master_operation_id', None) + + +class OutboundEnvironmentEndpoint(Model): + """Endpoints accessed for a common purpose that the App Service Environment + requires outbound network access to. + + :param category: The type of service accessed by the App Service + Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active + Directory. + :type category: str + :param endpoints: The endpoints that the App Service Environment reaches + the service at. + :type endpoints: list[~azure.mgmt.web.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__(self, **kwargs): + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.endpoints = kwargs.get('endpoints', None) + + +class PerfMonResponse(Model): + """Performance monitor API response. + + :param code: The response code. + :type code: str + :param message: The message. + :type message: str + :param data: The performance monitor counters. + :type data: ~azure.mgmt.web.models.PerfMonSet + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'PerfMonSet'}, + } + + def __init__(self, **kwargs): + super(PerfMonResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.data = kwargs.get('data', None) + + +class PerfMonSample(Model): + """Performance monitor sample in a set. + + :param time: Point in time for which counter was measured. + :type time: datetime + :param instance_name: Name of the server on which the measurement is made. + :type instance_name: str + :param value: Value of counter at a certain time. + :type value: float + """ + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'instance_name': {'key': 'instanceName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, **kwargs): + super(PerfMonSample, self).__init__(**kwargs) + self.time = kwargs.get('time', None) + self.instance_name = kwargs.get('instance_name', None) + self.value = kwargs.get('value', None) + + +class PerfMonSet(Model): + """Metric information. + + :param name: Unique key name of the counter. + :type name: str + :param start_time: Start time of the period. + :type start_time: datetime + :param end_time: End time of the period. + :type end_time: datetime + :param time_grain: Presented time grain. + :type time_grain: str + :param values: Collection of workers that are active during this time. + :type values: list[~azure.mgmt.web.models.PerfMonSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[PerfMonSample]'}, + } + + def __init__(self, **kwargs): + super(PerfMonSet, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.time_grain = kwargs.get('time_grain', None) + self.values = kwargs.get('values', None) + + +class PremierAddOn(Resource): + """Premier add-on. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PremierAddOn, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.product = kwargs.get('product', None) + self.vendor = kwargs.get('vendor', None) + self.marketplace_publisher = kwargs.get('marketplace_publisher', None) + self.marketplace_offer = kwargs.get('marketplace_offer', None) + + +class PremierAddOnOffer(ProxyOnlyResource): + """Premier add-on offer. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on offer Product. + :type product: str + :param vendor: Premier add on offer Vendor. + :type vendor: str + :param promo_code_required: true if promotion code is + required; otherwise, false. + :type promo_code_required: bool + :param quota: Premier add on offer Quota. + :type quota: int + :param web_hosting_plan_restrictions: App Service plans this offer is + restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', + 'Standard', 'Premium' + :type web_hosting_plan_restrictions: str or + ~azure.mgmt.web.models.AppServicePlanRestrictions + :param privacy_policy_url: Privacy policy URL. + :type privacy_policy_url: str + :param legal_terms_url: Legal terms URL. + :type legal_terms_url: str + :param marketplace_publisher: Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, + 'quota': {'key': 'properties.quota', 'type': 'int'}, + 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, + 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, + 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PremierAddOnOffer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.product = kwargs.get('product', None) + self.vendor = kwargs.get('vendor', None) + self.promo_code_required = kwargs.get('promo_code_required', None) + self.quota = kwargs.get('quota', None) + self.web_hosting_plan_restrictions = kwargs.get('web_hosting_plan_restrictions', None) + self.privacy_policy_url = kwargs.get('privacy_policy_url', None) + self.legal_terms_url = kwargs.get('legal_terms_url', None) + self.marketplace_publisher = kwargs.get('marketplace_publisher', None) + self.marketplace_offer = kwargs.get('marketplace_offer', None) + + +class PremierAddOnPatchResource(ProxyOnlyResource): + """ARM resource for a PremierAddOn. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PremierAddOnPatchResource, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.product = kwargs.get('product', None) + self.vendor = kwargs.get('vendor', None) + self.marketplace_publisher = kwargs.get('marketplace_publisher', None) + self.marketplace_offer = kwargs.get('marketplace_offer', None) + + +class PrivateAccess(ProxyOnlyResource): + """Description of the parameters of Private Access for a Web Site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: Whether private access is enabled or not. + :type enabled: bool + :param virtual_networks: The Virtual Networks (and subnets) allowed to + access the site privately. + :type virtual_networks: + list[~azure.mgmt.web.models.PrivateAccessVirtualNetwork] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[PrivateAccessVirtualNetwork]'}, + } + + def __init__(self, **kwargs): + super(PrivateAccess, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.virtual_networks = kwargs.get('virtual_networks', None) + + +class PrivateAccessSubnet(Model): + """Description of a Virtual Network subnet that is useable for private site + access. + + :param name: The name of the subnet. + :type name: str + :param key: The key (ID) of the subnet. + :type key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(PrivateAccessSubnet, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.key = kwargs.get('key', None) + + +class PrivateAccessVirtualNetwork(Model): + """Description of a Virtual Network that is useable for private site access. + + :param name: The name of the Virtual Network. + :type name: str + :param key: The key (ID) of the Virtual Network. + :type key: int + :param resource_id: The ARM uri of the Virtual Network + :type resource_id: str + :param subnets: A List of subnets that access is allowed to on this + Virtual Network. An empty array (but not null) is interpreted to mean that + all subnets are allowed within this Virtual Network. + :type subnets: list[~azure.mgmt.web.models.PrivateAccessSubnet] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'int'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'subnets': {'key': 'subnets', 'type': '[PrivateAccessSubnet]'}, + } + + def __init__(self, **kwargs): + super(PrivateAccessVirtualNetwork, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.key = kwargs.get('key', None) + self.resource_id = kwargs.get('resource_id', None) + self.subnets = kwargs.get('subnets', None) + + +class ProcessInfo(ProxyOnlyResource): + """Process 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar identifier: ARM Identifier for deployment. + :vartype identifier: int + :param deployment_name: Deployment name. + :type deployment_name: str + :param href: HRef URI. + :type href: str + :param minidump: Minidump URI. + :type minidump: str + :param is_profile_running: Is profile running? + :type is_profile_running: bool + :param is_iis_profile_running: Is the IIS Profile running? + :type is_iis_profile_running: bool + :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). + :type iis_profile_timeout_in_seconds: float + :param parent: Parent process. + :type parent: str + :param children: Child process list. + :type children: list[str] + :param threads: Thread list. + :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] + :param open_file_handles: List of open files. + :type open_file_handles: list[str] + :param modules: List of modules. + :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] + :param file_name: File name of this process. + :type file_name: str + :param command_line: Command line. + :type command_line: str + :param user_name: User name. + :type user_name: str + :param handle_count: Handle count. + :type handle_count: int + :param module_count: Module count. + :type module_count: int + :param thread_count: Thread count. + :type thread_count: int + :param start_time: Start time. + :type start_time: datetime + :param total_cpu_time: Total CPU time. + :type total_cpu_time: str + :param user_cpu_time: User CPU time. + :type user_cpu_time: str + :param privileged_cpu_time: Privileged CPU time. + :type privileged_cpu_time: str + :param working_set: Working set. + :type working_set: long + :param peak_working_set: Peak working set. + :type peak_working_set: long + :param private_memory: Private memory size. + :type private_memory: long + :param virtual_memory: Virtual memory size. + :type virtual_memory: long + :param peak_virtual_memory: Peak virtual memory usage. + :type peak_virtual_memory: long + :param paged_system_memory: Paged system memory. + :type paged_system_memory: long + :param non_paged_system_memory: Non-paged system memory. + :type non_paged_system_memory: long + :param paged_memory: Paged memory. + :type paged_memory: long + :param peak_paged_memory: Peak paged memory. + :type peak_paged_memory: long + :param time_stamp: Time stamp. + :type time_stamp: datetime + :param environment_variables: List of environment variables. + :type environment_variables: dict[str, str] + :param is_scm_site: Is this the SCM site? + :type is_scm_site: bool + :param is_webjob: Is this a Web Job? + :type is_webjob: bool + :param description: Description of process. + :type description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identifier': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier': {'key': 'properties.identifier', 'type': 'int'}, + 'deployment_name': {'key': 'properties.deployment_name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'minidump': {'key': 'properties.minidump', 'type': 'str'}, + 'is_profile_running': {'key': 'properties.is_profile_running', 'type': 'bool'}, + 'is_iis_profile_running': {'key': 'properties.is_iis_profile_running', 'type': 'bool'}, + 'iis_profile_timeout_in_seconds': {'key': 'properties.iis_profile_timeout_in_seconds', 'type': 'float'}, + 'parent': {'key': 'properties.parent', 'type': 'str'}, + 'children': {'key': 'properties.children', 'type': '[str]'}, + 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, + 'open_file_handles': {'key': 'properties.open_file_handles', 'type': '[str]'}, + 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, + 'file_name': {'key': 'properties.file_name', 'type': 'str'}, + 'command_line': {'key': 'properties.command_line', 'type': 'str'}, + 'user_name': {'key': 'properties.user_name', 'type': 'str'}, + 'handle_count': {'key': 'properties.handle_count', 'type': 'int'}, + 'module_count': {'key': 'properties.module_count', 'type': 'int'}, + 'thread_count': {'key': 'properties.thread_count', 'type': 'int'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'total_cpu_time': {'key': 'properties.total_cpu_time', 'type': 'str'}, + 'user_cpu_time': {'key': 'properties.user_cpu_time', 'type': 'str'}, + 'privileged_cpu_time': {'key': 'properties.privileged_cpu_time', 'type': 'str'}, + 'working_set': {'key': 'properties.working_set', 'type': 'long'}, + 'peak_working_set': {'key': 'properties.peak_working_set', 'type': 'long'}, + 'private_memory': {'key': 'properties.private_memory', 'type': 'long'}, + 'virtual_memory': {'key': 'properties.virtual_memory', 'type': 'long'}, + 'peak_virtual_memory': {'key': 'properties.peak_virtual_memory', 'type': 'long'}, + 'paged_system_memory': {'key': 'properties.paged_system_memory', 'type': 'long'}, + 'non_paged_system_memory': {'key': 'properties.non_paged_system_memory', 'type': 'long'}, + 'paged_memory': {'key': 'properties.paged_memory', 'type': 'long'}, + 'peak_paged_memory': {'key': 'properties.peak_paged_memory', 'type': 'long'}, + 'time_stamp': {'key': 'properties.time_stamp', 'type': 'iso-8601'}, + 'environment_variables': {'key': 'properties.environment_variables', 'type': '{str}'}, + 'is_scm_site': {'key': 'properties.is_scm_site', 'type': 'bool'}, + 'is_webjob': {'key': 'properties.is_webjob', 'type': 'bool'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessInfo, self).__init__(**kwargs) + self.identifier = None + self.deployment_name = kwargs.get('deployment_name', None) + self.href = kwargs.get('href', None) + self.minidump = kwargs.get('minidump', None) + self.is_profile_running = kwargs.get('is_profile_running', None) + self.is_iis_profile_running = kwargs.get('is_iis_profile_running', None) + self.iis_profile_timeout_in_seconds = kwargs.get('iis_profile_timeout_in_seconds', None) + self.parent = kwargs.get('parent', None) + self.children = kwargs.get('children', None) + self.threads = kwargs.get('threads', None) + self.open_file_handles = kwargs.get('open_file_handles', None) + self.modules = kwargs.get('modules', None) + self.file_name = kwargs.get('file_name', None) + self.command_line = kwargs.get('command_line', None) + self.user_name = kwargs.get('user_name', None) + self.handle_count = kwargs.get('handle_count', None) + self.module_count = kwargs.get('module_count', None) + self.thread_count = kwargs.get('thread_count', None) + self.start_time = kwargs.get('start_time', None) + self.total_cpu_time = kwargs.get('total_cpu_time', None) + self.user_cpu_time = kwargs.get('user_cpu_time', None) + self.privileged_cpu_time = kwargs.get('privileged_cpu_time', None) + self.working_set = kwargs.get('working_set', None) + self.peak_working_set = kwargs.get('peak_working_set', None) + self.private_memory = kwargs.get('private_memory', None) + self.virtual_memory = kwargs.get('virtual_memory', None) + self.peak_virtual_memory = kwargs.get('peak_virtual_memory', None) + self.paged_system_memory = kwargs.get('paged_system_memory', None) + self.non_paged_system_memory = kwargs.get('non_paged_system_memory', None) + self.paged_memory = kwargs.get('paged_memory', None) + self.peak_paged_memory = kwargs.get('peak_paged_memory', None) + self.time_stamp = kwargs.get('time_stamp', None) + self.environment_variables = kwargs.get('environment_variables', None) + self.is_scm_site = kwargs.get('is_scm_site', None) + self.is_webjob = kwargs.get('is_webjob', None) + self.description = kwargs.get('description', None) + + +class ProcessModuleInfo(ProxyOnlyResource): + """Process Module 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param base_address: Base address. Used as module identifier in ARM + resource URI. + :type base_address: str + :param file_name: File name. + :type file_name: str + :param href: HRef URI. + :type href: str + :param file_path: File path. + :type file_path: str + :param module_memory_size: Module memory size. + :type module_memory_size: int + :param file_version: File version. + :type file_version: str + :param file_description: File description. + :type file_description: str + :param product: Product name. + :type product: str + :param product_version: Product version. + :type product_version: str + :param is_debug: Is debug? + :type is_debug: bool + :param language: Module language (locale). + :type language: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'base_address': {'key': 'properties.base_address', 'type': 'str'}, + 'file_name': {'key': 'properties.file_name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'file_path': {'key': 'properties.file_path', 'type': 'str'}, + 'module_memory_size': {'key': 'properties.module_memory_size', 'type': 'int'}, + 'file_version': {'key': 'properties.file_version', 'type': 'str'}, + 'file_description': {'key': 'properties.file_description', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'product_version': {'key': 'properties.product_version', 'type': 'str'}, + 'is_debug': {'key': 'properties.is_debug', 'type': 'bool'}, + 'language': {'key': 'properties.language', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessModuleInfo, self).__init__(**kwargs) + self.base_address = kwargs.get('base_address', None) + self.file_name = kwargs.get('file_name', None) + self.href = kwargs.get('href', None) + self.file_path = kwargs.get('file_path', None) + self.module_memory_size = kwargs.get('module_memory_size', None) + self.file_version = kwargs.get('file_version', None) + self.file_description = kwargs.get('file_description', None) + self.product = kwargs.get('product', None) + self.product_version = kwargs.get('product_version', None) + self.is_debug = kwargs.get('is_debug', None) + self.language = kwargs.get('language', None) + + +class ProcessThreadInfo(ProxyOnlyResource): + """Process Thread 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar identifier: Site extension ID. + :vartype identifier: int + :param href: HRef URI. + :type href: str + :param process: Process URI. + :type process: str + :param start_address: Start address. + :type start_address: str + :param current_priority: Current thread priority. + :type current_priority: int + :param priority_level: Thread priority level. + :type priority_level: str + :param base_priority: Base priority. + :type base_priority: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total processor time. + :type total_processor_time: str + :param user_processor_time: User processor time. + :type user_processor_time: str + :param priviledged_processor_time: Privileged processor time. + :type priviledged_processor_time: str + :param state: Thread state. + :type state: str + :param wait_reason: Wait reason. + :type wait_reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identifier': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier': {'key': 'properties.identifier', 'type': 'int'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'process': {'key': 'properties.process', 'type': 'str'}, + 'start_address': {'key': 'properties.start_address', 'type': 'str'}, + 'current_priority': {'key': 'properties.current_priority', 'type': 'int'}, + 'priority_level': {'key': 'properties.priority_level', 'type': 'str'}, + 'base_priority': {'key': 'properties.base_priority', 'type': 'int'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.total_processor_time', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.user_processor_time', 'type': 'str'}, + 'priviledged_processor_time': {'key': 'properties.priviledged_processor_time', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'wait_reason': {'key': 'properties.wait_reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProcessThreadInfo, self).__init__(**kwargs) + self.identifier = None + self.href = kwargs.get('href', None) + self.process = kwargs.get('process', None) + self.start_address = kwargs.get('start_address', None) + self.current_priority = kwargs.get('current_priority', None) + self.priority_level = kwargs.get('priority_level', None) + self.base_priority = kwargs.get('base_priority', None) + self.start_time = kwargs.get('start_time', None) + self.total_processor_time = kwargs.get('total_processor_time', None) + self.user_processor_time = kwargs.get('user_processor_time', None) + self.priviledged_processor_time = kwargs.get('priviledged_processor_time', None) + self.state = kwargs.get('state', None) + self.wait_reason = kwargs.get('wait_reason', None) + + +class PublicCertificate(ProxyOnlyResource): + """Public certificate object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param blob: Public Certificate byte array + :type blob: bytearray + :param public_certificate_location: Public Certificate Location. Possible + values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' + :type public_certificate_location: str or + ~azure.mgmt.web.models.PublicCertificateLocation + :ivar thumbprint: Certificate Thumbprint + :vartype thumbprint: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'thumbprint': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, + 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicCertificate, self).__init__(**kwargs) + self.blob = kwargs.get('blob', None) + self.public_certificate_location = kwargs.get('public_certificate_location', None) + self.thumbprint = None + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class Recommendation(ProxyOnlyResource): + """Represents a recommendation result generated by the recommendation engine. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param creation_time: Timestamp when this instance was created. + :type creation_time: datetime + :param recommendation_id: A GUID value that each recommendation object is + associated with. + :type recommendation_id: str + :param resource_id: Full ARM resource ID string that this recommendation + object is associated with. + :type resource_id: str + :param resource_scope: Name of a resource type this recommendation + applies, e.g. Subscription, ServerFarm, Site. Possible values include: + 'ServerFarm', 'Subscription', 'WebSite' + :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType + :param rule_name: Unique name of the rule. + :type rule_name: str + :param display_name: UI friendly name of the rule (may not be unique). + :type display_name: str + :param message: Recommendation text. + :type message: str + :param level: Level indicating how critical this recommendation can + impact. Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of channels that this recommendation can apply. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :ivar category_tags: The list of category tags that this recommendation + belongs to. + :vartype category_tags: list[str] + :param action_name: Name of action recommended by this object. + :type action_name: str + :param enabled: True if this recommendation is still valid (i.e. + "actionable"). False if it is invalid. + :type enabled: int + :param states: The list of states of this recommendation. If it's null + then it should be considered "Active". + :type states: list[str] + :param start_time: The beginning time in UTC of a range that the + recommendation refers to. + :type start_time: datetime + :param end_time: The end time in UTC of a range that the recommendation + refers to. + :type end_time: datetime + :param next_notification_time: When to notify this recommendation next in + UTC. Null means that this will never be notified anymore. + :type next_notification_time: datetime + :param notification_expiration_time: Date and time in UTC when this + notification expires. + :type notification_expiration_time: datetime + :param notified_time: Last timestamp in UTC this instance was actually + notified. Null means that this recommendation hasn't been notified yet. + :type notified_time: datetime + :param score: A metric value measured by the rule. + :type score: float + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'category_tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, + 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, + 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'int'}, + 'states': {'key': 'properties.states', 'type': '[str]'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, + 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, + 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, + 'score': {'key': 'properties.score', 'type': 'float'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Recommendation, self).__init__(**kwargs) + self.creation_time = kwargs.get('creation_time', None) + self.recommendation_id = kwargs.get('recommendation_id', None) + self.resource_id = kwargs.get('resource_id', None) + self.resource_scope = kwargs.get('resource_scope', None) + self.rule_name = kwargs.get('rule_name', None) + self.display_name = kwargs.get('display_name', None) + self.message = kwargs.get('message', None) + self.level = kwargs.get('level', None) + self.channels = kwargs.get('channels', None) + self.category_tags = None + self.action_name = kwargs.get('action_name', None) + self.enabled = kwargs.get('enabled', None) + self.states = kwargs.get('states', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.next_notification_time = kwargs.get('next_notification_time', None) + self.notification_expiration_time = kwargs.get('notification_expiration_time', None) + self.notified_time = kwargs.get('notified_time', None) + self.score = kwargs.get('score', None) + self.is_dynamic = kwargs.get('is_dynamic', None) + self.extension_name = kwargs.get('extension_name', None) + self.blade_name = kwargs.get('blade_name', None) + self.forward_link = kwargs.get('forward_link', None) + + +class RecommendationRule(ProxyOnlyResource): + """Represents a recommendation rule that the recommendation engine can + perform. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param recommendation_name: Unique name of the rule. + :type recommendation_name: str + :param display_name: UI friendly name of the rule. + :type display_name: str + :param message: Localized name of the rule (Good for UI). + :type message: str + :param recommendation_id: Recommendation ID of an associated + recommendation object tied to the rule, if exists. + If such an object doesn't exist, it is set to null. + :type recommendation_id: str + :param description: Localized detailed description of the rule. + :type description: str + :param action_name: Name of action that is recommended by this rule in + string. + :type action_name: str + :param level: Level of impact indicating how critical this rule is. + Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of available channels that this rule applies. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :ivar category_tags: The list of category tags that this recommendation + rule belongs to. + :vartype category_tags: list[str] + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. Applicable + to dynamic rule only. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. Applicable to + dynamic rule only. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. Applicable to dynamic rule only. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'category_tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recommendation_name': {'key': 'properties.recommendationName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RecommendationRule, self).__init__(**kwargs) + self.recommendation_name = kwargs.get('recommendation_name', None) + self.display_name = kwargs.get('display_name', None) + self.message = kwargs.get('message', None) + self.recommendation_id = kwargs.get('recommendation_id', None) + self.description = kwargs.get('description', None) + self.action_name = kwargs.get('action_name', None) + self.level = kwargs.get('level', None) + self.channels = kwargs.get('channels', None) + self.category_tags = None + self.is_dynamic = kwargs.get('is_dynamic', None) + self.extension_name = kwargs.get('extension_name', None) + self.blade_name = kwargs.get('blade_name', None) + self.forward_link = kwargs.get('forward_link', None) + + +class ReissueCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate reissue request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param delay_existing_revoke_in_hours: Delay in hours to revoke existing + certificate after the new certificate is issued. + :type delay_existing_revoke_in_hours: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ReissueCertificateOrderRequest, self).__init__(**kwargs) + self.key_size = kwargs.get('key_size', None) + self.delay_existing_revoke_in_hours = kwargs.get('delay_existing_revoke_in_hours', None) + self.csr = kwargs.get('csr', None) + self.is_private_key_external = kwargs.get('is_private_key_external', None) + + +class RelayServiceConnectionEntity(ProxyOnlyResource): + """Hybrid Connection for an App Service app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param entity_name: + :type entity_name: str + :param entity_connection_string: + :type entity_connection_string: str + :param resource_type: + :type resource_type: str + :param resource_connection_string: + :type resource_connection_string: str + :param hostname: + :type hostname: str + :param port: + :type port: int + :param biztalk_uri: + :type biztalk_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, + 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RelayServiceConnectionEntity, self).__init__(**kwargs) + self.entity_name = kwargs.get('entity_name', None) + self.entity_connection_string = kwargs.get('entity_connection_string', None) + self.resource_type = kwargs.get('resource_type', None) + self.resource_connection_string = kwargs.get('resource_connection_string', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.biztalk_uri = kwargs.get('biztalk_uri', None) + + +class Rendering(Model): + """Instructions for rendering the data. + + :param type: Rendering Type. Possible values include: 'NoGraph', 'Table', + 'TimeSeries', 'TimeSeriesPerInstance' + :type type: str or ~azure.mgmt.web.models.RenderingType + :param title: Title of data + :type title: str + :param description: Description of the data that will help it be + interpreted + :type description: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'RenderingType'}, + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Rendering, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.title = kwargs.get('title', None) + self.description = kwargs.get('description', None) + + +class RenewCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate renew request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RenewCertificateOrderRequest, self).__init__(**kwargs) + self.key_size = kwargs.get('key_size', None) + self.csr = kwargs.get('csr', None) + self.is_private_key_external = kwargs.get('is_private_key_external', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceHealthMetadata(ProxyOnlyResource): + """Used for getting ResourceHealthCheck settings. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param category: The category that the resource matches in the RHC Policy + File + :type category: str + :param signal_availability: Is there a health signal for the resource + :type signal_availability: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ResourceHealthMetadata, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.signal_availability = kwargs.get('signal_availability', None) + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.value = kwargs.get('value', None) + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class ResourceNameAvailability(Model): + """Information regarding availability of a resource name. + + :param name_available: true indicates name is valid and + available. false indicates the name is invalid, unavailable, + or both. + :type name_available: bool + :param reason: Invalid indicates the name provided does not + match Azure App Service naming requirements. AlreadyExists + indicates that the name is already in use and is therefore unavailable. + Possible values include: 'Invalid', 'AlreadyExists' + :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType + :param message: If reason == invalid, provide the user with the reason why + the given name is invalid, and provide the resource naming requirements so + that the user can select a valid name. If reason == AlreadyExists, explain + that resource name is already in use, and direct them to select a + different name. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNameAvailability, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class ResourceNameAvailabilityRequest(Model): + """Resource name availability request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.is_fqdn = kwargs.get('is_fqdn', None) + + +class ResponseMetaData(Model): + """ResponseMetaData. + + :param data_source: Source of the Data + :type data_source: ~azure.mgmt.web.models.DataSource + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, + } + + def __init__(self, **kwargs): + super(ResponseMetaData, self).__init__(**kwargs) + self.data_source = kwargs.get('data_source', None) + + +class RestoreRequest(ProxyOnlyResource): + """Description of a restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param blob_name: Name of a blob which contains the backup. + :type blob_name: str + :param overwrite: Required. true if the restore operation can + overwrite target app; otherwise, false. true is + needed if trying to restore over an existing app. + :type overwrite: bool + :param site_name: Name of an app. + :type site_name: str + :param databases: Collection of databases which should be restored. This + list has to match the list of databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param ignore_conflicting_host_names: Changes a logic when restoring an + app with custom domains. true to remove custom domains + automatically. If false, custom domains are added to + the app's object when it is being restored, but that might fail due to + conflicts during the operation. Default value: False . + :type ignore_conflicting_host_names: bool + :param ignore_databases: Ignore the databases and only restore the site + content. Default value: False . + :type ignore_databases: bool + :param app_service_plan: Specify app service plan that will own restored + site. + :type app_service_plan: str + :param operation_type: Operation type. Possible values include: 'Default', + 'Clone', 'Relocation', 'Snapshot', 'CloudFS'. Default value: "Default" . + :type operation_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + :param adjust_connection_strings: true if + SiteConfig.ConnectionStrings should be set in new app; otherwise, + false. + :type adjust_connection_strings: bool + :param hosting_environment: App Service Environment name, if needed (only + when restoring an app to an App Service Environment). + :type hosting_environment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, + 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, + 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, + 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RestoreRequest, self).__init__(**kwargs) + self.storage_account_url = kwargs.get('storage_account_url', None) + self.blob_name = kwargs.get('blob_name', None) + self.overwrite = kwargs.get('overwrite', None) + self.site_name = kwargs.get('site_name', None) + self.databases = kwargs.get('databases', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', False) + self.ignore_databases = kwargs.get('ignore_databases', False) + self.app_service_plan = kwargs.get('app_service_plan', None) + self.operation_type = kwargs.get('operation_type', "Default") + self.adjust_connection_strings = kwargs.get('adjust_connection_strings', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + :param log_specifications: + :type log_specifications: list[~azure.mgmt.web.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, **kwargs): + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + self.log_specifications = kwargs.get('log_specifications', None) + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.client_cert_exclusion_paths = kwargs.get('client_cert_exclusion_paths', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.redundancy_mode = kwargs.get('redundancy_mode', None) + self.in_progress_operation_id = None + self.geo_distributions = kwargs.get('geo_distributions', None) + self.identity = kwargs.get('identity', None) + + +class SiteAuthSettings(ProxyOnlyResource): + """Configuration settings for the Azure App Service Authentication / + Authorization feature. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: true if the Authentication / Authorization + feature is enabled for the current app; otherwise, false. + :type enabled: bool + :param runtime_version: The RuntimeVersion of the Authentication / + Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in + the Authentication / Authorization module. + :type runtime_version: str + :param unauthenticated_client_action: The action to take when an + unauthenticated client attempts to access the app. Possible values + include: 'RedirectToLoginPage', 'AllowAnonymous' + :type unauthenticated_client_action: str or + ~azure.mgmt.web.models.UnauthenticatedClientAction + :param token_store_enabled: true to durably store + platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + :type token_store_enabled: bool + :param allowed_external_redirect_urls: External URLs that can be + redirected to as part of logging in or logging out of the app. Note that + the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store + application backends. + Note that URLs within the current domain are always implicitly allowed. + :type allowed_external_redirect_urls: list[str] + :param default_provider: The default authentication provider to use when + multiple providers are configured. + This setting is only needed if multiple providers are configured and the + unauthenticated client + action is set to "RedirectToLoginPage". Possible values include: + 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + 'Twitter' + :type default_provider: str or + ~azure.mgmt.web.models.BuiltInAuthenticationProvider + :param token_refresh_extension_hours: The number of hours after session + token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + :type token_refresh_extension_hours: float + :param client_id: The Client ID of this relying party application, known + as the client_id. + This setting is required for enabling OpenID Connection authentication + with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_id: str + :param client_secret: The Client Secret of this relying party application + (in Azure Active Directory, this is also referred to as the Key). + This setting is optional. If no client secret is configured, the OpenID + Connect implicit auth flow is used to authenticate end users. + Otherwise, the OpenID Connect Authorization Code Flow is used to + authenticate end users. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_secret: str + :param client_secret_certificate_thumbprint: An alternative to the client + secret, that is the thumbprint of a certificate used for signing purposes. + This property acts as + a replacement for the Client Secret. It is also optional. + :type client_secret_certificate_thumbprint: str + :param issuer: The OpenID Connect Issuer URI that represents the entity + which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory + tenant, e.g. https://sts.windows.net/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: + http://openid.net/specs/openid-connect-discovery-1_0.html + :type issuer: str + :param validate_issuer: Gets a value indicating whether the issuer should + be a valid HTTPS url and be validated as such. + :type validate_issuer: bool + :param allowed_audiences: Allowed audience values to consider when + validating JWTs issued by + Azure Active Directory. Note that the ClientID value is + always considered an + allowed audience, regardless of this setting. + :type allowed_audiences: list[str] + :param additional_login_params: Login parameters to send to the OpenID + Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + :type additional_login_params: list[str] + :param google_client_id: The OpenID Connect Client ID for the Google web + application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_id: str + :param google_client_secret: The client secret associated with the Google + web application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_secret: str + :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as + part of Google Sign-In authentication. + This setting is optional. If not specified, "openid", "profile", and + "email" are used as default scopes. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_oauth_scopes: list[str] + :param facebook_app_id: The App ID of the Facebook app used for login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_id: str + :param facebook_app_secret: The App Secret of the Facebook app used for + Facebook Login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_secret: str + :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested + as part of Facebook Login authentication. + This setting is optional. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_oauth_scopes: list[str] + :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter + application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_key: str + :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the + Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_secret: str + :param microsoft_account_client_id: The OAuth 2.0 client ID that was + created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_id: str + :param microsoft_account_client_secret: The OAuth 2.0 client secret that + was created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_secret: str + :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be + requested as part of Microsoft Account authentication. + This setting is optional. If not specified, "wl.basic" is used as the + default scope. + Microsoft Account Scopes and permissions documentation: + https://msdn.microsoft.com/en-us/library/dn631845.aspx + :type microsoft_account_oauth_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, + 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, + 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, + 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, + 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, + 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, + 'client_id': {'key': 'properties.clientId', 'type': 'str'}, + 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, + 'client_secret_certificate_thumbprint': {'key': 'properties.clientSecretCertificateThumbprint', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'validate_issuer': {'key': 'properties.validateIssuer', 'type': 'bool'}, + 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, + 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, + 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, + 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, + 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, + 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, + 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, + 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, + 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, + 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, + 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, + 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, + 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SiteAuthSettings, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.unauthenticated_client_action = kwargs.get('unauthenticated_client_action', None) + self.token_store_enabled = kwargs.get('token_store_enabled', None) + self.allowed_external_redirect_urls = kwargs.get('allowed_external_redirect_urls', None) + self.default_provider = kwargs.get('default_provider', None) + self.token_refresh_extension_hours = kwargs.get('token_refresh_extension_hours', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.client_secret_certificate_thumbprint = kwargs.get('client_secret_certificate_thumbprint', None) + self.issuer = kwargs.get('issuer', None) + self.validate_issuer = kwargs.get('validate_issuer', None) + self.allowed_audiences = kwargs.get('allowed_audiences', None) + self.additional_login_params = kwargs.get('additional_login_params', None) + self.google_client_id = kwargs.get('google_client_id', None) + self.google_client_secret = kwargs.get('google_client_secret', None) + self.google_oauth_scopes = kwargs.get('google_oauth_scopes', None) + self.facebook_app_id = kwargs.get('facebook_app_id', None) + self.facebook_app_secret = kwargs.get('facebook_app_secret', None) + self.facebook_oauth_scopes = kwargs.get('facebook_oauth_scopes', None) + self.twitter_consumer_key = kwargs.get('twitter_consumer_key', None) + self.twitter_consumer_secret = kwargs.get('twitter_consumer_secret', None) + self.microsoft_account_client_id = kwargs.get('microsoft_account_client_id', None) + self.microsoft_account_client_secret = kwargs.get('microsoft_account_client_secret', None) + self.microsoft_account_oauth_scopes = kwargs.get('microsoft_account_oauth_scopes', None) + + +class SiteCloneability(Model): + """Represents whether or not an app is cloneable. + + :param result: Name of app. Possible values include: 'Cloneable', + 'PartiallyCloneable', 'NotCloneable' + :type result: str or ~azure.mgmt.web.models.CloneAbilityResult + :param blocking_features: List of features enabled on app that prevent + cloning. + :type blocking_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param unsupported_features: List of features enabled on app that are + non-blocking but cannot be cloned. The app can still be cloned + but the features in this list will not be set up on cloned app. + :type unsupported_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param blocking_characteristics: List of blocking application + characteristics. + :type blocking_characteristics: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + """ + + _attribute_map = { + 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, + 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, + } + + def __init__(self, **kwargs): + super(SiteCloneability, self).__init__(**kwargs) + self.result = kwargs.get('result', None) + self.blocking_features = kwargs.get('blocking_features', None) + self.unsupported_features = kwargs.get('unsupported_features', None) + self.blocking_characteristics = kwargs.get('blocking_characteristics', None) + + +class SiteCloneabilityCriterion(Model): + """An app cloneability criterion. + + :param name: Name of criterion. + :type name: str + :param description: Description of criterion. + :type description: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteCloneabilityCriterion, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.windows_fx_version = kwargs.get('windows_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.azure_storage_accounts = kwargs.get('azure_storage_accounts', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.managed_service_identity_id = kwargs.get('managed_service_identity_id', None) + self.x_managed_service_identity_id = kwargs.get('x_managed_service_identity_id', None) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.scm_ip_security_restrictions = kwargs.get('scm_ip_security_restrictions', None) + self.scm_ip_security_restrictions_use_main = kwargs.get('scm_ip_security_restrictions_use_main', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + self.ftps_state = kwargs.get('ftps_state', None) + self.reserved_instance_count = kwargs.get('reserved_instance_count', None) + + +class SiteConfigResource(ProxyOnlyResource): + """Web app configuration ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, + 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'properties.windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'properties.azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, + 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, + 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, + 'push': {'key': 'properties.push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'properties.managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'properties.xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'properties.scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'properties.scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'properties.ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'properties.reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SiteConfigResource, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.windows_fx_version = kwargs.get('windows_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.azure_storage_accounts = kwargs.get('azure_storage_accounts', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.managed_service_identity_id = kwargs.get('managed_service_identity_id', None) + self.x_managed_service_identity_id = kwargs.get('x_managed_service_identity_id', None) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.scm_ip_security_restrictions = kwargs.get('scm_ip_security_restrictions', None) + self.scm_ip_security_restrictions_use_main = kwargs.get('scm_ip_security_restrictions_use_main', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + self.ftps_state = kwargs.get('ftps_state', None) + self.reserved_instance_count = kwargs.get('reserved_instance_count', None) + + +class SiteConfigurationSnapshotInfo(ProxyOnlyResource): + """A snapshot of a web app configuration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: datetime + :ivar snapshot_id: The id of the snapshot + :vartype snapshot_id: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + 'snapshot_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'iso-8601'}, + 'snapshot_id': {'key': 'properties.snapshotId', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SiteConfigurationSnapshotInfo, self).__init__(**kwargs) + self.time = None + self.snapshot_id = None + + +class SiteExtensionInfo(ProxyOnlyResource): + """Site Extension 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param extension_id: Site extension ID. + :type extension_id: str + :param title: + :type title: str + :param extension_type: Site extension type. Possible values include: + 'Gallery', 'WebRoot' + :type extension_type: str or ~azure.mgmt.web.models.SiteExtensionType + :param summary: Summary description. + :type summary: str + :param description: Detailed description. + :type description: str + :param version: Version information. + :type version: str + :param extension_url: Extension URL. + :type extension_url: str + :param project_url: Project URL. + :type project_url: str + :param icon_url: Icon URL. + :type icon_url: str + :param license_url: License URL. + :type license_url: str + :param feed_url: Feed URL. + :type feed_url: str + :param authors: List of authors. + :type authors: list[str] + :param installer_command_line_params: Installer command line parameters. + :type installer_command_line_params: str + :param published_date_time: Published timestamp. + :type published_date_time: datetime + :param download_count: Count of downloads. + :type download_count: int + :param local_is_latest_version: true if the local version is + the latest version; false otherwise. + :type local_is_latest_version: bool + :param local_path: Local path. + :type local_path: str + :param installed_date_time: Installed timestamp. + :type installed_date_time: datetime + :param provisioning_state: Provisioning state. + :type provisioning_state: str + :param comment: Site Extension comment. + :type comment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'extension_id': {'key': 'properties.extension_id', 'type': 'str'}, + 'title': {'key': 'properties.title', 'type': 'str'}, + 'extension_type': {'key': 'properties.extension_type', 'type': 'SiteExtensionType'}, + 'summary': {'key': 'properties.summary', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'extension_url': {'key': 'properties.extension_url', 'type': 'str'}, + 'project_url': {'key': 'properties.project_url', 'type': 'str'}, + 'icon_url': {'key': 'properties.icon_url', 'type': 'str'}, + 'license_url': {'key': 'properties.license_url', 'type': 'str'}, + 'feed_url': {'key': 'properties.feed_url', 'type': 'str'}, + 'authors': {'key': 'properties.authors', 'type': '[str]'}, + 'installer_command_line_params': {'key': 'properties.installer_command_line_params', 'type': 'str'}, + 'published_date_time': {'key': 'properties.published_date_time', 'type': 'iso-8601'}, + 'download_count': {'key': 'properties.download_count', 'type': 'int'}, + 'local_is_latest_version': {'key': 'properties.local_is_latest_version', 'type': 'bool'}, + 'local_path': {'key': 'properties.local_path', 'type': 'str'}, + 'installed_date_time': {'key': 'properties.installed_date_time', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'comment': {'key': 'properties.comment', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteExtensionInfo, self).__init__(**kwargs) + self.extension_id = kwargs.get('extension_id', None) + self.title = kwargs.get('title', None) + self.extension_type = kwargs.get('extension_type', None) + self.summary = kwargs.get('summary', None) + self.description = kwargs.get('description', None) + self.version = kwargs.get('version', None) + self.extension_url = kwargs.get('extension_url', None) + self.project_url = kwargs.get('project_url', None) + self.icon_url = kwargs.get('icon_url', None) + self.license_url = kwargs.get('license_url', None) + self.feed_url = kwargs.get('feed_url', None) + self.authors = kwargs.get('authors', None) + self.installer_command_line_params = kwargs.get('installer_command_line_params', None) + self.published_date_time = kwargs.get('published_date_time', None) + self.download_count = kwargs.get('download_count', None) + self.local_is_latest_version = kwargs.get('local_is_latest_version', None) + self.local_path = kwargs.get('local_path', None) + self.installed_date_time = kwargs.get('installed_date_time', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.comment = kwargs.get('comment', None) + + +class SiteInstance(ProxyOnlyResource): + """Instance of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar site_instance_name: Name of instance. + :vartype site_instance_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'site_instance_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_instance_name': {'key': 'properties.siteInstanceName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteInstance, self).__init__(**kwargs) + self.site_instance_name = None + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteLogsConfig(ProxyOnlyResource): + """Configuration of App Service site logs. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param application_logs: Application logs configuration. + :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig + :param http_logs: HTTP logs configuration. + :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig + :param failed_requests_tracing: Failed requests tracing configuration. + :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig + :param detailed_error_messages: Detailed error messages configuration. + :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, + 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, + 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, + 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, + } + + def __init__(self, **kwargs): + super(SiteLogsConfig, self).__init__(**kwargs) + self.application_logs = kwargs.get('application_logs', None) + self.http_logs = kwargs.get('http_logs', None) + self.failed_requests_tracing = kwargs.get('failed_requests_tracing', None) + self.detailed_error_messages = kwargs.get('detailed_error_messages', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SitePatchResource(ProxyOnlyResource): + """ARM resource for a site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(SitePatchResource, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.client_cert_exclusion_paths = kwargs.get('client_cert_exclusion_paths', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.redundancy_mode = kwargs.get('redundancy_mode', None) + self.in_progress_operation_id = None + self.geo_distributions = kwargs.get('geo_distributions', None) + self.identity = kwargs.get('identity', None) + + +class SitePhpErrorLogFlag(ProxyOnlyResource): + """Used for getting PHP error logging flag. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param local_log_errors: Local log_errors setting. + :type local_log_errors: str + :param master_log_errors: Master log_errors setting. + :type master_log_errors: str + :param local_log_errors_max_length: Local log_errors_max_len setting. + :type local_log_errors_max_length: str + :param master_log_errors_max_length: Master log_errors_max_len setting. + :type master_log_errors_max_length: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, + 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, + 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, + 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SitePhpErrorLogFlag, self).__init__(**kwargs) + self.local_log_errors = kwargs.get('local_log_errors', None) + self.master_log_errors = kwargs.get('master_log_errors', None) + self.local_log_errors_max_length = kwargs.get('local_log_errors_max_length', None) + self.master_log_errors_max_length = kwargs.get('master_log_errors_max_length', None) + + +class SiteSeal(Model): + """Site seal. + + All required parameters must be populated in order to send to Azure. + + :param html: Required. HTML snippet + :type html: str + """ + + _validation = { + 'html': {'required': True}, + } + + _attribute_map = { + 'html': {'key': 'html', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteSeal, self).__init__(**kwargs) + self.html = kwargs.get('html', None) + + +class SiteSealRequest(Model): + """Site seal request. + + :param light_theme: If true use the light color theme for + site seal; otherwise, use the default color theme. + :type light_theme: bool + :param locale: Locale of site seal. + :type locale: str + """ + + _attribute_map = { + 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, + 'locale': {'key': 'locale', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteSealRequest, self).__init__(**kwargs) + self.light_theme = kwargs.get('light_theme', None) + self.locale = kwargs.get('locale', None) + + +class SiteSourceControl(ProxyOnlyResource): + """Source control configuration for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param repo_url: Repository or source control URL. + :type repo_url: str + :param branch: Name of branch to use for deployment. + :type branch: str + :param is_manual_integration: true to limit to manual + integration; false to enable continuous integration (which + configures webhooks into online repos like GitHub). + :type is_manual_integration: bool + :param deployment_rollback_enabled: true to enable deployment + rollback; otherwise, false. + :type deployment_rollback_enabled: bool + :param is_mercurial: true for a Mercurial repository; + false for a Git repository. + :type is_mercurial: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, + 'branch': {'key': 'properties.branch', 'type': 'str'}, + 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, + 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, + 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SiteSourceControl, self).__init__(**kwargs) + self.repo_url = kwargs.get('repo_url', None) + self.branch = kwargs.get('branch', None) + self.is_manual_integration = kwargs.get('is_manual_integration', None) + self.deployment_rollback_enabled = kwargs.get('deployment_rollback_enabled', None) + self.is_mercurial = kwargs.get('is_mercurial', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SkuInfo(Model): + """SKU discovery information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param sku: Name and tier of the SKU. + :type sku: ~azure.mgmt.web.models.SkuDescription + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + } + + def __init__(self, **kwargs): + super(SkuInfo, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.sku = kwargs.get('sku', None) + self.capacity = kwargs.get('capacity', None) + + +class SkuInfos(Model): + """Collection of SKU information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param skus: List of SKUs the subscription is able to use. + :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, + } + + def __init__(self, **kwargs): + super(SkuInfos, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.skus = kwargs.get('skus', None) + + +class SlotConfigNamesResource(ProxyOnlyResource): + """Slot Config names azure 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string_names: List of connection string names. + :type connection_string_names: list[str] + :param app_setting_names: List of application settings names. + :type app_setting_names: list[str] + :param azure_storage_config_names: List of external Azure storage account + identifiers. + :type azure_storage_config_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, + 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, + 'azure_storage_config_names': {'key': 'properties.azureStorageConfigNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(SlotConfigNamesResource, self).__init__(**kwargs) + self.connection_string_names = kwargs.get('connection_string_names', None) + self.app_setting_names = kwargs.get('app_setting_names', None) + self.azure_storage_config_names = kwargs.get('azure_storage_config_names', None) + + +class SlotDifference(ProxyOnlyResource): + """A setting difference between two deployment slots of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar level: Level of the difference: Information, Warning or Error. + :vartype level: str + :ivar setting_type: The type of the setting: General, AppSetting or + ConnectionString. + :vartype setting_type: str + :ivar diff_rule: Rule that describes how to process the setting difference + during a slot swap. + :vartype diff_rule: str + :ivar setting_name: Name of the setting. + :vartype setting_name: str + :ivar value_in_current_slot: Value of the setting in the current slot. + :vartype value_in_current_slot: str + :ivar value_in_target_slot: Value of the setting in the target slot. + :vartype value_in_target_slot: str + :ivar description: Description of the setting difference. + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'level': {'readonly': True}, + 'setting_type': {'readonly': True}, + 'diff_rule': {'readonly': True}, + 'setting_name': {'readonly': True}, + 'value_in_current_slot': {'readonly': True}, + 'value_in_target_slot': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'str'}, + 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, + 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, + 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, + 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, + 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotDifference, self).__init__(**kwargs) + self.level = None + self.setting_type = None + self.diff_rule = None + self.setting_name = None + self.value_in_current_slot = None + self.value_in_target_slot = None + self.description = None + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Snapshot, self).__init__(**kwargs) + self.time = None + + +class SnapshotRecoverySource(Model): + """Specifies the web app that snapshot contents will be retrieved from. + + :param location: Geographical location of the source web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the source app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SnapshotRecoverySource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.id = kwargs.get('id', None) + + +class SnapshotRestoreRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app restore should be + done, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_source: Optional. Specifies the web app that snapshot + contents will be retrieved from. + If empty, the targeted web app will be used as the source. + :type recovery_source: ~azure.mgmt.web.models.SnapshotRecoverySource + :param overwrite: Required. If true the restore operation can + overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + :param use_dr_secondary: If true, the snapshot is retrieved from + DRSecondary endpoint. + :type use_dr_secondary: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_source': {'key': 'properties.recoverySource', 'type': 'SnapshotRecoverySource'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SnapshotRestoreRequest, self).__init__(**kwargs) + self.snapshot_time = kwargs.get('snapshot_time', None) + self.recovery_source = kwargs.get('recovery_source', None) + self.overwrite = kwargs.get('overwrite', None) + self.recover_configuration = kwargs.get('recover_configuration', None) + self.ignore_conflicting_host_names = kwargs.get('ignore_conflicting_host_names', None) + self.use_dr_secondary = kwargs.get('use_dr_secondary', None) + + +class Solution(Model): + """Class Representing Solution for problems detected. + + :param id: Solution Id. + :type id: float + :param display_name: Display Name of the solution + :type display_name: str + :param order: Order of the solution. + :type order: float + :param description: Description of the solution + :type description: str + :param type: Type of Solution. Possible values include: 'QuickSolution', + 'DeepInvestigation', 'BestPractices' + :type type: str or ~azure.mgmt.web.models.SolutionType + :param data: Solution Data. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param metadata: Solution Metadata. + :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'float'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'float'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'SolutionType'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, + } + + def __init__(self, **kwargs): + super(Solution, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.display_name = kwargs.get('display_name', None) + self.order = kwargs.get('order', None) + self.description = kwargs.get('description', None) + self.type = kwargs.get('type', None) + self.data = kwargs.get('data', None) + self.metadata = kwargs.get('metadata', None) + + +class SourceControl(ProxyOnlyResource): + """The source control OAuth token. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param token: OAuth access token. + :type token: str + :param token_secret: OAuth access token secret. + :type token_secret: str + :param refresh_token: OAuth refresh token. + :type refresh_token: str + :param expiration_time: OAuth token expiration. + :type expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'token': {'key': 'properties.token', 'type': 'str'}, + 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, + 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SourceControl, self).__init__(**kwargs) + self.token = kwargs.get('token', None) + self.token_secret = kwargs.get('token_secret', None) + self.refresh_token = kwargs.get('refresh_token', None) + self.expiration_time = kwargs.get('expiration_time', None) + + +class StackMajorVersion(Model): + """Application stack major version. + + :param display_version: Application stack major version (display only). + :type display_version: str + :param runtime_version: Application stack major version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default major version; + otherwise, false. + :type is_default: bool + :param minor_versions: Minor versions associated with the major version. + :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] + :param application_insights: true if this supports + Application Insights; otherwise, false. + :type application_insights: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, + 'application_insights': {'key': 'applicationInsights', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StackMajorVersion, self).__init__(**kwargs) + self.display_version = kwargs.get('display_version', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.is_default = kwargs.get('is_default', None) + self.minor_versions = kwargs.get('minor_versions', None) + self.application_insights = kwargs.get('application_insights', None) + + +class StackMinorVersion(Model): + """Application stack minor version. + + :param display_version: Application stack minor version (display only). + :type display_version: str + :param runtime_version: Application stack minor version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default minor version; + otherwise, false. + :type is_default: bool + :param is_remote_debugging_enabled: true if this supports + Remote Debugging, otherwise false. + :type is_remote_debugging_enabled: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'is_remote_debugging_enabled': {'key': 'isRemoteDebuggingEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StackMinorVersion, self).__init__(**kwargs) + self.display_version = kwargs.get('display_version', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.is_default = kwargs.get('is_default', None) + self.is_remote_debugging_enabled = kwargs.get('is_remote_debugging_enabled', None) + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'Default' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + :param is_linux: Is this a linux stamp capacity + :type is_linux: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + 'is_linux': {'key': 'isLinux', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StampCapacity, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.available_capacity = kwargs.get('available_capacity', None) + self.total_capacity = kwargs.get('total_capacity', None) + self.unit = kwargs.get('unit', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.exclude_from_capacity_allocation = kwargs.get('exclude_from_capacity_allocation', None) + self.is_applicable_for_all_compute_modes = kwargs.get('is_applicable_for_all_compute_modes', None) + self.site_mode = kwargs.get('site_mode', None) + self.is_linux = kwargs.get('is_linux', None) + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class StorageMigrationOptions(ProxyOnlyResource): + """Options for app content migration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param azurefiles_connection_string: Required. AzureFiles connection + string. + :type azurefiles_connection_string: str + :param azurefiles_share: Required. AzureFiles share. + :type azurefiles_share: str + :param switch_site_after_migration: trueif the app should be + switched over; otherwise, false. Default value: False . + :type switch_site_after_migration: bool + :param block_write_access_to_site: true if the app should be + read only during copy operation; otherwise, false. Default + value: False . + :type block_write_access_to_site: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'azurefiles_connection_string': {'required': True}, + 'azurefiles_share': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, + 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, + 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, + 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StorageMigrationOptions, self).__init__(**kwargs) + self.azurefiles_connection_string = kwargs.get('azurefiles_connection_string', None) + self.azurefiles_share = kwargs.get('azurefiles_share', None) + self.switch_site_after_migration = kwargs.get('switch_site_after_migration', False) + self.block_write_access_to_site = kwargs.get('block_write_access_to_site', False) + + +class StorageMigrationResponse(ProxyOnlyResource): + """Response for a migration of app content request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the migration process, it will + return an operation ID identifying that particular migration operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StorageMigrationResponse, self).__init__(**kwargs) + self.operation_id = None + + +class StringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Settings. + :type properties: 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'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(StringDictionary, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class SwiftVirtualNetwork(ProxyOnlyResource): + """Swift Virtual Network Contract. This is used to enable the new Swift way of + doing virtual network integration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param subnet_resource_id: The Virtual Network subnet's resource ID. This + is the subnet that this Web App will join. This subnet must have a + delegation to Microsoft.Web/serverFarms defined first. + :type subnet_resource_id: str + :param swift_supported: A flag that specifies if the scale unit this Web + App is on supports Swift integration. + :type swift_supported: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet_resource_id': {'key': 'properties.subnetResourceId', 'type': 'str'}, + 'swift_supported': {'key': 'properties.swiftSupported', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(SwiftVirtualNetwork, self).__init__(**kwargs) + self.subnet_resource_id = kwargs.get('subnet_resource_id', None) + self.swift_supported = kwargs.get('swift_supported', None) + + +class TldLegalAgreement(Model): + """Legal agreement for a top level domain. + + All required parameters must be populated in order to send to Azure. + + :param agreement_key: Required. Unique identifier for the agreement. + :type agreement_key: str + :param title: Required. Agreement title. + :type title: str + :param content: Required. Agreement details. + :type content: str + :param url: URL where a copy of the agreement details is hosted. + :type url: str + """ + + _validation = { + 'agreement_key': {'required': True}, + 'title': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TldLegalAgreement, self).__init__(**kwargs) + self.agreement_key = kwargs.get('agreement_key', None) + self.title = kwargs.get('title', None) + self.content = kwargs.get('content', None) + self.url = kwargs.get('url', None) + + +class TopLevelDomain(ProxyOnlyResource): + """A top level domain object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param privacy: If true, then the top level domain supports + domain privacy; otherwise, false. + :type privacy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TopLevelDomain, self).__init__(**kwargs) + self.privacy = kwargs.get('privacy', None) + + +class TopLevelDomainAgreementOption(Model): + """Options for retrieving the list of top level domain legal agreements. + + :param include_privacy: If true, then the list of agreements + will include agreements for domain privacy as well; otherwise, + false. + :type include_privacy: bool + :param for_transfer: If true, then the list of agreements + will include agreements for domain transfer as well; otherwise, + false. + :type for_transfer: bool + """ + + _attribute_map = { + 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, + 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TopLevelDomainAgreementOption, self).__init__(**kwargs) + self.include_privacy = kwargs.get('include_privacy', None) + self.for_transfer = kwargs.get('for_transfer', None) + + +class TriggeredJobHistory(ProxyOnlyResource): + """Triggered Web Job History. List of Triggered Web Job Run Information + elements. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param runs: List of triggered web job runs. + :type runs: list[~azure.mgmt.web.models.TriggeredJobRun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'runs': {'key': 'properties.runs', 'type': '[TriggeredJobRun]'}, + } + + def __init__(self, **kwargs): + super(TriggeredJobHistory, self).__init__(**kwargs) + self.runs = kwargs.get('runs', None) + + +class TriggeredJobRun(ProxyOnlyResource): + """Triggered Web Job Run 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param web_job_id: Job ID. + :type web_job_id: str + :param web_job_name: Job name. + :type web_job_name: str + :param status: Job status. Possible values include: 'Success', 'Failed', + 'Error' + :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param duration: Job duration. + :type duration: str + :param output_url: Output URL. + :type output_url: str + :param error_url: Error URL. + :type error_url: str + :param url: Job URL. + :type url: str + :param job_name: Job name. + :type job_name: str + :param trigger: Job trigger. + :type trigger: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'web_job_id': {'key': 'properties.web_job_id', 'type': 'str'}, + 'web_job_name': {'key': 'properties.web_job_name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, + 'duration': {'key': 'properties.duration', 'type': 'str'}, + 'output_url': {'key': 'properties.output_url', 'type': 'str'}, + 'error_url': {'key': 'properties.error_url', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'job_name': {'key': 'properties.job_name', 'type': 'str'}, + 'trigger': {'key': 'properties.trigger', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TriggeredJobRun, self).__init__(**kwargs) + self.web_job_id = kwargs.get('web_job_id', None) + self.web_job_name = kwargs.get('web_job_name', None) + self.status = kwargs.get('status', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.duration = kwargs.get('duration', None) + self.output_url = kwargs.get('output_url', None) + self.error_url = kwargs.get('error_url', None) + self.url = kwargs.get('url', None) + self.job_name = kwargs.get('job_name', None) + self.trigger = kwargs.get('trigger', None) + + +class TriggeredWebJob(ProxyOnlyResource): + """Triggered Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param latest_run: Latest job run information. + :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun + :param history_url: History URL. + :type history_url: str + :param scheduler_logs_url: Scheduler Logs URL. + :type scheduler_logs_url: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'latest_run': {'key': 'properties.latest_run', 'type': 'TriggeredJobRun'}, + 'history_url': {'key': 'properties.history_url', 'type': 'str'}, + 'scheduler_logs_url': {'key': 'properties.scheduler_logs_url', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(TriggeredWebJob, self).__init__(**kwargs) + self.latest_run = kwargs.get('latest_run', None) + self.history_url = kwargs.get('history_url', None) + self.scheduler_logs_url = kwargs.get('scheduler_logs_url', None) + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.web_job_type = kwargs.get('web_job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) + + +class Usage(ProxyOnlyResource): + """Usage of the quota 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + :ivar resource_name: Name of the quota resource. + :vartype resource_name: str + :ivar unit: Units of measurement for the quota resource. + :vartype unit: str + :ivar current_value: The current value of the resource counter. + :vartype current_value: long + :ivar limit: The resource limit. + :vartype limit: long + :ivar next_reset_time: Next reset time for the resource counter. + :vartype next_reset_time: datetime + :ivar compute_mode: Compute mode used for this usage. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :ivar site_mode: Site mode used for this usage. + :vartype site_mode: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + 'compute_mode': {'readonly': True}, + 'site_mode': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, + 'limit': {'key': 'properties.limit', 'type': 'long'}, + 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.display_name = None + self.resource_name = None + self.unit = None + self.current_value = None + self.limit = None + self.next_reset_time = None + self.compute_mode = None + self.site_mode = None + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + :param scm_uri: Url of SCM site. + :type scm_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + self.scm_uri = kwargs.get('scm_uri', None) + + +class ValidateContainerSettingsRequest(Model): + """Container settings validation request context. + + :param base_url: Base URL of the container registry + :type base_url: str + :param username: Username for to access the container registry + :type username: str + :param password: Password for to access the container registry + :type password: str + :param repository: Repository name (image name) + :type repository: str + :param tag: Image tag + :type tag: str + :param platform: Platform (windows or linux) + :type platform: str + """ + + _attribute_map = { + 'base_url': {'key': 'baseUrl', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateContainerSettingsRequest, self).__init__(**kwargs) + self.base_url = kwargs.get('base_url', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.repository = kwargs.get('repository', None) + self.tag = kwargs.get('tag', None) + self.platform = kwargs.get('platform', None) + + +class ValidateRequest(Model): + """Resource validation request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'ServerFarm', 'Site' + :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes + :param location: Required. Expected location of the resource. + :type location: str + :param server_farm_id: ARM resource ID of an App Service plan that would + host the app. + :type server_farm_id: str + :param sku_name: Name of the target SKU for the App Service plan. + :type sku_name: str + :param need_linux_workers: true if App Service plan is for + Linux workers; otherwise, false. + :type need_linux_workers: bool + :param is_spot: true if App Service plan is for Spot + instances; otherwise, false. + :type is_spot: bool + :param capacity: Target capacity of the App Service plan (number of VMs). + :type capacity: int + :param hosting_environment: Name of App Service Environment where app or + App Service plan should be created. + :type hosting_environment: str + :param is_xenon: true if App Service plan is running as a + windows container + :type is_xenon: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'location': {'required': True}, + 'capacity': {'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, + 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'int'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ValidateRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.location = kwargs.get('location', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.sku_name = kwargs.get('sku_name', None) + self.need_linux_workers = kwargs.get('need_linux_workers', None) + self.is_spot = kwargs.get('is_spot', None) + self.capacity = kwargs.get('capacity', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.is_xenon = kwargs.get('is_xenon', None) + + +class ValidateResponse(Model): + """Describes the result of resource validation. + + :param status: Result of validation. + :type status: str + :param error: Error details for the case when validation fails. + :type error: ~azure.mgmt.web.models.ValidateResponseError + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ValidateResponseError'}, + } + + def __init__(self, **kwargs): + super(ValidateResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) + + +class ValidateResponseError(Model): + """Error details for when validation fails. + + :param code: Validation error code. + :type code: str + :param message: Validation error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ValidateResponseError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.internal_http_port = kwargs.get('internal_http_port', None) + self.internal_https_port = kwargs.get('internal_https_port', None) + self.in_use = kwargs.get('in_use', None) + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.subnet = kwargs.get('subnet', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: str + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + :param is_swift: Flag that is used to denote if this is VNET injection + :type is_swift: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + self.is_swift = kwargs.get('is_swift', None) + + +class VnetParameters(ProxyOnlyResource): + """The required set of inputs to validate a VNET. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_group: The Resource Group of the VNET to be validated + :type vnet_resource_group: str + :param vnet_name: The name of the VNET to be validated + :type vnet_name: str + :param vnet_subnet_name: The subnet name to be validated + :type vnet_subnet_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetParameters, self).__init__(**kwargs) + self.vnet_resource_group = kwargs.get('vnet_resource_group', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.vnet_subnet_name = kwargs.get('vnet_subnet_name', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) + + +class VnetValidationFailureDetails(ProxyOnlyResource): + """A class that describes the reason for a validation failure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param failed: A flag describing whether or not validation failed. + :type failed: bool + :param failed_tests: A list of tests that failed in the validation. + :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'failed': {'key': 'properties.failed', 'type': 'bool'}, + 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, + } + + def __init__(self, **kwargs): + super(VnetValidationFailureDetails, self).__init__(**kwargs) + self.failed = kwargs.get('failed', None) + self.failed_tests = kwargs.get('failed_tests', None) + + +class VnetValidationTestFailure(ProxyOnlyResource): + """A class that describes a test that failed during NSG and UDR validation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param test_name: The name of the test that failed. + :type test_name: str + :param details: The details of what caused the failure, e.g. the blocking + rule name, etc. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'test_name': {'key': 'properties.testName', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetValidationTestFailure, self).__init__(**kwargs) + self.test_name = kwargs.get('test_name', None) + self.details = kwargs.get('details', None) + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(WebAppCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class WebJob(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, **kwargs): + super(WebJob, self).__init__(**kwargs) + self.run_command = kwargs.get('run_command', None) + self.url = kwargs.get('url', None) + self.extra_info_url = kwargs.get('extra_info_url', None) + self.web_job_type = kwargs.get('web_job_type', None) + self.error = kwargs.get('error', None) + self.using_sdk = kwargs.get('using_sdk', None) + self.settings = kwargs.get('settings', None) + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_count = kwargs.get('worker_count', None) + self.instance_names = None + + +class WorkerPoolResource(ProxyOnlyResource): + """Worker pool of an App Service Environment ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, + 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, + 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(WorkerPoolResource, self).__init__(**kwargs) + self.worker_size_id = kwargs.get('worker_size_id', None) + self.compute_mode = kwargs.get('compute_mode', None) + self.worker_size = kwargs.get('worker_size', None) + self.worker_count = kwargs.get('worker_count', None) + self.instance_names = None + self.sku = kwargs.get('sku', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models_py3.py new file mode 100644 index 000000000000..8d30f86872c4 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_models_py3.py @@ -0,0 +1,12124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 AbnormalTimePeriod(Model): + """Class representing Abnormal Time Period identified in diagnosis. + + :param start_time: Start time of the downtime + :type start_time: datetime + :param end_time: End time of the downtime + :type end_time: datetime + :param events: List of Possible Cause of downtime + :type events: list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'events': {'key': 'events', 'type': '[DetectorAbnormalTimePeriod]'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, *, start_time=None, end_time=None, events=None, solutions=None, **kwargs) -> None: + super(AbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.events = events + self.solutions = solutions + + +class Address(Model): + """Address information for domain registration. + + All required parameters must be populated in order to send to Azure. + + :param address1: Required. First line of an Address. + :type address1: str + :param address2: The second line of the Address. Optional. + :type address2: str + :param city: Required. The city for the address. + :type city: str + :param country: Required. The country for the address. + :type country: str + :param postal_code: Required. The postal code for the address. + :type postal_code: str + :param state: Required. The state or province for the address. + :type state: str + """ + + _validation = { + 'address1': {'required': True}, + 'city': {'required': True}, + 'country': {'required': True}, + 'postal_code': {'required': True}, + 'state': {'required': True}, + } + + _attribute_map = { + 'address1': {'key': 'address1', 'type': 'str'}, + 'address2': {'key': 'address2', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, address1: str, city: str, country: str, postal_code: str, state: str, address2: str=None, **kwargs) -> None: + super(Address, self).__init__(**kwargs) + self.address1 = address1 + self.address2 = address2 + self.city = city + self.country = country + self.postal_code = postal_code + self.state = state + + +class AddressResponse(Model): + """Describes main public IP address and any extra virtual IPs. + + :param service_ip_address: Main public virtual IP. + :type service_ip_address: str + :param internal_ip_address: Virtual Network internal IP address of the App + Service Environment if it is in internal load-balancing mode. + :type internal_ip_address: str + :param outbound_ip_addresses: IP addresses appearing on outbound + connections. + :type outbound_ip_addresses: list[str] + :param vip_mappings: Additional virtual IPs. + :type vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + """ + + _attribute_map = { + 'service_ip_address': {'key': 'serviceIpAddress', 'type': 'str'}, + 'internal_ip_address': {'key': 'internalIpAddress', 'type': 'str'}, + 'outbound_ip_addresses': {'key': 'outboundIpAddresses', 'type': '[str]'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + } + + def __init__(self, *, service_ip_address: str=None, internal_ip_address: str=None, outbound_ip_addresses=None, vip_mappings=None, **kwargs) -> None: + super(AddressResponse, self).__init__(**kwargs) + self.service_ip_address = service_ip_address + self.internal_ip_address = internal_ip_address + self.outbound_ip_addresses = outbound_ip_addresses + self.vip_mappings = vip_mappings + + +class AnalysisData(Model): + """Class Representing Detector Evidence used for analysis. + + :param source: Name of the Detector + :type source: str + :param detector_definition: Detector Definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Source Metrics + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param data: Additional Source Data + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param detector_meta_data: Detector Meta Data + :type detector_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _attribute_map = { + 'source': {'key': 'source', 'type': 'str'}, + 'detector_definition': {'key': 'detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'metrics', 'type': '[DiagnosticMetricSet]'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'detector_meta_data': {'key': 'detectorMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, *, source: str=None, detector_definition=None, metrics=None, data=None, detector_meta_data=None, **kwargs) -> None: + super(AnalysisData, self).__init__(**kwargs) + self.source = source + self.detector_definition = detector_definition + self.metrics = metrics + self.data = data + self.detector_meta_data = detector_meta_data + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class AnalysisDefinition(ProxyOnlyResource): + """Definition of Analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the Analysis + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(AnalysisDefinition, self).__init__(kind=kind, **kwargs) + self.description = None + + +class ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class ApplicationLogsConfig(Model): + """Application logs configuration. + + :param file_system: Application logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemApplicationLogsConfig + :param azure_table_storage: Application logs to azure table storage + configuration. + :type azure_table_storage: + ~azure.mgmt.web.models.AzureTableStorageApplicationLogsConfig + :param azure_blob_storage: Application logs to blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageApplicationLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemApplicationLogsConfig'}, + 'azure_table_storage': {'key': 'azureTableStorage', 'type': 'AzureTableStorageApplicationLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageApplicationLogsConfig'}, + } + + def __init__(self, *, file_system=None, azure_table_storage=None, azure_blob_storage=None, **kwargs) -> None: + super(ApplicationLogsConfig, self).__init__(**kwargs) + self.file_system = file_system + self.azure_table_storage = azure_table_storage + self.azure_blob_storage = azure_blob_storage + + +class ApplicationStack(Model): + """Application stack. + + :param name: Application stack name. + :type name: str + :param display: Application stack display name. + :type display: str + :param dependency: Application stack dependency. + :type dependency: str + :param major_versions: List of major versions available. + :type major_versions: list[~azure.mgmt.web.models.StackMajorVersion] + :param frameworks: List of frameworks associated with application stack. + :type frameworks: list[~azure.mgmt.web.models.ApplicationStack] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'str'}, + 'dependency': {'key': 'dependency', 'type': 'str'}, + 'major_versions': {'key': 'majorVersions', 'type': '[StackMajorVersion]'}, + 'frameworks': {'key': 'frameworks', 'type': '[ApplicationStack]'}, + } + + def __init__(self, *, name: str=None, display: str=None, dependency: str=None, major_versions=None, frameworks=None, **kwargs) -> None: + super(ApplicationStack, self).__init__(**kwargs) + self.name = name + self.display = display + self.dependency = dependency + self.major_versions = major_versions + self.frameworks = frameworks + + +class AppServiceCertificate(Model): + """Key Vault container for a certificate that is purchased through Azure. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificate, self).__init__(**kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServiceCertificateOrder(Resource): + """SSL certificate purchase order. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, location: str, product_type, kind: str=None, tags=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: + super(AppServiceCertificateOrder, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.certificates = certificates + self.distinguished_name = distinguished_name + self.domain_verification_token = None + self.validity_in_years = validity_in_years + self.key_size = key_size + self.product_type = product_type + self.auto_renew = auto_renew + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = csr + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificateOrderPatchResource(ProxyOnlyResource): + """ARM resource for a certificate order that is purchased through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param certificates: State of the Key Vault secret. + :type certificates: dict[str, + ~azure.mgmt.web.models.AppServiceCertificate] + :param distinguished_name: Certificate distinguished name. + :type distinguished_name: str + :ivar domain_verification_token: Domain verification token. + :vartype domain_verification_token: str + :param validity_in_years: Duration in years (must be between 1 and 3). + Default value: 1 . + :type validity_in_years: int + :param key_size: Certificate key size. Default value: 2048 . + :type key_size: int + :param product_type: Required. Certificate product type. Possible values + include: 'StandardDomainValidatedSsl', + 'StandardDomainValidatedWildCardSsl' + :type product_type: str or ~azure.mgmt.web.models.CertificateProductType + :param auto_renew: true if the certificate should be + automatically renewed when it expires; otherwise, false. + Default value: True . + :type auto_renew: bool + :ivar provisioning_state: Status of certificate order. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current order status. Possible values include: + 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', + 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + :vartype status: str or ~azure.mgmt.web.models.CertificateOrderStatus + :ivar signed_certificate: Signed certificate. + :vartype signed_certificate: ~azure.mgmt.web.models.CertificateDetails + :param csr: Last CSR that was created for this order. + :type csr: str + :ivar intermediate: Intermediate certificate. + :vartype intermediate: ~azure.mgmt.web.models.CertificateDetails + :ivar root: Root certificate. + :vartype root: ~azure.mgmt.web.models.CertificateDetails + :ivar serial_number: Current serial number of the certificate. + :vartype serial_number: str + :ivar last_certificate_issuance_time: Certificate last issuance time. + :vartype last_certificate_issuance_time: datetime + :ivar expiration_time: Certificate expiration time. + :vartype expiration_time: datetime + :ivar is_private_key_external: true if private key is + external; otherwise, false. + :vartype is_private_key_external: bool + :ivar app_service_certificate_not_renewable_reasons: Reasons why App + Service Certificate is not renewable at the current moment. + :vartype app_service_certificate_not_renewable_reasons: list[str] + :ivar next_auto_renewal_time_stamp: Time stamp when the certificate would + be auto renewed next + :vartype next_auto_renewal_time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'domain_verification_token': {'readonly': True}, + 'validity_in_years': {'maximum': 3, 'minimum': 1}, + 'product_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'signed_certificate': {'readonly': True}, + 'intermediate': {'readonly': True}, + 'root': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'last_certificate_issuance_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'is_private_key_external': {'readonly': True}, + 'app_service_certificate_not_renewable_reasons': {'readonly': True}, + 'next_auto_renewal_time_stamp': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'certificates': {'key': 'properties.certificates', 'type': '{AppServiceCertificate}'}, + 'distinguished_name': {'key': 'properties.distinguishedName', 'type': 'str'}, + 'domain_verification_token': {'key': 'properties.domainVerificationToken', 'type': 'str'}, + 'validity_in_years': {'key': 'properties.validityInYears', 'type': 'int'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'product_type': {'key': 'properties.productType', 'type': 'CertificateProductType'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'CertificateOrderStatus'}, + 'signed_certificate': {'key': 'properties.signedCertificate', 'type': 'CertificateDetails'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'intermediate': {'key': 'properties.intermediate', 'type': 'CertificateDetails'}, + 'root': {'key': 'properties.root', 'type': 'CertificateDetails'}, + 'serial_number': {'key': 'properties.serialNumber', 'type': 'str'}, + 'last_certificate_issuance_time': {'key': 'properties.lastCertificateIssuanceTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + 'app_service_certificate_not_renewable_reasons': {'key': 'properties.appServiceCertificateNotRenewableReasons', 'type': '[str]'}, + 'next_auto_renewal_time_stamp': {'key': 'properties.nextAutoRenewalTimeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, product_type, kind: str=None, certificates=None, distinguished_name: str=None, validity_in_years: int=1, key_size: int=2048, auto_renew: bool=True, csr: str=None, **kwargs) -> None: + super(AppServiceCertificateOrderPatchResource, self).__init__(kind=kind, **kwargs) + self.certificates = certificates + self.distinguished_name = distinguished_name + self.domain_verification_token = None + self.validity_in_years = validity_in_years + self.key_size = key_size + self.product_type = product_type + self.auto_renew = auto_renew + self.provisioning_state = None + self.status = None + self.signed_certificate = None + self.csr = csr + self.intermediate = None + self.root = None + self.serial_number = None + self.last_certificate_issuance_time = None + self.expiration_time = None + self.is_private_key_external = None + self.app_service_certificate_not_renewable_reasons = None + self.next_auto_renewal_time_stamp = None + + +class AppServiceCertificatePatchResource(ProxyOnlyResource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, kind: str=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificatePatchResource, self).__init__(kind=kind, **kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class AppServiceCertificateResource(Resource): + """Key Vault container ARM resource for a certificate that is purchased + through Azure. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param key_vault_id: Key Vault resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar provisioning_state: Status of the Key Vault secret. Possible values + include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'KeyVaultSecretStatus'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, key_vault_id: str=None, key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceCertificateResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.provisioning_state = None + + +class AppServiceEnvironment(Model): + """Description of an App Service Environment. + + 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 name: Required. Name of the App Service Environment. + :type name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, *, name: str, location: str, virtual_network, worker_pools, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceEnvironment, self).__init__(**kwargs) + self.name = name + self.location = location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + self.has_linux_workers = has_linux_workers + self.ssl_cert_key_vault_id = ssl_cert_key_vault_id + self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name + + +class AppServiceEnvironmentPatchResource(ProxyOnlyResource): + """ARM resource for a app service environment. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param app_service_environment_patch_resource_name: Required. Name of the + App Service Environment. + :type app_service_environment_patch_resource_name: str + :param location: Required. Location of the App Service Environment, e.g. + "West US". + :type location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'app_service_environment_patch_resource_name': {'required': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'app_service_environment_patch_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, *, app_service_environment_patch_resource_name: str, location: str, virtual_network, worker_pools, kind: str=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceEnvironmentPatchResource, self).__init__(kind=kind, **kwargs) + self.app_service_environment_patch_resource_name = app_service_environment_patch_resource_name + self.location = location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + self.has_linux_workers = has_linux_workers + self.ssl_cert_key_vault_id = ssl_cert_key_vault_id + self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name + + +class AppServiceEnvironmentResource(Resource): + """App Service Environment ARM resource. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param app_service_environment_resource_name: Required. Name of the App + Service Environment. + :type app_service_environment_resource_name: str + :param app_service_environment_resource_location: Required. Location of + the App Service Environment, e.g. "West US". + :type app_service_environment_resource_location: str + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar status: Current status of the App Service Environment. Possible + values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + :vartype status: str or ~azure.mgmt.web.models.HostingEnvironmentStatus + :param vnet_name: Name of the Virtual Network for the App Service + Environment. + :type vnet_name: str + :param vnet_resource_group_name: Resource group of the Virtual Network. + :type vnet_resource_group_name: str + :param vnet_subnet_name: Subnet of the Virtual Network. + :type vnet_subnet_name: str + :param virtual_network: Required. Description of the Virtual Network. + :type virtual_network: ~azure.mgmt.web.models.VirtualNetworkProfile + :param internal_load_balancing_mode: Specifies which endpoints to serve + internally in the Virtual Network for the App Service Environment. + Possible values include: 'None', 'Web', 'Publishing' + :type internal_load_balancing_mode: str or + ~azure.mgmt.web.models.InternalLoadBalancingMode + :param multi_size: Front-end VM size, e.g. "Medium", "Large". + :type multi_size: str + :param multi_role_count: Number of front-end instances. + :type multi_role_count: int + :param worker_pools: Required. Description of worker pools with worker + size IDs, VM sizes, and number of workers in each pool. + :type worker_pools: list[~azure.mgmt.web.models.WorkerPool] + :param ipssl_address_count: Number of IP SSL addresses reserved for the + App Service Environment. + :type ipssl_address_count: int + :ivar database_edition: Edition of the metadata database for the App + Service Environment, e.g. "Standard". + :vartype database_edition: str + :ivar database_service_objective: Service objective of the metadata + database for the App Service Environment, e.g. "S0". + :vartype database_service_objective: str + :ivar upgrade_domains: Number of upgrade domains of the App Service + Environment. + :vartype upgrade_domains: int + :ivar subscription_id: Subscription of the App Service Environment. + :vartype subscription_id: str + :param dns_suffix: DNS suffix of the App Service Environment. + :type dns_suffix: str + :ivar last_action: Last deployment action on the App Service Environment. + :vartype last_action: str + :ivar last_action_result: Result of the last deployment action on the App + Service Environment. + :vartype last_action_result: str + :ivar allowed_multi_sizes: List of comma separated strings describing + which VM sizes are allowed for front-ends. + :vartype allowed_multi_sizes: str + :ivar allowed_worker_sizes: List of comma separated strings describing + which VM sizes are allowed for workers. + :vartype allowed_worker_sizes: str + :ivar maximum_number_of_machines: Maximum number of VMs in the App Service + Environment. + :vartype maximum_number_of_machines: int + :ivar vip_mappings: Description of IP SSL mapping for the App Service + Environment. + :vartype vip_mappings: list[~azure.mgmt.web.models.VirtualIPMapping] + :ivar environment_capacities: Current total, used, and available worker + capacities. + :vartype environment_capacities: + list[~azure.mgmt.web.models.StampCapacity] + :param network_access_control_list: Access control list for controlling + traffic to the App Service Environment. + :type network_access_control_list: + list[~azure.mgmt.web.models.NetworkAccessControlEntry] + :ivar environment_is_healthy: True/false indicating whether the App + Service Environment is healthy. + :vartype environment_is_healthy: bool + :ivar environment_status: Detailed message about with results of the last + check of the App Service Environment. + :vartype environment_status: str + :ivar resource_group: Resource group of the App Service Environment. + :vartype resource_group: str + :param front_end_scale_factor: Scale factor for front-ends. + :type front_end_scale_factor: int + :ivar default_front_end_scale_factor: Default Scale Factor for FrontEnds. + :vartype default_front_end_scale_factor: int + :param api_management_account_id: API Management Account associated with + the App Service Environment. + :type api_management_account_id: str + :param suspended: true if the App Service Environment is + suspended; otherwise, false. The environment can be + suspended, e.g. when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type suspended: bool + :param dynamic_cache_enabled: True/false indicating whether the App + Service Environment is suspended. The environment can be suspended e.g. + when the management endpoint is no longer available + (most likely because NSG blocked the incoming traffic). + :type dynamic_cache_enabled: bool + :param cluster_settings: Custom settings for changing the behavior of the + App Service Environment. + :type cluster_settings: list[~azure.mgmt.web.models.NameValuePair] + :param user_whitelisted_ip_ranges: User added ip ranges to whitelist on + ASE db + :type user_whitelisted_ip_ranges: list[str] + :param has_linux_workers: Flag that displays whether an ASE has linux + workers or not + :type has_linux_workers: bool + :param ssl_cert_key_vault_id: Key Vault ID for ILB App Service Environment + default SSL certificate + :type ssl_cert_key_vault_id: str + :param ssl_cert_key_vault_secret_name: Key Vault Secret Name for ILB App + Service Environment default SSL certificate + :type ssl_cert_key_vault_secret_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'app_service_environment_resource_name': {'required': True}, + 'app_service_environment_resource_location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'virtual_network': {'required': True}, + 'worker_pools': {'required': True}, + 'database_edition': {'readonly': True}, + 'database_service_objective': {'readonly': True}, + 'upgrade_domains': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'last_action': {'readonly': True}, + 'last_action_result': {'readonly': True}, + 'allowed_multi_sizes': {'readonly': True}, + 'allowed_worker_sizes': {'readonly': True}, + 'maximum_number_of_machines': {'readonly': True}, + 'vip_mappings': {'readonly': True}, + 'environment_capacities': {'readonly': True}, + 'environment_is_healthy': {'readonly': True}, + 'environment_status': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'default_front_end_scale_factor': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'app_service_environment_resource_name': {'key': 'properties.name', 'type': 'str'}, + 'app_service_environment_resource_location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'status': {'key': 'properties.status', 'type': 'HostingEnvironmentStatus'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_resource_group_name': {'key': 'properties.vnetResourceGroupName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'VirtualNetworkProfile'}, + 'internal_load_balancing_mode': {'key': 'properties.internalLoadBalancingMode', 'type': 'InternalLoadBalancingMode'}, + 'multi_size': {'key': 'properties.multiSize', 'type': 'str'}, + 'multi_role_count': {'key': 'properties.multiRoleCount', 'type': 'int'}, + 'worker_pools': {'key': 'properties.workerPools', 'type': '[WorkerPool]'}, + 'ipssl_address_count': {'key': 'properties.ipsslAddressCount', 'type': 'int'}, + 'database_edition': {'key': 'properties.databaseEdition', 'type': 'str'}, + 'database_service_objective': {'key': 'properties.databaseServiceObjective', 'type': 'str'}, + 'upgrade_domains': {'key': 'properties.upgradeDomains', 'type': 'int'}, + 'subscription_id': {'key': 'properties.subscriptionId', 'type': 'str'}, + 'dns_suffix': {'key': 'properties.dnsSuffix', 'type': 'str'}, + 'last_action': {'key': 'properties.lastAction', 'type': 'str'}, + 'last_action_result': {'key': 'properties.lastActionResult', 'type': 'str'}, + 'allowed_multi_sizes': {'key': 'properties.allowedMultiSizes', 'type': 'str'}, + 'allowed_worker_sizes': {'key': 'properties.allowedWorkerSizes', 'type': 'str'}, + 'maximum_number_of_machines': {'key': 'properties.maximumNumberOfMachines', 'type': 'int'}, + 'vip_mappings': {'key': 'properties.vipMappings', 'type': '[VirtualIPMapping]'}, + 'environment_capacities': {'key': 'properties.environmentCapacities', 'type': '[StampCapacity]'}, + 'network_access_control_list': {'key': 'properties.networkAccessControlList', 'type': '[NetworkAccessControlEntry]'}, + 'environment_is_healthy': {'key': 'properties.environmentIsHealthy', 'type': 'bool'}, + 'environment_status': {'key': 'properties.environmentStatus', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'front_end_scale_factor': {'key': 'properties.frontEndScaleFactor', 'type': 'int'}, + 'default_front_end_scale_factor': {'key': 'properties.defaultFrontEndScaleFactor', 'type': 'int'}, + 'api_management_account_id': {'key': 'properties.apiManagementAccountId', 'type': 'str'}, + 'suspended': {'key': 'properties.suspended', 'type': 'bool'}, + 'dynamic_cache_enabled': {'key': 'properties.dynamicCacheEnabled', 'type': 'bool'}, + 'cluster_settings': {'key': 'properties.clusterSettings', 'type': '[NameValuePair]'}, + 'user_whitelisted_ip_ranges': {'key': 'properties.userWhitelistedIpRanges', 'type': '[str]'}, + 'has_linux_workers': {'key': 'properties.hasLinuxWorkers', 'type': 'bool'}, + 'ssl_cert_key_vault_id': {'key': 'properties.sslCertKeyVaultId', 'type': 'str'}, + 'ssl_cert_key_vault_secret_name': {'key': 'properties.sslCertKeyVaultSecretName', 'type': 'str'}, + } + + def __init__(self, *, location: str, app_service_environment_resource_name: str, app_service_environment_resource_location: str, virtual_network, worker_pools, kind: str=None, tags=None, vnet_name: str=None, vnet_resource_group_name: str=None, vnet_subnet_name: str=None, internal_load_balancing_mode=None, multi_size: str=None, multi_role_count: int=None, ipssl_address_count: int=None, dns_suffix: str=None, network_access_control_list=None, front_end_scale_factor: int=None, api_management_account_id: str=None, suspended: bool=None, dynamic_cache_enabled: bool=None, cluster_settings=None, user_whitelisted_ip_ranges=None, has_linux_workers: bool=None, ssl_cert_key_vault_id: str=None, ssl_cert_key_vault_secret_name: str=None, **kwargs) -> None: + super(AppServiceEnvironmentResource, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.app_service_environment_resource_name = app_service_environment_resource_name + self.app_service_environment_resource_location = app_service_environment_resource_location + self.provisioning_state = None + self.status = None + self.vnet_name = vnet_name + self.vnet_resource_group_name = vnet_resource_group_name + self.vnet_subnet_name = vnet_subnet_name + self.virtual_network = virtual_network + self.internal_load_balancing_mode = internal_load_balancing_mode + self.multi_size = multi_size + self.multi_role_count = multi_role_count + self.worker_pools = worker_pools + self.ipssl_address_count = ipssl_address_count + self.database_edition = None + self.database_service_objective = None + self.upgrade_domains = None + self.subscription_id = None + self.dns_suffix = dns_suffix + self.last_action = None + self.last_action_result = None + self.allowed_multi_sizes = None + self.allowed_worker_sizes = None + self.maximum_number_of_machines = None + self.vip_mappings = None + self.environment_capacities = None + self.network_access_control_list = network_access_control_list + self.environment_is_healthy = None + self.environment_status = None + self.resource_group = None + self.front_end_scale_factor = front_end_scale_factor + self.default_front_end_scale_factor = None + self.api_management_account_id = api_management_account_id + self.suspended = suspended + self.dynamic_cache_enabled = dynamic_cache_enabled + self.cluster_settings = cluster_settings + self.user_whitelisted_ip_ranges = user_whitelisted_ip_ranges + self.has_linux_workers = has_linux_workers + self.ssl_cert_key_vault_id = ssl_cert_key_vault_id + self.ssl_cert_key_vault_secret_name = ssl_cert_key_vault_secret_name + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, worker_tier_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, maximum_elastic_worker_count: int=None, is_spot: bool=None, spot_expiration_time=None, free_offer_expiration_time=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.maximum_elastic_worker_count = maximum_elastic_worker_count + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.free_offer_expiration_time = free_offer_expiration_time + self.resource_group = None + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AppServicePlanPatchResource(ProxyOnlyResource): + """ARM resource for a app service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + } + + def __init__(self, *, kind: str=None, worker_tier_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, maximum_elastic_worker_count: int=None, is_spot: bool=None, spot_expiration_time=None, free_offer_expiration_time=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, **kwargs) -> None: + super(AppServicePlanPatchResource, self).__init__(kind=kind, **kwargs) + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.maximum_elastic_worker_count = maximum_elastic_worker_count + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.free_offer_expiration_time = free_offer_expiration_time + self.resource_group = None + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class AzureBlobStorageApplicationLogsConfig(Model): + """Application logs azure blob storage configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + } + + def __init__(self, *, level=None, sas_url: str=None, retention_in_days: int=None, **kwargs) -> None: + super(AzureBlobStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + self.sas_url = sas_url + self.retention_in_days = retention_in_days + + +class AzureBlobStorageHttpLogsConfig(Model): + """Http logs to azure blob storage configuration. + + :param sas_url: SAS url to a azure blob container with + read/write/list/delete permissions. + :type sas_url: str + :param retention_in_days: Retention in days. + Remove blobs older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, sas_url: str=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: + super(AzureBlobStorageHttpLogsConfig, self).__init__(**kwargs) + self.sas_url = sas_url + self.retention_in_days = retention_in_days + self.enabled = enabled + + +class AzureStorageInfoValue(Model): + """Azure Files or Blob Storage access information value for dictionary + storage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of storage. Possible values include: 'AzureFiles', + 'AzureBlob' + :type type: str or ~azure.mgmt.web.models.AzureStorageType + :param account_name: Name of the storage account. + :type account_name: str + :param share_name: Name of the file share (container name, for Blob + storage). + :type share_name: str + :param access_key: Access key for the storage account. + :type access_key: str + :param mount_path: Path to mount the storage within the site's runtime + environment. + :type mount_path: str + :ivar state: State of the storage account. Possible values include: 'Ok', + 'InvalidCredentials', 'InvalidShare' + :vartype state: str or ~azure.mgmt.web.models.AzureStorageState + """ + + _validation = { + 'state': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'AzureStorageType'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'AzureStorageState'}, + } + + def __init__(self, *, type=None, account_name: str=None, share_name: str=None, access_key: str=None, mount_path: str=None, **kwargs) -> None: + super(AzureStorageInfoValue, self).__init__(**kwargs) + self.type = type + self.account_name = account_name + self.share_name = share_name + self.access_key = access_key + self.mount_path = mount_path + self.state = None + + +class AzureStoragePropertyDictionaryResource(ProxyOnlyResource): + """AzureStorageInfo dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Azure storage accounts. + :type properties: dict[str, ~azure.mgmt.web.models.AzureStorageInfoValue] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{AzureStorageInfoValue}'}, + } + + def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: + super(AzureStoragePropertyDictionaryResource, self).__init__(kind=kind, **kwargs) + self.properties = properties + + +class AzureTableStorageApplicationLogsConfig(Model): + """Application logs to Azure table storage configuration. + + All required parameters must be populated in order to send to Azure. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error' + :type level: str or ~azure.mgmt.web.models.LogLevel + :param sas_url: Required. SAS URL to an Azure table with add/query/delete + permissions. + :type sas_url: str + """ + + _validation = { + 'sas_url': {'required': True}, + } + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + 'sas_url': {'key': 'sasUrl', 'type': 'str'}, + } + + def __init__(self, *, sas_url: str, level=None, **kwargs) -> None: + super(AzureTableStorageApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + self.sas_url = sas_url + + +class BackupItem(ProxyOnlyResource): + """Backup description. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar backup_id: Id of the backup. + :vartype backup_id: int + :ivar storage_account_url: SAS URL for the storage account container which + contains this backup. + :vartype storage_account_url: str + :ivar blob_name: Name of the blob which contains data for this backup. + :vartype blob_name: str + :ivar backup_item_name: Name of this backup. + :vartype backup_item_name: str + :ivar status: Backup status. Possible values include: 'InProgress', + 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', + 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' + :vartype status: str or ~azure.mgmt.web.models.BackupItemStatus + :ivar size_in_bytes: Size of the backup in bytes. + :vartype size_in_bytes: long + :ivar created: Timestamp of the backup creation. + :vartype created: datetime + :ivar log: Details regarding this backup. Might contain an error message. + :vartype log: str + :ivar databases: List of databases included in the backup. + :vartype databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :ivar scheduled: True if this backup has been created due to a schedule + being triggered. + :vartype scheduled: bool + :ivar last_restore_time_stamp: Timestamp of a last restore operation which + used this backup. + :vartype last_restore_time_stamp: datetime + :ivar finished_time_stamp: Timestamp when this backup finished. + :vartype finished_time_stamp: datetime + :ivar correlation_id: Unique correlation identifier. Please use this along + with the timestamp while communicating with Azure support. + :vartype correlation_id: str + :ivar website_size_in_bytes: Size of the original web app which has been + backed up. + :vartype website_size_in_bytes: long + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'backup_id': {'readonly': True}, + 'storage_account_url': {'readonly': True}, + 'blob_name': {'readonly': True}, + 'backup_item_name': {'readonly': True}, + 'status': {'readonly': True}, + 'size_in_bytes': {'readonly': True}, + 'created': {'readonly': True}, + 'log': {'readonly': True}, + 'databases': {'readonly': True}, + 'scheduled': {'readonly': True}, + 'last_restore_time_stamp': {'readonly': True}, + 'finished_time_stamp': {'readonly': True}, + 'correlation_id': {'readonly': True}, + 'website_size_in_bytes': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_id': {'key': 'properties.id', 'type': 'int'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'backup_item_name': {'key': 'properties.name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'BackupItemStatus'}, + 'size_in_bytes': {'key': 'properties.sizeInBytes', 'type': 'long'}, + 'created': {'key': 'properties.created', 'type': 'iso-8601'}, + 'log': {'key': 'properties.log', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'scheduled': {'key': 'properties.scheduled', 'type': 'bool'}, + 'last_restore_time_stamp': {'key': 'properties.lastRestoreTimeStamp', 'type': 'iso-8601'}, + 'finished_time_stamp': {'key': 'properties.finishedTimeStamp', 'type': 'iso-8601'}, + 'correlation_id': {'key': 'properties.correlationId', 'type': 'str'}, + 'website_size_in_bytes': {'key': 'properties.websiteSizeInBytes', 'type': 'long'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(BackupItem, self).__init__(kind=kind, **kwargs) + self.backup_id = None + self.storage_account_url = None + self.blob_name = None + self.backup_item_name = None + self.status = None + self.size_in_bytes = None + self.created = None + self.log = None + self.databases = None + self.scheduled = None + self.last_restore_time_stamp = None + self.finished_time_stamp = None + self.correlation_id = None + self.website_size_in_bytes = None + + +class BackupRequest(ProxyOnlyResource): + """Description of a backup which will be performed. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param backup_name: Name of the backup. + :type backup_name: str + :param enabled: True if the backup schedule is enabled (must be included + in that case), false if the backup schedule should be disabled. + :type enabled: bool + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param backup_schedule: Schedule for the backup if it is executed + periodically. + :type backup_schedule: ~azure.mgmt.web.models.BackupSchedule + :param databases: Databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'backup_name': {'key': 'properties.backupName', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'backup_schedule': {'key': 'properties.backupSchedule', 'type': 'BackupSchedule'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + } + + def __init__(self, *, storage_account_url: str, kind: str=None, backup_name: str=None, enabled: bool=None, backup_schedule=None, databases=None, **kwargs) -> None: + super(BackupRequest, self).__init__(kind=kind, **kwargs) + self.backup_name = backup_name + self.enabled = enabled + self.storage_account_url = storage_account_url + self.backup_schedule = backup_schedule + self.databases = databases + + +class BackupSchedule(Model): + """Description of a backup schedule. Describes how often should be the backup + performed and what should be the retention policy. + + 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 frequency_interval: Required. How often the backup should be + executed (e.g. for weekly backup, this should be set to 7 and + FrequencyUnit should be set to Day). Default value: 7 . + :type frequency_interval: int + :param frequency_unit: Required. The unit of time for how often the backup + should be executed (e.g. for weekly backup, this should be set to Day and + FrequencyInterval should be set to 7). Possible values include: 'Day', + 'Hour'. Default value: "Day" . + :type frequency_unit: str or ~azure.mgmt.web.models.FrequencyUnit + :param keep_at_least_one_backup: Required. True if the retention policy + should always keep at least one backup in the storage account, regardless + how old it is; false otherwise. Default value: True . + :type keep_at_least_one_backup: bool + :param retention_period_in_days: Required. After how many days backups + should be deleted. Default value: 30 . + :type retention_period_in_days: int + :param start_time: When the schedule should start working. + :type start_time: datetime + :ivar last_execution_time: Last time when this schedule was triggered. + :vartype last_execution_time: datetime + """ + + _validation = { + 'frequency_interval': {'required': True}, + 'frequency_unit': {'required': True}, + 'keep_at_least_one_backup': {'required': True}, + 'retention_period_in_days': {'required': True}, + 'last_execution_time': {'readonly': True}, + } + + _attribute_map = { + 'frequency_interval': {'key': 'frequencyInterval', 'type': 'int'}, + 'frequency_unit': {'key': 'frequencyUnit', 'type': 'FrequencyUnit'}, + 'keep_at_least_one_backup': {'key': 'keepAtLeastOneBackup', 'type': 'bool'}, + 'retention_period_in_days': {'key': 'retentionPeriodInDays', 'type': 'int'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'last_execution_time': {'key': 'lastExecutionTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, frequency_interval: int=7, frequency_unit="Day", keep_at_least_one_backup: bool=True, retention_period_in_days: int=30, start_time=None, **kwargs) -> None: + super(BackupSchedule, self).__init__(**kwargs) + self.frequency_interval = frequency_interval + self.frequency_unit = frequency_unit + self.keep_at_least_one_backup = keep_at_least_one_backup + self.retention_period_in_days = retention_period_in_days + self.start_time = start_time + self.last_execution_time = None + + +class BillingMeter(ProxyOnlyResource): + """App Service billing entity that contains information about meter which the + Azure billing system utilizes to charge users for services. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param meter_id: Meter GUID onboarded in Commerce + :type meter_id: str + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param short_name: Short Name from App Service Azure pricing Page + :type short_name: str + :param friendly_name: Friendly name of the meter + :type friendly_name: str + :param resource_type: App Service ResourceType meter used for + :type resource_type: str + :param os_type: App Service OS type meter used for + :type os_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'meter_id': {'key': 'properties.meterId', 'type': 'str'}, + 'billing_location': {'key': 'properties.billingLocation', 'type': 'str'}, + 'short_name': {'key': 'properties.shortName', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, meter_id: str=None, billing_location: str=None, short_name: str=None, friendly_name: str=None, resource_type: str=None, os_type: str=None, **kwargs) -> None: + super(BillingMeter, self).__init__(kind=kind, **kwargs) + self.meter_id = meter_id + self.billing_location = billing_location + self.short_name = short_name + self.friendly_name = friendly_name + self.resource_type = resource_type + self.os_type = os_type + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, location: str, password: str, kind: str=None, tags=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(Certificate, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.server_farm_id = server_farm_id + + +class CertificateDetails(Model): + """SSL certificate details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar version: Certificate Version. + :vartype version: int + :ivar serial_number: Certificate Serial Number. + :vartype serial_number: str + :ivar thumbprint: Certificate Thumbprint. + :vartype thumbprint: str + :ivar subject: Certificate Subject. + :vartype subject: str + :ivar not_before: Date Certificate is valid from. + :vartype not_before: datetime + :ivar not_after: Date Certificate is valid to. + :vartype not_after: datetime + :ivar signature_algorithm: Certificate Signature algorithm. + :vartype signature_algorithm: str + :ivar issuer: Certificate Issuer. + :vartype issuer: str + :ivar raw_data: Raw certificate data. + :vartype raw_data: str + """ + + _validation = { + 'version': {'readonly': True}, + 'serial_number': {'readonly': True}, + 'thumbprint': {'readonly': True}, + 'subject': {'readonly': True}, + 'not_before': {'readonly': True}, + 'not_after': {'readonly': True}, + 'signature_algorithm': {'readonly': True}, + 'issuer': {'readonly': True}, + 'raw_data': {'readonly': True}, + } + + _attribute_map = { + 'version': {'key': 'version', 'type': 'int'}, + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'subject': {'key': 'subject', 'type': 'str'}, + 'not_before': {'key': 'notBefore', 'type': 'iso-8601'}, + 'not_after': {'key': 'notAfter', 'type': 'iso-8601'}, + 'signature_algorithm': {'key': 'signatureAlgorithm', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'raw_data': {'key': 'rawData', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CertificateDetails, self).__init__(**kwargs) + self.version = None + self.serial_number = None + self.thumbprint = None + self.subject = None + self.not_before = None + self.not_after = None + self.signature_algorithm = None + self.issuer = None + self.raw_data = None + + +class CertificateEmail(ProxyOnlyResource): + """SSL certificate email. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param email_id: Email id. + :type email_id: str + :param time_stamp: Time stamp. + :type time_stamp: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'email_id': {'key': 'properties.emailId', 'type': 'str'}, + 'time_stamp': {'key': 'properties.timeStamp', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, email_id: str=None, time_stamp=None, **kwargs) -> None: + super(CertificateEmail, self).__init__(kind=kind, **kwargs) + self.email_id = email_id + self.time_stamp = time_stamp + + +class CertificateOrderAction(ProxyOnlyResource): + """Certificate order action. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar action_type: Action type. Possible values include: + 'CertificateIssued', 'CertificateOrderCanceled', + 'CertificateOrderCreated', 'CertificateRevoked', + 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', + 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', + 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' + :vartype action_type: str or + ~azure.mgmt.web.models.CertificateOrderActionType + :ivar created_at: Time at which the certificate action was performed. + :vartype created_at: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'action_type': {'readonly': True}, + 'created_at': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'action_type': {'key': 'properties.actionType', 'type': 'CertificateOrderActionType'}, + 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(CertificateOrderAction, self).__init__(kind=kind, **kwargs) + self.action_type = None + self.created_at = None + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, password: str, kind: str=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(CertificatePatchResource, self).__init__(kind=kind, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.server_farm_id = server_farm_id + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param source_web_app_location: Location of source app ex: West US or + North Europe + :type source_web_app_location: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, source_web_app_location: str=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.source_web_app_location = source_web_app_location + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnectionStringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Connection strings. + :type properties: dict[str, + ~azure.mgmt.web.models.ConnStringValueTypePair] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{ConnStringValueTypePair}'}, + } + + def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: + super(ConnectionStringDictionary, self).__init__(kind=kind, **kwargs) + self.properties = properties + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class ConnStringValueTypePair(Model): + """Database connection string value to type pair. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Value of pair. + :type value: str + :param type: Required. Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _validation = { + 'value': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, value: str, type, **kwargs) -> None: + super(ConnStringValueTypePair, self).__init__(**kwargs) + self.value = value + self.type = type + + +class Contact(Model): + """Contact information for domain registration. If 'Domain Privacy' option is + not selected then the contact information is made publicly available + through the Whois + directories as per ICANN requirements. + + All required parameters must be populated in order to send to Azure. + + :param address_mailing: Mailing address. + :type address_mailing: ~azure.mgmt.web.models.Address + :param email: Required. Email address. + :type email: str + :param fax: Fax number. + :type fax: str + :param job_title: Job title. + :type job_title: str + :param name_first: Required. First name. + :type name_first: str + :param name_last: Required. Last name. + :type name_last: str + :param name_middle: Middle name. + :type name_middle: str + :param organization: Organization contact belongs to. + :type organization: str + :param phone: Required. Phone number. + :type phone: str + """ + + _validation = { + 'email': {'required': True}, + 'name_first': {'required': True}, + 'name_last': {'required': True}, + 'phone': {'required': True}, + } + + _attribute_map = { + 'address_mailing': {'key': 'addressMailing', 'type': 'Address'}, + 'email': {'key': 'email', 'type': 'str'}, + 'fax': {'key': 'fax', 'type': 'str'}, + 'job_title': {'key': 'jobTitle', 'type': 'str'}, + 'name_first': {'key': 'nameFirst', 'type': 'str'}, + 'name_last': {'key': 'nameLast', 'type': 'str'}, + 'name_middle': {'key': 'nameMiddle', 'type': 'str'}, + 'organization': {'key': 'organization', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + } + + def __init__(self, *, email: str, name_first: str, name_last: str, phone: str, address_mailing=None, fax: str=None, job_title: str=None, name_middle: str=None, organization: str=None, **kwargs) -> None: + super(Contact, self).__init__(**kwargs) + self.address_mailing = address_mailing + self.email = email + self.fax = fax + self.job_title = job_title + self.name_first = name_first + self.name_last = name_last + self.name_middle = name_middle + self.organization = organization + self.phone = phone + + +class ContinuousWebJob(ProxyOnlyResource): + """Continuous Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Job status. Possible values include: 'Initializing', + 'Starting', 'Running', 'PendingRestart', 'Stopped' + :type status: str or ~azure.mgmt.web.models.ContinuousWebJobStatus + :param detailed_status: Detailed status. + :type detailed_status: str + :param log_url: Log URL. + :type log_url: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'ContinuousWebJobStatus'}, + 'detailed_status': {'key': 'properties.detailed_status', 'type': 'str'}, + 'log_url': {'key': 'properties.log_url', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, status=None, detailed_status: str=None, log_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(ContinuousWebJob, self).__init__(kind=kind, **kwargs) + self.status = status + self.detailed_status = detailed_status + self.log_url = log_url + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.web_job_type = web_job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + :param support_credentials: Gets or sets whether CORS requests with + credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + :type support_credentials: bool + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, + } + + def __init__(self, *, allowed_origins=None, support_credentials: bool=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.support_credentials = support_credentials + + +class CsmMoveResourceEnvelope(Model): + """Object with a list of the resources that need to be moved and the resource + group they should be moved to. + + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[str] + """ + + _validation = { + 'target_resource_group': {'max_length': 90, 'min_length': 1, 'pattern': r' ^[-\w\._\(\)]+[^\.]$'}, + } + + _attribute_map = { + 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, + 'resources': {'key': 'resources', 'type': '[str]'}, + } + + def __init__(self, *, target_resource_group: str=None, resources=None, **kwargs) -> None: + super(CsmMoveResourceEnvelope, self).__init__(**kwargs) + self.target_resource_group = target_resource_group + self.resources = resources + + +class CsmOperationDescription(Model): + """Description of an operation available for Microsoft.Web resource provider. + + :param name: + :type name: str + :param display: + :type display: ~azure.mgmt.web.models.CsmOperationDisplay + :param origin: + :type origin: str + :param properties: + :type properties: ~azure.mgmt.web.models.CsmOperationDescriptionProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'CsmOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CsmOperationDescriptionProperties'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: + super(CsmOperationDescription, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.properties = properties + + +class CsmOperationDescriptionProperties(Model): + """Properties available for a Microsoft.Web resource provider operation. + + :param service_specification: + :type service_specification: ~azure.mgmt.web.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__(self, *, service_specification=None, **kwargs) -> None: + super(CsmOperationDescriptionProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class CsmOperationDisplay(Model): + """Meta data about operation used for display in portal. + + :param provider: + :type provider: str + :param resource: + :type resource: str + :param operation: + :type operation: str + :param description: + :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(CsmOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class CsmPublishingProfileOptions(Model): + """Publishing options for requested profile. + + :param format: Name of the format. Valid values are: + FileZilla3 + WebDeploy -- default + Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + :type format: str or ~azure.mgmt.web.models.PublishingProfileFormat + :param include_disaster_recovery_endpoints: Include the DisasterRecover + endpoint if true + :type include_disaster_recovery_endpoints: bool + """ + + _attribute_map = { + 'format': {'key': 'format', 'type': 'str'}, + 'include_disaster_recovery_endpoints': {'key': 'includeDisasterRecoveryEndpoints', 'type': 'bool'}, + } + + def __init__(self, *, format=None, include_disaster_recovery_endpoints: bool=None, **kwargs) -> None: + super(CsmPublishingProfileOptions, self).__init__(**kwargs) + self.format = format + self.include_disaster_recovery_endpoints = include_disaster_recovery_endpoints + + +class CsmSlotEntity(Model): + """Deployment slot parameters. + + All required parameters must be populated in order to send to Azure. + + :param target_slot: Required. Destination deployment slot during swap + operation. + :type target_slot: str + :param preserve_vnet: Required. true to preserve Virtual + Network to the slot during swap; otherwise, false. + :type preserve_vnet: bool + """ + + _validation = { + 'target_slot': {'required': True}, + 'preserve_vnet': {'required': True}, + } + + _attribute_map = { + 'target_slot': {'key': 'targetSlot', 'type': 'str'}, + 'preserve_vnet': {'key': 'preserveVnet', 'type': 'bool'}, + } + + def __init__(self, *, target_slot: str, preserve_vnet: bool, **kwargs) -> None: + super(CsmSlotEntity, self).__init__(**kwargs) + self.target_slot = target_slot + self.preserve_vnet = preserve_vnet + + +class CsmUsageQuota(Model): + """Usage of the quota resource. + + :param unit: Units of measurement for the quota resource. + :type unit: str + :param next_reset_time: Next reset time for the resource counter. + :type next_reset_time: datetime + :param current_value: The current value of the resource counter. + :type current_value: long + :param limit: The resource limit. + :type limit: long + :param name: Quota name. + :type name: ~azure.mgmt.web.models.LocalizableString + """ + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'next_reset_time': {'key': 'nextResetTime', 'type': 'iso-8601'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'LocalizableString'}, + } + + def __init__(self, *, unit: str=None, next_reset_time=None, current_value: int=None, limit: int=None, name=None, **kwargs) -> None: + super(CsmUsageQuota, self).__init__(**kwargs) + self.unit = unit + self.next_reset_time = next_reset_time + self.current_value = current_value + self.limit = limit + self.name = name + + +class CustomHostnameAnalysisResult(ProxyOnlyResource): + """Custom domain analysis. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar is_hostname_already_verified: true if hostname is + already verified; otherwise, false. + :vartype is_hostname_already_verified: bool + :ivar custom_domain_verification_test: DNS verification test result. + Possible values include: 'Passed', 'Failed', 'Skipped' + :vartype custom_domain_verification_test: str or + ~azure.mgmt.web.models.DnsVerificationTestResult + :ivar custom_domain_verification_failure_info: Raw failure information if + DNS verification fails. + :vartype custom_domain_verification_failure_info: + ~azure.mgmt.web.models.ErrorEntity + :ivar has_conflict_on_scale_unit: true if there is a conflict + on a scale unit; otherwise, false. + :vartype has_conflict_on_scale_unit: bool + :ivar has_conflict_across_subscription: true if there is a + conflict across subscriptions; otherwise, false. + :vartype has_conflict_across_subscription: bool + :ivar conflicting_app_resource_id: Name of the conflicting app on scale + unit if it's within the same subscription. + :vartype conflicting_app_resource_id: str + :param c_name_records: CName records controller can see for this hostname. + :type c_name_records: list[str] + :param txt_records: TXT records controller can see for this hostname. + :type txt_records: list[str] + :param a_records: A records controller can see for this hostname. + :type a_records: list[str] + :param alternate_cname_records: Alternate CName records controller can see + for this hostname. + :type alternate_cname_records: list[str] + :param alternate_txt_records: Alternate TXT records controller can see for + this hostname. + :type alternate_txt_records: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_hostname_already_verified': {'readonly': True}, + 'custom_domain_verification_test': {'readonly': True}, + 'custom_domain_verification_failure_info': {'readonly': True}, + 'has_conflict_on_scale_unit': {'readonly': True}, + 'has_conflict_across_subscription': {'readonly': True}, + 'conflicting_app_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, + 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, + 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'ErrorEntity'}, + 'has_conflict_on_scale_unit': {'key': 'properties.hasConflictOnScaleUnit', 'type': 'bool'}, + 'has_conflict_across_subscription': {'key': 'properties.hasConflictAcrossSubscription', 'type': 'bool'}, + 'conflicting_app_resource_id': {'key': 'properties.conflictingAppResourceId', 'type': 'str'}, + 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, + 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, + 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, + 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, + 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, c_name_records=None, txt_records=None, a_records=None, alternate_cname_records=None, alternate_txt_records=None, **kwargs) -> None: + super(CustomHostnameAnalysisResult, self).__init__(kind=kind, **kwargs) + self.is_hostname_already_verified = None + self.custom_domain_verification_test = None + self.custom_domain_verification_failure_info = None + self.has_conflict_on_scale_unit = None + self.has_conflict_across_subscription = None + self.conflicting_app_resource_id = None + self.c_name_records = c_name_records + self.txt_records = txt_records + self.a_records = a_records + self.alternate_cname_records = alternate_cname_records + self.alternate_txt_records = alternate_txt_records + + +class DatabaseBackupSetting(Model): + """Database backup settings. + + All required parameters must be populated in order to send to Azure. + + :param database_type: Required. Database type (e.g. SqlAzure / MySql). + Possible values include: 'SqlAzure', 'MySql', 'LocalMySql', 'PostgreSql' + :type database_type: str or ~azure.mgmt.web.models.DatabaseType + :param name: + :type name: str + :param connection_string_name: Contains a connection string name that is + linked to the SiteConfig.ConnectionStrings. + This is used during restore with overwrite connection strings options. + :type connection_string_name: str + :param connection_string: Contains a connection string to a database which + is being backed up or restored. If the restore should happen to a new + database, the database name inside is the new one. + :type connection_string: str + """ + + _validation = { + 'database_type': {'required': True}, + } + + _attribute_map = { + 'database_type': {'key': 'databaseType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string_name': {'key': 'connectionStringName', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + } + + def __init__(self, *, database_type, name: str=None, connection_string_name: str=None, connection_string: str=None, **kwargs) -> None: + super(DatabaseBackupSetting, self).__init__(**kwargs) + self.database_type = database_type + self.name = name + self.connection_string_name = connection_string_name + self.connection_string = connection_string + + +class DataSource(Model): + """Class representing data source used by the detectors. + + :param instructions: Instructions if any for the data source + :type instructions: list[str] + :param data_source_uri: Datasource Uri Links + :type data_source_uri: list[~azure.mgmt.web.models.NameValuePair] + """ + + _attribute_map = { + 'instructions': {'key': 'instructions', 'type': '[str]'}, + 'data_source_uri': {'key': 'dataSourceUri', 'type': '[NameValuePair]'}, + } + + def __init__(self, *, instructions=None, data_source_uri=None, **kwargs) -> None: + super(DataSource, self).__init__(**kwargs) + self.instructions = instructions + self.data_source_uri = data_source_uri + + +class DataTableResponseColumn(Model): + """Column definition. + + :param column_name: Name of the column + :type column_name: str + :param data_type: Data type which looks like 'String' or 'Int32'. + :type data_type: str + :param column_type: Column Type + :type column_type: str + """ + + _attribute_map = { + 'column_name': {'key': 'columnName', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'column_type': {'key': 'columnType', 'type': 'str'}, + } + + def __init__(self, *, column_name: str=None, data_type: str=None, column_type: str=None, **kwargs) -> None: + super(DataTableResponseColumn, self).__init__(**kwargs) + self.column_name = column_name + self.data_type = data_type + self.column_type = column_type + + +class DataTableResponseObject(Model): + """Data Table which defines columns and raw row values. + + :param table_name: Name of the table + :type table_name: str + :param columns: List of columns with data types + :type columns: list[~azure.mgmt.web.models.DataTableResponseColumn] + :param rows: Raw row values + :type rows: list[list[str]] + """ + + _attribute_map = { + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'columns': {'key': 'columns', 'type': '[DataTableResponseColumn]'}, + 'rows': {'key': 'rows', 'type': '[[str]]'}, + } + + def __init__(self, *, table_name: str=None, columns=None, rows=None, **kwargs) -> None: + super(DataTableResponseObject, self).__init__(**kwargs) + self.table_name = table_name + self.columns = columns + self.rows = rows + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, *, details=None, **kwargs) -> None: + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = details + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedAppRestoreRequest(ProxyOnlyResource): + """Details about restoring a deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param deleted_site_id: ARM resource ID of the deleted app. Example: + /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} + :type deleted_site_id: str + :param recover_configuration: If true, deleted site configuration, in + addition to content, will be restored. + :type recover_configuration: bool + :param snapshot_time: Point in time to restore the deleted app from, + formatted as a DateTime string. + If unspecified, default value is the time that the app was deleted. + :type snapshot_time: str + :param use_dr_secondary: If true, the snapshot is retrieved from + DRSecondary endpoint. + :type use_dr_secondary: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'str'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, deleted_site_id: str=None, recover_configuration: bool=None, snapshot_time: str=None, use_dr_secondary: bool=None, **kwargs) -> None: + super(DeletedAppRestoreRequest, self).__init__(kind=kind, **kwargs) + self.deleted_site_id = deleted_site_id + self.recover_configuration = recover_configuration + self.snapshot_time = snapshot_time + self.use_dr_secondary = use_dr_secondary + + +class DeletedSite(ProxyOnlyResource): + """A deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deleted_site_id: Numeric id for the deleted site + :vartype deleted_site_id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar deleted_site_name: Name of the deleted site + :vartype deleted_site_name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + :ivar deleted_site_kind: Kind of site that was deleted + :vartype deleted_site_kind: str + :ivar geo_region_name: Geo Region of the deleted site + :vartype geo_region_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deleted_site_id': {'readonly': True}, + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'deleted_site_name': {'readonly': True}, + 'slot': {'readonly': True}, + 'deleted_site_kind': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, + 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, + 'slot': {'key': 'properties.slot', 'type': 'str'}, + 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DeletedSite, self).__init__(kind=kind, **kwargs) + self.deleted_site_id = None + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.deleted_site_name = None + self.slot = None + self.deleted_site_kind = None + self.geo_region_name = None + + +class Deployment(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param status: Deployment status. + :type status: int + :param message: Details about deployment status. + :type message: str + :param author: Who authored the deployment. + :type author: str + :param deployer: Who performed the deployment. + :type deployer: str + :param author_email: Author email. + :type author_email: str + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param active: True if deployment is currently active, false if completed + and null if not started. + :type active: bool + :param details: Details on deployment. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'int'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'author': {'key': 'properties.author', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'author_email': {'key': 'properties.author_email', 'type': 'str'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, + 'active': {'key': 'properties.active', 'type': 'bool'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, status: int=None, message: str=None, author: str=None, deployer: str=None, author_email: str=None, start_time=None, end_time=None, active: bool=None, details: str=None, **kwargs) -> None: + super(Deployment, self).__init__(kind=kind, **kwargs) + self.status = status + self.message = message + self.author = author + self.deployer = deployer + self.author_email = author_email + self.start_time = start_time + self.end_time = end_time + self.active = active + self.details = details + + +class DeploymentLocations(Model): + """List of available locations (regions or App Service Environments) for + deployment of App Service resources. + + :param locations: Available regions. + :type locations: list[~azure.mgmt.web.models.GeoRegion] + :param hosting_environments: Available App Service Environments with full + descriptions of the environments. + :type hosting_environments: + list[~azure.mgmt.web.models.AppServiceEnvironment] + :param hosting_environment_deployment_infos: Available App Service + Environments with basic information. + :type hosting_environment_deployment_infos: + list[~azure.mgmt.web.models.HostingEnvironmentDeploymentInfo] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[GeoRegion]'}, + 'hosting_environments': {'key': 'hostingEnvironments', 'type': '[AppServiceEnvironment]'}, + 'hosting_environment_deployment_infos': {'key': 'hostingEnvironmentDeploymentInfos', 'type': '[HostingEnvironmentDeploymentInfo]'}, + } + + def __init__(self, *, locations=None, hosting_environments=None, hosting_environment_deployment_infos=None, **kwargs) -> None: + super(DeploymentLocations, self).__init__(**kwargs) + self.locations = locations + self.hosting_environments = hosting_environments + self.hosting_environment_deployment_infos = hosting_environment_deployment_infos + + +class DetectorAbnormalTimePeriod(Model): + """Class representing Abnormal Time Period detected. + + :param start_time: Start time of the correlated event + :type start_time: datetime + :param end_time: End time of the correlated event + :type end_time: datetime + :param message: Message describing the event + :type message: str + :param source: Represents the name of the Detector + :type source: str + :param priority: Represents the rank of the Detector + :type priority: float + :param meta_data: Downtime metadata + :type meta_data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param type: Represents the type of the Detector. Possible values include: + 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', + 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' + :type type: str or ~azure.mgmt.web.models.IssueType + :param solutions: List of proposed solutions + :type solutions: list[~azure.mgmt.web.models.Solution] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'float'}, + 'meta_data': {'key': 'metaData', 'type': '[[NameValuePair]]'}, + 'type': {'key': 'type', 'type': 'IssueType'}, + 'solutions': {'key': 'solutions', 'type': '[Solution]'}, + } + + def __init__(self, *, start_time=None, end_time=None, message: str=None, source: str=None, priority: float=None, meta_data=None, type=None, solutions=None, **kwargs) -> None: + super(DetectorAbnormalTimePeriod, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.message = message + self.source = source + self.priority = priority + self.meta_data = meta_data + self.type = type + self.solutions = solutions + + +class DetectorDefinition(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Display name of the detector + :vartype display_name: str + :ivar description: Description of the detector + :vartype description: str + :ivar rank: Detector Rank + :vartype rank: float + :ivar is_enabled: Flag representing whether detector is enabled or not. + :vartype is_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'rank': {'readonly': True}, + 'is_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'rank': {'key': 'properties.rank', 'type': 'float'}, + 'is_enabled': {'key': 'properties.isEnabled', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DetectorDefinition, self).__init__(kind=kind, **kwargs) + self.display_name = None + self.description = None + self.rank = None + self.is_enabled = None + + +class DetectorInfo(Model): + """Definition of Detector. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: Short description of the detector and its purpose + :vartype description: str + :ivar category: Support Category + :vartype category: str + :ivar sub_category: Support Sub Category + :vartype sub_category: str + :ivar support_topic_id: Support Topic Id + :vartype support_topic_id: str + """ + + _validation = { + 'description': {'readonly': True}, + 'category': {'readonly': True}, + 'sub_category': {'readonly': True}, + 'support_topic_id': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'sub_category': {'key': 'subCategory', 'type': 'str'}, + 'support_topic_id': {'key': 'supportTopicId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DetectorInfo, self).__init__(**kwargs) + self.description = None + self.category = None + self.sub_category = None + self.support_topic_id = None + + +class DetectorResponse(ProxyOnlyResource): + """Class representing Response from Detector. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param metadata: metadata for the detector + :type metadata: ~azure.mgmt.web.models.DetectorInfo + :param dataset: Data Set + :type dataset: list[~azure.mgmt.web.models.DiagnosticData] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': 'DetectorInfo'}, + 'dataset': {'key': 'properties.dataset', 'type': '[DiagnosticData]'}, + } + + def __init__(self, *, kind: str=None, metadata=None, dataset=None, **kwargs) -> None: + super(DetectorResponse, self).__init__(kind=kind, **kwargs) + self.metadata = metadata + self.dataset = dataset + + +class DiagnosticAnalysis(ProxyOnlyResource): + """Class representing a diagnostic analysis done on an 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param abnormal_time_periods: List of time periods. + :type abnormal_time_periods: + list[~azure.mgmt.web.models.AbnormalTimePeriod] + :param payload: Data by each detector + :type payload: list[~azure.mgmt.web.models.AnalysisData] + :param non_correlated_detectors: Data by each detector for detectors that + did not corelate + :type non_correlated_detectors: + list[~azure.mgmt.web.models.DetectorDefinition] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[AbnormalTimePeriod]'}, + 'payload': {'key': 'properties.payload', 'type': '[AnalysisData]'}, + 'non_correlated_detectors': {'key': 'properties.nonCorrelatedDetectors', 'type': '[DetectorDefinition]'}, + } + + def __init__(self, *, kind: str=None, start_time=None, end_time=None, abnormal_time_periods=None, payload=None, non_correlated_detectors=None, **kwargs) -> None: + super(DiagnosticAnalysis, self).__init__(kind=kind, **kwargs) + self.start_time = start_time + self.end_time = end_time + self.abnormal_time_periods = abnormal_time_periods + self.payload = payload + self.non_correlated_detectors = non_correlated_detectors + + +class DiagnosticCategory(ProxyOnlyResource): + """Class representing detector definition. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Description of the diagnostic category + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DiagnosticCategory, self).__init__(kind=kind, **kwargs) + self.description = None + + +class DiagnosticData(Model): + """Set of data with rendering instructions. + + :param table: Data in table form + :type table: ~azure.mgmt.web.models.DataTableResponseObject + :param rendering_properties: Properties that describe how the table should + be rendered + :type rendering_properties: ~azure.mgmt.web.models.Rendering + """ + + _attribute_map = { + 'table': {'key': 'table', 'type': 'DataTableResponseObject'}, + 'rendering_properties': {'key': 'renderingProperties', 'type': 'Rendering'}, + } + + def __init__(self, *, table=None, rendering_properties=None, **kwargs) -> None: + super(DiagnosticData, self).__init__(**kwargs) + self.table = table + self.rendering_properties = rendering_properties + + +class DiagnosticDetectorResponse(ProxyOnlyResource): + """Class representing Response from Diagnostic Detectors. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param issue_detected: Flag representing Issue was detected. + :type issue_detected: bool + :param detector_definition: Detector's definition + :type detector_definition: ~azure.mgmt.web.models.DetectorDefinition + :param metrics: Metrics provided by the detector + :type metrics: list[~azure.mgmt.web.models.DiagnosticMetricSet] + :param abnormal_time_periods: List of Correlated events found by the + detector + :type abnormal_time_periods: + list[~azure.mgmt.web.models.DetectorAbnormalTimePeriod] + :param data: Additional Data that detector wants to send. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param response_meta_data: Meta Data + :type response_meta_data: ~azure.mgmt.web.models.ResponseMetaData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'issue_detected': {'key': 'properties.issueDetected', 'type': 'bool'}, + 'detector_definition': {'key': 'properties.detectorDefinition', 'type': 'DetectorDefinition'}, + 'metrics': {'key': 'properties.metrics', 'type': '[DiagnosticMetricSet]'}, + 'abnormal_time_periods': {'key': 'properties.abnormalTimePeriods', 'type': '[DetectorAbnormalTimePeriod]'}, + 'data': {'key': 'properties.data', 'type': '[[NameValuePair]]'}, + 'response_meta_data': {'key': 'properties.responseMetaData', 'type': 'ResponseMetaData'}, + } + + def __init__(self, *, kind: str=None, start_time=None, end_time=None, issue_detected: bool=None, detector_definition=None, metrics=None, abnormal_time_periods=None, data=None, response_meta_data=None, **kwargs) -> None: + super(DiagnosticDetectorResponse, self).__init__(kind=kind, **kwargs) + self.start_time = start_time + self.end_time = end_time + self.issue_detected = issue_detected + self.detector_definition = detector_definition + self.metrics = metrics + self.abnormal_time_periods = abnormal_time_periods + self.data = data + self.response_meta_data = response_meta_data + + +class DiagnosticMetricSample(Model): + """Class representing Diagnostic Metric. + + :param timestamp: Time at which metric is measured + :type timestamp: datetime + :param role_instance: Role Instance. Null if this counter is not per + instance + This is returned and should be whichever instance name we desire to be + returned + i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + where RDWORKERNAME is Machine name below and RoleInstance name in + parenthesis + :type role_instance: str + :param total: Total value of the metric. If multiple measurements are made + this will have sum of all. + :type total: float + :param maximum: Maximum of the metric sampled during the time period + :type maximum: float + :param minimum: Minimum of the metric sampled during the time period + :type minimum: float + :param is_aggregated: Whether the values are aggregates across all workers + or not + :type is_aggregated: bool + """ + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'role_instance': {'key': 'roleInstance', 'type': 'str'}, + 'total': {'key': 'total', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'is_aggregated': {'key': 'isAggregated', 'type': 'bool'}, + } + + def __init__(self, *, timestamp=None, role_instance: str=None, total: float=None, maximum: float=None, minimum: float=None, is_aggregated: bool=None, **kwargs) -> None: + super(DiagnosticMetricSample, self).__init__(**kwargs) + self.timestamp = timestamp + self.role_instance = role_instance + self.total = total + self.maximum = maximum + self.minimum = minimum + self.is_aggregated = is_aggregated + + +class DiagnosticMetricSet(Model): + """Class representing Diagnostic Metric information. + + :param name: Name of the metric + :type name: str + :param unit: Metric's unit + :type unit: str + :param start_time: Start time of the period + :type start_time: datetime + :param end_time: End time of the period + :type end_time: datetime + :param time_grain: Presented time grain. Supported grains at the moment + are PT1M, PT1H, P1D + :type time_grain: str + :param values: Collection of metric values for the selected period based + on the + {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + :type values: list[~azure.mgmt.web.models.DiagnosticMetricSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[DiagnosticMetricSample]'}, + } + + def __init__(self, *, name: str=None, unit: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: + super(DiagnosticMetricSet, self).__init__(**kwargs) + self.name = name + self.unit = unit + self.start_time = start_time + self.end_time = end_time + self.time_grain = time_grain + self.values = values + + +class Dimension(Model): + """Dimension of a resource metric. For e.g. instance specific HTTP requests + for a web app, + where instance name is dimension of the metric HTTP request. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param internal_name: + :type internal_name: str + :param to_be_exported_for_shoebox: + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, to_be_exported_for_shoebox: bool=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class Domain(Resource): + """Information about a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, *, location: str, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, tags=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: + super(Domain, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.contact_admin = contact_admin + self.contact_billing = contact_billing + self.contact_registrant = contact_registrant + self.contact_tech = contact_tech + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = privacy + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = auto_renew + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = consent + self.domain_not_renewable_reasons = None + self.dns_type = dns_type + self.dns_zone_id = dns_zone_id + self.target_dns_type = target_dns_type + self.auth_code = auth_code + + +class DomainAvailablilityCheckResult(Model): + """Domain availability check result. + + :param name: Name of the domain. + :type name: str + :param available: true if domain can be purchased using + CreateDomain API; otherwise, false. + :type available: bool + :param domain_type: Valid values are Regular domain: Azure will charge the + full price of domain registration, SoftDeleted: Purchasing this domain + will simply restore it and this operation will not cost anything. Possible + values include: 'Regular', 'SoftDeleted' + :type domain_type: str or ~azure.mgmt.web.models.DomainType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available': {'key': 'available', 'type': 'bool'}, + 'domain_type': {'key': 'domainType', 'type': 'DomainType'}, + } + + def __init__(self, *, name: str=None, available: bool=None, domain_type=None, **kwargs) -> None: + super(DomainAvailablilityCheckResult, self).__init__(**kwargs) + self.name = name + self.available = available + self.domain_type = domain_type + + +class DomainControlCenterSsoRequest(Model): + """Single sign-on request information for domain management. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar url: URL where the single sign-on request is to be made. + :vartype url: str + :ivar post_parameter_key: Post parameter key. + :vartype post_parameter_key: str + :ivar post_parameter_value: Post parameter value. Client should use + 'application/x-www-form-urlencoded' encoding for this value. + :vartype post_parameter_value: str + """ + + _validation = { + 'url': {'readonly': True}, + 'post_parameter_key': {'readonly': True}, + 'post_parameter_value': {'readonly': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'post_parameter_key': {'key': 'postParameterKey', 'type': 'str'}, + 'post_parameter_value': {'key': 'postParameterValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DomainControlCenterSsoRequest, self).__init__(**kwargs) + self.url = None + self.post_parameter_key = None + self.post_parameter_value = None + + +class DomainOwnershipIdentifier(ProxyOnlyResource): + """Domain ownership Identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param ownership_id: Ownership Id. + :type ownership_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'ownership_id': {'key': 'properties.ownershipId', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, ownership_id: str=None, **kwargs) -> None: + super(DomainOwnershipIdentifier, self).__init__(kind=kind, **kwargs) + self.ownership_id = ownership_id + + +class DomainPatchResource(ProxyOnlyResource): + """ARM resource for a domain. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param contact_admin: Required. Administrative contact. + :type contact_admin: ~azure.mgmt.web.models.Contact + :param contact_billing: Required. Billing contact. + :type contact_billing: ~azure.mgmt.web.models.Contact + :param contact_registrant: Required. Registrant contact. + :type contact_registrant: ~azure.mgmt.web.models.Contact + :param contact_tech: Required. Technical contact. + :type contact_tech: ~azure.mgmt.web.models.Contact + :ivar registration_status: Domain registration status. Possible values + include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled', + 'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending', + 'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown', 'Unlocked', + 'Unparked', 'Updated', 'JsonConverterFailed' + :vartype registration_status: str or ~azure.mgmt.web.models.DomainStatus + :ivar provisioning_state: Domain provisioning state. Possible values + include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :ivar name_servers: Name servers. + :vartype name_servers: list[str] + :param privacy: true if domain privacy is enabled for this + domain; otherwise, false. + :type privacy: bool + :ivar created_time: Domain creation timestamp. + :vartype created_time: datetime + :ivar expiration_time: Domain expiration timestamp. + :vartype expiration_time: datetime + :ivar last_renewed_time: Timestamp when the domain was renewed last time. + :vartype last_renewed_time: datetime + :param auto_renew: true if the domain should be automatically + renewed; otherwise, false. Default value: True . + :type auto_renew: bool + :ivar ready_for_dns_record_management: true if Azure can + assign this domain to App Service apps; otherwise, false. + This value will be true if domain registration status is + active and + it is hosted on name servers Azure has programmatic access to. + :vartype ready_for_dns_record_management: bool + :ivar managed_host_names: All hostnames derived from the domain and + assigned to Azure resources. + :vartype managed_host_names: list[~azure.mgmt.web.models.HostName] + :param consent: Required. Legal agreement consent. + :type consent: ~azure.mgmt.web.models.DomainPurchaseConsent + :ivar domain_not_renewable_reasons: Reasons why domain is not renewable. + :vartype domain_not_renewable_reasons: list[str] + :param dns_type: Current DNS type. Possible values include: 'AzureDns', + 'DefaultDomainRegistrarDns' + :type dns_type: str or ~azure.mgmt.web.models.DnsType + :param dns_zone_id: Azure DNS Zone to use + :type dns_zone_id: str + :param target_dns_type: Target DNS type (would be used for migration). + Possible values include: 'AzureDns', 'DefaultDomainRegistrarDns' + :type target_dns_type: str or ~azure.mgmt.web.models.DnsType + :param auth_code: + :type auth_code: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'contact_admin': {'required': True}, + 'contact_billing': {'required': True}, + 'contact_registrant': {'required': True}, + 'contact_tech': {'required': True}, + 'registration_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'name_servers': {'readonly': True}, + 'created_time': {'readonly': True}, + 'expiration_time': {'readonly': True}, + 'last_renewed_time': {'readonly': True}, + 'ready_for_dns_record_management': {'readonly': True}, + 'managed_host_names': {'readonly': True}, + 'consent': {'required': True}, + 'domain_not_renewable_reasons': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'}, + 'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'}, + 'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'}, + 'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'}, + 'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + 'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'}, + 'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'}, + 'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'}, + 'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'}, + 'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'}, + 'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'}, + 'dns_type': {'key': 'properties.dnsType', 'type': 'DnsType'}, + 'dns_zone_id': {'key': 'properties.dnsZoneId', 'type': 'str'}, + 'target_dns_type': {'key': 'properties.targetDnsType', 'type': 'DnsType'}, + 'auth_code': {'key': 'properties.authCode', 'type': 'str'}, + } + + def __init__(self, *, contact_admin, contact_billing, contact_registrant, contact_tech, consent, kind: str=None, privacy: bool=None, auto_renew: bool=True, dns_type=None, dns_zone_id: str=None, target_dns_type=None, auth_code: str=None, **kwargs) -> None: + super(DomainPatchResource, self).__init__(kind=kind, **kwargs) + self.contact_admin = contact_admin + self.contact_billing = contact_billing + self.contact_registrant = contact_registrant + self.contact_tech = contact_tech + self.registration_status = None + self.provisioning_state = None + self.name_servers = None + self.privacy = privacy + self.created_time = None + self.expiration_time = None + self.last_renewed_time = None + self.auto_renew = auto_renew + self.ready_for_dns_record_management = None + self.managed_host_names = None + self.consent = consent + self.domain_not_renewable_reasons = None + self.dns_type = dns_type + self.dns_zone_id = dns_zone_id + self.target_dns_type = target_dns_type + self.auth_code = auth_code + + +class DomainPurchaseConsent(Model): + """Domain purchase consent object, representing acceptance of applicable legal + agreements. + + :param agreement_keys: List of applicable legal agreement keys. This list + can be retrieved using ListLegalAgreements API under + TopLevelDomain resource. + :type agreement_keys: list[str] + :param agreed_by: Client IP address. + :type agreed_by: str + :param agreed_at: Timestamp when the agreements were accepted. + :type agreed_at: datetime + """ + + _attribute_map = { + 'agreement_keys': {'key': 'agreementKeys', 'type': '[str]'}, + 'agreed_by': {'key': 'agreedBy', 'type': 'str'}, + 'agreed_at': {'key': 'agreedAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, agreement_keys=None, agreed_by: str=None, agreed_at=None, **kwargs) -> None: + super(DomainPurchaseConsent, self).__init__(**kwargs) + self.agreement_keys = agreement_keys + self.agreed_by = agreed_by + self.agreed_at = agreed_at + + +class DomainRecommendationSearchParameters(Model): + """Domain recommendation search parameters. + + :param keywords: Keywords to be used for generating domain + recommendations. + :type keywords: str + :param max_domain_recommendations: Maximum number of recommendations. + :type max_domain_recommendations: int + """ + + _attribute_map = { + 'keywords': {'key': 'keywords', 'type': 'str'}, + 'max_domain_recommendations': {'key': 'maxDomainRecommendations', 'type': 'int'}, + } + + def __init__(self, *, keywords: str=None, max_domain_recommendations: int=None, **kwargs) -> None: + super(DomainRecommendationSearchParameters, self).__init__(**kwargs) + self.keywords = keywords + self.max_domain_recommendations = max_domain_recommendations + + +class EnabledConfig(Model): + """Enabled configuration. + + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, enabled: bool=None, **kwargs) -> None: + super(EnabledConfig, self).__init__(**kwargs) + self.enabled = enabled + + +class EndpointDependency(Model): + """A domain name that a service is reached at, including details of the + current connection status. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The IP Addresses and Ports used when connecting + to DomainName. + :type endpoint_details: list[~azure.mgmt.web.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__(self, *, domain_name: str=None, endpoint_details=None, **kwargs) -> None: + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = domain_name + self.endpoint_details = endpoint_details + + +class EndpointDetail(Model): + """Current TCP connectivity information from the App Service Environment to a + single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param latency: The time in milliseconds it takes for a TCP connection to + be created from the App Service Environment to this IpAddress at this + Port. + :type latency: float + :param is_accessable: Whether it is possible to create a TCP connection + from the App Service Environment to this IpAddress at this Port. + :type is_accessable: bool + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'latency': {'key': 'latency', 'type': 'float'}, + 'is_accessable': {'key': 'isAccessable', 'type': 'bool'}, + } + + def __init__(self, *, ip_address: str=None, port: int=None, latency: float=None, is_accessable: bool=None, **kwargs) -> None: + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = ip_address + self.port = port + self.latency = latency + self.is_accessable = is_accessable + + +class ErrorEntity(Model): + """Body of the error response returned from the API. + + :param extended_code: Type of error. + :type extended_code: str + :param message_template: Message template. + :type message_template: str + :param parameters: Parameters for the template. + :type parameters: list[str] + :param inner_errors: Inner errors. + :type inner_errors: list[~azure.mgmt.web.models.ErrorEntity] + :param code: Basic error code. + :type code: str + :param message: Any details of the error. + :type message: str + """ + + _attribute_map = { + 'extended_code': {'key': 'extendedCode', 'type': 'str'}, + 'message_template': {'key': 'messageTemplate', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'inner_errors': {'key': 'innerErrors', 'type': '[ErrorEntity]'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, extended_code: str=None, message_template: str=None, parameters=None, inner_errors=None, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorEntity, self).__init__(**kwargs) + self.extended_code = extended_code + self.message_template = message_template + self.parameters = parameters + self.inner_errors = inner_errors + self.code = code + self.message = message + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class FileSystemApplicationLogsConfig(Model): + """Application logs to file system configuration. + + :param level: Log level. Possible values include: 'Off', 'Verbose', + 'Information', 'Warning', 'Error'. Default value: "Off" . + :type level: str or ~azure.mgmt.web.models.LogLevel + """ + + _attribute_map = { + 'level': {'key': 'level', 'type': 'LogLevel'}, + } + + def __init__(self, *, level="Off", **kwargs) -> None: + super(FileSystemApplicationLogsConfig, self).__init__(**kwargs) + self.level = level + + +class FileSystemHttpLogsConfig(Model): + """Http logs to file system configuration. + + :param retention_in_mb: Maximum size in megabytes that http log files can + use. + When reached old log files will be removed to make space for new ones. + Value can range between 25 and 100. + :type retention_in_mb: int + :param retention_in_days: Retention in days. + Remove files older than X days. + 0 or lower means no retention. + :type retention_in_days: int + :param enabled: True if configuration is enabled, false if it is disabled + and null if configuration is not set. + :type enabled: bool + """ + + _validation = { + 'retention_in_mb': {'maximum': 100, 'minimum': 25}, + } + + _attribute_map = { + 'retention_in_mb': {'key': 'retentionInMb', 'type': 'int'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, retention_in_mb: int=None, retention_in_days: int=None, enabled: bool=None, **kwargs) -> None: + super(FileSystemHttpLogsConfig, self).__init__(**kwargs) + self.retention_in_mb = retention_in_mb + self.retention_in_days = retention_in_days + self.enabled = enabled + + +class FunctionEnvelope(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param function_app_id: Function App ID. + :type function_app_id: str + :param script_root_path_href: Script root path URI. + :type script_root_path_href: str + :param script_href: Script URI. + :type script_href: str + :param config_href: Config URI. + :type config_href: str + :param secrets_file_href: Secrets file URI. + :type secrets_file_href: str + :param href: Function URI. + :type href: str + :param config: Config information. + :type config: object + :param files: File list. + :type files: dict[str, str] + :param test_data: Test data used when testing via the Azure Portal. + :type test_data: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'function_app_id': {'key': 'properties.function_app_id', 'type': 'str'}, + 'script_root_path_href': {'key': 'properties.script_root_path_href', 'type': 'str'}, + 'script_href': {'key': 'properties.script_href', 'type': 'str'}, + 'config_href': {'key': 'properties.config_href', 'type': 'str'}, + 'secrets_file_href': {'key': 'properties.secrets_file_href', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'config': {'key': 'properties.config', 'type': 'object'}, + 'files': {'key': 'properties.files', 'type': '{str}'}, + 'test_data': {'key': 'properties.test_data', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, function_app_id: str=None, script_root_path_href: str=None, script_href: str=None, config_href: str=None, secrets_file_href: str=None, href: str=None, config=None, files=None, test_data: str=None, **kwargs) -> None: + super(FunctionEnvelope, self).__init__(kind=kind, **kwargs) + self.function_app_id = function_app_id + self.script_root_path_href = script_root_path_href + self.script_href = script_href + self.config_href = config_href + self.secrets_file_href = secrets_file_href + self.href = href + self.config = config + self.files = files + self.test_data = test_data + + +class FunctionSecrets(ProxyOnlyResource): + """Function secrets. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key: Secret key. + :type key: str + :param trigger_url: Trigger URL. + :type trigger_url: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key': {'key': 'properties.key', 'type': 'str'}, + 'trigger_url': {'key': 'properties.trigger_url', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, key: str=None, trigger_url: str=None, **kwargs) -> None: + super(FunctionSecrets, self).__init__(kind=kind, **kwargs) + self.key = key + self.trigger_url = trigger_url + + +class GeoDistribution(Model): + """A global distribution definition. + + :param location: Location. + :type location: str + :param number_of_workers: NumberOfWorkers. + :type number_of_workers: int + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + } + + def __init__(self, *, location: str=None, number_of_workers: int=None, **kwargs) -> None: + super(GeoDistribution, self).__init__(**kwargs) + self.location = location + self.number_of_workers = number_of_workers + + +class GeoRegion(ProxyOnlyResource): + """Geographical region. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar description: Region description. + :vartype description: str + :ivar display_name: Display name for region. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'description': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(GeoRegion, self).__init__(kind=kind, **kwargs) + self.description = None + self.display_name = None + + +class GlobalCsmSkuDescription(Model): + """A Global SKU Description. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service Tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(GlobalCsmSkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.locations = locations + self.capabilities = capabilities + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentDeploymentInfo(Model): + """Information needed to create resources on an App Service Environment. + + :param name: Name of the App Service Environment. + :type name: str + :param location: Location of the App Service Environment. + :type location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, location: str=None, **kwargs) -> None: + super(HostingEnvironmentDeploymentInfo, self).__init__(**kwargs) + self.name = name + self.location = location + + +class HostingEnvironmentDiagnostics(Model): + """Diagnostics for an App Service Environment. + + :param name: Name/identifier of the diagnostics. + :type name: str + :param diagnosics_output: Diagnostics output. + :type diagnosics_output: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'diagnosics_output': {'key': 'diagnosicsOutput', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, diagnosics_output: str=None, **kwargs) -> None: + super(HostingEnvironmentDiagnostics, self).__init__(**kwargs) + self.name = name + self.diagnosics_output = diagnosics_output + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostName(Model): + """Details of a hostname derived from a domain. + + :param name: Name of the hostname. + :type name: str + :param site_names: List of apps the hostname is assigned to. This list + will have more than one app only if the hostname is pointing to a Traffic + Manager. + :type site_names: list[str] + :param azure_resource_name: Name of the Azure resource the hostname is + assigned to. If it is assigned to a Traffic Manager then it will be the + Traffic Manager name otherwise it will be the app name. + :type azure_resource_name: str + :param azure_resource_type: Type of the Azure resource the hostname is + assigned to. Possible values include: 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Type of the DNS record. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Type of the hostname. Possible values include: + 'Verified', 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'site_names': {'key': 'siteNames', 'type': '[str]'}, + 'azure_resource_name': {'key': 'azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'hostNameType', 'type': 'HostNameType'}, + } + + def __init__(self, *, name: str=None, site_names=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, **kwargs) -> None: + super(HostName, self).__init__(**kwargs) + self.name = name + self.site_names = site_names + self.azure_resource_name = azure_resource_name + self.azure_resource_type = azure_resource_type + self.custom_host_name_dns_record_type = custom_host_name_dns_record_type + self.host_name_type = host_name_type + + +class HostNameBinding(ProxyOnlyResource): + """A hostname binding object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param site_name: App Service app name. + :type site_name: str + :param domain_id: Fully qualified ARM domain resource URI. + :type domain_id: str + :param azure_resource_name: Azure resource name. + :type azure_resource_name: str + :param azure_resource_type: Azure resource type. Possible values include: + 'Website', 'TrafficManager' + :type azure_resource_type: str or ~azure.mgmt.web.models.AzureResourceType + :param custom_host_name_dns_record_type: Custom DNS record type. Possible + values include: 'CName', 'A' + :type custom_host_name_dns_record_type: str or + ~azure.mgmt.web.models.CustomHostNameDnsRecordType + :param host_name_type: Hostname type. Possible values include: 'Verified', + 'Managed' + :type host_name_type: str or ~azure.mgmt.web.models.HostNameType + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param thumbprint: SSL certificate thumbprint + :type thumbprint: str + :ivar virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :vartype virtual_ip: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_ip': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'domain_id': {'key': 'properties.domainId', 'type': 'str'}, + 'azure_resource_name': {'key': 'properties.azureResourceName', 'type': 'str'}, + 'azure_resource_type': {'key': 'properties.azureResourceType', 'type': 'AzureResourceType'}, + 'custom_host_name_dns_record_type': {'key': 'properties.customHostNameDnsRecordType', 'type': 'CustomHostNameDnsRecordType'}, + 'host_name_type': {'key': 'properties.hostNameType', 'type': 'HostNameType'}, + 'ssl_state': {'key': 'properties.sslState', 'type': 'SslState'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'virtual_ip': {'key': 'properties.virtualIP', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, site_name: str=None, domain_id: str=None, azure_resource_name: str=None, azure_resource_type=None, custom_host_name_dns_record_type=None, host_name_type=None, ssl_state=None, thumbprint: str=None, **kwargs) -> None: + super(HostNameBinding, self).__init__(kind=kind, **kwargs) + self.site_name = site_name + self.domain_id = domain_id + self.azure_resource_name = azure_resource_name + self.azure_resource_type = azure_resource_type + self.custom_host_name_dns_record_type = custom_host_name_dns_record_type + self.host_name_type = host_name_type + self.ssl_state = ssl_state + self.thumbprint = thumbprint + self.virtual_ip = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HttpLogsConfig(Model): + """Http logs configuration. + + :param file_system: Http logs to file system configuration. + :type file_system: ~azure.mgmt.web.models.FileSystemHttpLogsConfig + :param azure_blob_storage: Http logs to azure blob storage configuration. + :type azure_blob_storage: + ~azure.mgmt.web.models.AzureBlobStorageHttpLogsConfig + """ + + _attribute_map = { + 'file_system': {'key': 'fileSystem', 'type': 'FileSystemHttpLogsConfig'}, + 'azure_blob_storage': {'key': 'azureBlobStorage', 'type': 'AzureBlobStorageHttpLogsConfig'}, + } + + def __init__(self, *, file_system=None, azure_blob_storage=None, **kwargs) -> None: + super(HttpLogsConfig, self).__init__(**kwargs) + self.file_system = file_system + self.azure_blob_storage = azure_blob_storage + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class HybridConnectionLimits(ProxyOnlyResource): + """Hybrid Connection limits contract. This is used to return the plan limits + of Hybrid Connections. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar current: The current number of Hybrid Connections. + :vartype current: int + :ivar maximum: The maximum number of Hybrid Connections allowed. + :vartype maximum: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'current': {'readonly': True}, + 'maximum': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'current': {'key': 'properties.current', 'type': 'int'}, + 'maximum': {'key': 'properties.maximum', 'type': 'int'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionLimits, self).__init__(kind=kind, **kwargs) + self.current = None + self.maximum = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class InboundEnvironmentEndpoint(Model): + """The IP Addresses and Ports that require inbound network access to and + within the subnet of the App Service Environment. + + :param description: Short text describing the purpose of the network + traffic. + :type description: str + :param endpoints: The IP addresses that network traffic will originate + from in cidr notation. + :type endpoints: list[str] + :param ports: The ports that network traffic will arrive to the App + Service Environment at. + :type ports: list[str] + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[str]'}, + 'ports': {'key': 'ports', 'type': '[str]'}, + } + + def __init__(self, *, description: str=None, endpoints=None, ports=None, **kwargs) -> None: + super(InboundEnvironmentEndpoint, self).__init__(**kwargs) + self.description = description + self.endpoints = endpoints + self.ports = ports + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + :param ip_address: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + :param vnet_subnet_resource_id: Virtual network resource id + :type vnet_subnet_resource_id: str + :param vnet_traffic_tag: (internal) Vnet traffic tag + :type vnet_traffic_tag: int + :param subnet_traffic_tag: (internal) Subnet traffic tag + :type subnet_traffic_tag: int + :param action: Allow or Deny access for this IP range. + :type action: str + :param tag: Defines what this IP filter will be used for. This is to + support IP filtering on proxies. Possible values include: 'Default', + 'XffProxy' + :type tag: str or ~azure.mgmt.web.models.IpFilterTag + :param priority: Priority of IP restriction rule. + :type priority: int + :param name: IP restriction rule name. + :type name: str + :param description: IP restriction rule description. + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, + 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, + 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str=None, subnet_mask: str=None, vnet_subnet_resource_id: str=None, vnet_traffic_tag: int=None, subnet_traffic_tag: int=None, action: str=None, tag=None, priority: int=None, name: str=None, description: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + self.vnet_subnet_resource_id = vnet_subnet_resource_id + self.vnet_traffic_tag = vnet_traffic_tag + self.subnet_traffic_tag = subnet_traffic_tag + self.action = action + self.tag = tag + self.priority = priority + self.name = name + self.description = description + + +class LocalizableString(Model): + """Localizable string object containing the name and a localized value. + + :param value: Non-localized name. + :type value: str + :param localized_value: Localized name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(LocalizableString, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value + + +class LogSpecification(Model): + """Log Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + self.user_assigned_identities = user_assigned_identities + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: Principal Id of user assigned identity + :vartype principal_id: str + :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class MetricAvailabilily(Model): + """Metric availability and retention. + + :param time_grain: Time grain. + :type time_grain: str + :param retention: Retention period for the current time grain. + :type retention: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, **kwargs) -> None: + super(MetricAvailabilily, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + + +class MetricAvailability(Model): + """Retention policy of a resource metric. + + :param time_grain: + :type time_grain: str + :param blob_duration: + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, blob_duration: str=None, **kwargs) -> None: + super(MetricAvailability, self).__init__(**kwargs) + self.time_grain = time_grain + self.blob_duration = blob_duration + + +class MetricDefinition(ProxyOnlyResource): + """Metadata for a metric. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.MetricAvailabilily] + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'display_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[MetricAvailabilily]'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MetricDefinition, self).__init__(kind=kind, **kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.display_name = None + + +class MetricSpecification(Model): + """Definition of a single resource metric. + + :param name: + :type name: str + :param display_name: + :type display_name: str + :param display_description: + :type display_description: str + :param unit: + :type unit: str + :param aggregation_type: + :type aggregation_type: str + :param supports_instance_level_aggregation: + :type supports_instance_level_aggregation: bool + :param enable_regional_mdm_account: + :type enable_regional_mdm_account: bool + :param source_mdm_account: + :type source_mdm_account: str + :param source_mdm_namespace: + :type source_mdm_namespace: str + :param metric_filter_pattern: + :type metric_filter_pattern: str + :param fill_gap_with_zero: + :type fill_gap_with_zero: bool + :param is_internal: + :type is_internal: bool + :param dimensions: + :type dimensions: list[~azure.mgmt.web.models.Dimension] + :param category: + :type category: str + :param availabilities: + :type availabilities: list[~azure.mgmt.web.models.MetricAvailability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supports_instance_level_aggregation': {'key': 'supportsInstanceLevelAggregation', 'type': 'bool'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'category': {'key': 'category', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[MetricAvailability]'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, supports_instance_level_aggregation: bool=None, enable_regional_mdm_account: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, metric_filter_pattern: str=None, fill_gap_with_zero: bool=None, is_internal: bool=None, dimensions=None, category: str=None, availabilities=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.supports_instance_level_aggregation = supports_instance_level_aggregation + self.enable_regional_mdm_account = enable_regional_mdm_account + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.metric_filter_pattern = metric_filter_pattern + self.fill_gap_with_zero = fill_gap_with_zero + self.is_internal = is_internal + self.dimensions = dimensions + self.category = category + self.availabilities = availabilities + + +class MigrateMySqlRequest(ProxyOnlyResource): + """MySQL migration request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string: Required. Connection string to the remote MySQL + database. + :type connection_string: str + :param migration_type: Required. The type of migration operation to be + done. Possible values include: 'LocalToRemote', 'RemoteToLocal' + :type migration_type: str or ~azure.mgmt.web.models.MySqlMigrationType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'connection_string': {'required': True}, + 'migration_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'migration_type': {'key': 'properties.migrationType', 'type': 'MySqlMigrationType'}, + } + + def __init__(self, *, connection_string: str, migration_type, kind: str=None, **kwargs) -> None: + super(MigrateMySqlRequest, self).__init__(kind=kind, **kwargs) + self.connection_string = connection_string + self.migration_type = migration_type + + +class MigrateMySqlStatus(ProxyOnlyResource): + """MySQL migration status. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar migration_operation_status: Status of the migration task. Possible + values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :vartype migration_operation_status: str or + ~azure.mgmt.web.models.OperationStatus + :ivar operation_id: Operation ID for the migration task. + :vartype operation_id: str + :ivar local_my_sql_enabled: True if the web app has in app MySql enabled + :vartype local_my_sql_enabled: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'migration_operation_status': {'readonly': True}, + 'operation_id': {'readonly': True}, + 'local_my_sql_enabled': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'migration_operation_status': {'key': 'properties.migrationOperationStatus', 'type': 'OperationStatus'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MigrateMySqlStatus, self).__init__(kind=kind, **kwargs) + self.migration_operation_status = None + self.operation_id = None + self.local_my_sql_enabled = None + + +class MSDeploy(ProxyOnlyResource): + """MSDeploy ARM PUT 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param package_uri: Package URI + :type package_uri: str + :param connection_string: SQL Connection String + :type connection_string: str + :param db_type: Database Type + :type db_type: str + :param set_parameters_xml_file_uri: URI of MSDeploy Parameters file. Must + not be set if SetParameters is used. + :type set_parameters_xml_file_uri: str + :param set_parameters: MSDeploy Parameters. Must not be set if + SetParametersXmlFileUri is used. + :type set_parameters: dict[str, str] + :param skip_app_data: Controls whether the MSDeploy operation skips the + App_Data directory. + If set to true, the existing App_Data directory on the + destination + will not be deleted, and any App_Data directory in the source will be + ignored. + Setting is false by default. + :type skip_app_data: bool + :param app_offline: Sets the AppOffline rule while the MSDeploy operation + executes. + Setting is false by default. + :type app_offline: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, + 'db_type': {'key': 'properties.dbType', 'type': 'str'}, + 'set_parameters_xml_file_uri': {'key': 'properties.setParametersXmlFileUri', 'type': 'str'}, + 'set_parameters': {'key': 'properties.setParameters', 'type': '{str}'}, + 'skip_app_data': {'key': 'properties.skipAppData', 'type': 'bool'}, + 'app_offline': {'key': 'properties.appOffline', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, package_uri: str=None, connection_string: str=None, db_type: str=None, set_parameters_xml_file_uri: str=None, set_parameters=None, skip_app_data: bool=None, app_offline: bool=None, **kwargs) -> None: + super(MSDeploy, self).__init__(kind=kind, **kwargs) + self.package_uri = package_uri + self.connection_string = connection_string + self.db_type = db_type + self.set_parameters_xml_file_uri = set_parameters_xml_file_uri + self.set_parameters = set_parameters + self.skip_app_data = skip_app_data + self.app_offline = app_offline + + +class MSDeployLog(ProxyOnlyResource): + """MSDeploy log. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar entries: List of log entry messages + :vartype entries: list[~azure.mgmt.web.models.MSDeployLogEntry] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'entries': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entries': {'key': 'properties.entries', 'type': '[MSDeployLogEntry]'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MSDeployLog, self).__init__(kind=kind, **kwargs) + self.entries = None + + +class MSDeployLogEntry(Model): + """MSDeploy log entry. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time: Timestamp of log entry + :vartype time: datetime + :ivar type: Log entry type. Possible values include: 'Message', 'Warning', + 'Error' + :vartype type: str or ~azure.mgmt.web.models.MSDeployLogEntryType + :ivar message: Log entry message + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'type': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'type': {'key': 'type', 'type': 'MSDeployLogEntryType'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(MSDeployLogEntry, self).__init__(**kwargs) + self.time = None + self.type = None + self.message = None + + +class MSDeployStatus(ProxyOnlyResource): + """MSDeploy ARM response. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deployer: Username of deployer + :vartype deployer: str + :ivar provisioning_state: Provisioning state. Possible values include: + 'accepted', 'running', 'succeeded', 'failed', 'canceled' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.MSDeployProvisioningState + :ivar start_time: Start time of deploy operation + :vartype start_time: datetime + :ivar end_time: End time of deploy operation + :vartype end_time: datetime + :ivar complete: Whether the deployment operation has completed + :vartype complete: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deployer': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'complete': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deployer': {'key': 'properties.deployer', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'MSDeployProvisioningState'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'complete': {'key': 'properties.complete', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(MSDeployStatus, self).__init__(kind=kind, **kwargs) + self.deployer = None + self.provisioning_state = None + self.start_time = None + self.end_time = None + self.complete = None + + +class NameIdentifier(Model): + """Identifies an object. + + :param name: Name of the object. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, **kwargs) -> None: + super(NameIdentifier, self).__init__(**kwargs) + self.name = name + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class NetworkAccessControlEntry(Model): + """Network access control entry. + + :param action: Action object. Possible values include: 'Permit', 'Deny' + :type action: str or ~azure.mgmt.web.models.AccessControlEntryAction + :param description: Description of network access control entry. + :type description: str + :param order: Order of precedence. + :type order: int + :param remote_subnet: Remote subnet. + :type remote_subnet: str + """ + + _attribute_map = { + 'action': {'key': 'action', 'type': 'AccessControlEntryAction'}, + 'description': {'key': 'description', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'int'}, + 'remote_subnet': {'key': 'remoteSubnet', 'type': 'str'}, + } + + def __init__(self, *, action=None, description: str=None, order: int=None, remote_subnet: str=None, **kwargs) -> None: + super(NetworkAccessControlEntry, self).__init__(**kwargs) + self.action = action + self.description = description + self.order = order + self.remote_subnet = remote_subnet + + +class NetworkFeatures(ProxyOnlyResource): + """Full view of network features for an app (presently VNET integration and + Hybrid Connections). + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar virtual_network_name: The Virtual Network name. + :vartype virtual_network_name: str + :ivar virtual_network_connection: The Virtual Network summary view. + :vartype virtual_network_connection: ~azure.mgmt.web.models.VnetInfo + :ivar hybrid_connections: The Hybrid Connections summary view. + :vartype hybrid_connections: + list[~azure.mgmt.web.models.RelayServiceConnectionEntity] + :ivar hybrid_connections_v2: The Hybrid Connection V2 (Service Bus) view. + :vartype hybrid_connections_v2: + list[~azure.mgmt.web.models.HybridConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_name': {'readonly': True}, + 'virtual_network_connection': {'readonly': True}, + 'hybrid_connections': {'readonly': True}, + 'hybrid_connections_v2': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'virtual_network_name': {'key': 'properties.virtualNetworkName', 'type': 'str'}, + 'virtual_network_connection': {'key': 'properties.virtualNetworkConnection', 'type': 'VnetInfo'}, + 'hybrid_connections': {'key': 'properties.hybridConnections', 'type': '[RelayServiceConnectionEntity]'}, + 'hybrid_connections_v2': {'key': 'properties.hybridConnectionsV2', 'type': '[HybridConnection]'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(NetworkFeatures, self).__init__(kind=kind, **kwargs) + self.virtual_network_name = None + self.virtual_network_connection = None + self.hybrid_connections = None + self.hybrid_connections_v2 = None + + +class NetworkTrace(Model): + """Network trace. + + :param path: Local file path for the captured network trace file. + :type path: str + :param status: Current status of the network trace operation, same as + Operation.Status (InProgress/Succeeded/Failed). + :type status: str + :param message: Detailed message of a network trace operation, e.g. error + message in case of failure. + :type message: str + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, path: str=None, status: str=None, message: str=None, **kwargs) -> None: + super(NetworkTrace, self).__init__(**kwargs) + self.path = path + self.status = status + self.message = message + + +class Operation(Model): + """An operation on a resource. + + :param id: Operation ID. + :type id: str + :param name: Operation name. + :type name: str + :param status: The current status of the operation. Possible values + include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created' + :type status: str or ~azure.mgmt.web.models.OperationStatus + :param errors: Any errors associate with the operation. + :type errors: list[~azure.mgmt.web.models.ErrorEntity] + :param created_time: Time when operation has started. + :type created_time: datetime + :param modified_time: Time when operation has been updated. + :type modified_time: datetime + :param expiration_time: Time when operation will expire. + :type expiration_time: datetime + :param geo_master_operation_id: Applicable only for stamp operation ids. + :type geo_master_operation_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'OperationStatus'}, + 'errors': {'key': 'errors', 'type': '[ErrorEntity]'}, + 'created_time': {'key': 'createdTime', 'type': 'iso-8601'}, + 'modified_time': {'key': 'modifiedTime', 'type': 'iso-8601'}, + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'geo_master_operation_id': {'key': 'geoMasterOperationId', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, status=None, errors=None, created_time=None, modified_time=None, expiration_time=None, geo_master_operation_id: str=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.errors = errors + self.created_time = created_time + self.modified_time = modified_time + self.expiration_time = expiration_time + self.geo_master_operation_id = geo_master_operation_id + + +class OutboundEnvironmentEndpoint(Model): + """Endpoints accessed for a common purpose that the App Service Environment + requires outbound network access to. + + :param category: The type of service accessed by the App Service + Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active + Directory. + :type category: str + :param endpoints: The endpoints that the App Service Environment reaches + the service at. + :type endpoints: list[~azure.mgmt.web.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__(self, *, category: str=None, endpoints=None, **kwargs) -> None: + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = category + self.endpoints = endpoints + + +class PerfMonResponse(Model): + """Performance monitor API response. + + :param code: The response code. + :type code: str + :param message: The message. + :type message: str + :param data: The performance monitor counters. + :type data: ~azure.mgmt.web.models.PerfMonSet + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'PerfMonSet'}, + } + + def __init__(self, *, code: str=None, message: str=None, data=None, **kwargs) -> None: + super(PerfMonResponse, self).__init__(**kwargs) + self.code = code + self.message = message + self.data = data + + +class PerfMonSample(Model): + """Performance monitor sample in a set. + + :param time: Point in time for which counter was measured. + :type time: datetime + :param instance_name: Name of the server on which the measurement is made. + :type instance_name: str + :param value: Value of counter at a certain time. + :type value: float + """ + + _attribute_map = { + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'instance_name': {'key': 'instanceName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'float'}, + } + + def __init__(self, *, time=None, instance_name: str=None, value: float=None, **kwargs) -> None: + super(PerfMonSample, self).__init__(**kwargs) + self.time = time + self.instance_name = instance_name + self.value = value + + +class PerfMonSet(Model): + """Metric information. + + :param name: Unique key name of the counter. + :type name: str + :param start_time: Start time of the period. + :type start_time: datetime + :param end_time: End time of the period. + :type end_time: datetime + :param time_grain: Presented time grain. + :type time_grain: str + :param values: Collection of workers that are active during this time. + :type values: list[~azure.mgmt.web.models.PerfMonSample] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[PerfMonSample]'}, + } + + def __init__(self, *, name: str=None, start_time=None, end_time=None, time_grain: str=None, values=None, **kwargs) -> None: + super(PerfMonSet, self).__init__(**kwargs) + self.name = name + self.start_time = start_time + self.end_time = end_time + self.time_grain = time_grain + self.values = values + + +class PremierAddOn(Resource): + """Premier add-on. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, sku: str=None, product: str=None, vendor: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: + super(PremierAddOn, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.sku = sku + self.product = product + self.vendor = vendor + self.marketplace_publisher = marketplace_publisher + self.marketplace_offer = marketplace_offer + + +class PremierAddOnOffer(ProxyOnlyResource): + """Premier add-on offer. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on offer Product. + :type product: str + :param vendor: Premier add on offer Vendor. + :type vendor: str + :param promo_code_required: true if promotion code is + required; otherwise, false. + :type promo_code_required: bool + :param quota: Premier add on offer Quota. + :type quota: int + :param web_hosting_plan_restrictions: App Service plans this offer is + restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', + 'Standard', 'Premium' + :type web_hosting_plan_restrictions: str or + ~azure.mgmt.web.models.AppServicePlanRestrictions + :param privacy_policy_url: Privacy policy URL. + :type privacy_policy_url: str + :param legal_terms_url: Legal terms URL. + :type legal_terms_url: str + :param marketplace_publisher: Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'promo_code_required': {'key': 'properties.promoCodeRequired', 'type': 'bool'}, + 'quota': {'key': 'properties.quota', 'type': 'int'}, + 'web_hosting_plan_restrictions': {'key': 'properties.webHostingPlanRestrictions', 'type': 'AppServicePlanRestrictions'}, + 'privacy_policy_url': {'key': 'properties.privacyPolicyUrl', 'type': 'str'}, + 'legal_terms_url': {'key': 'properties.legalTermsUrl', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, sku: str=None, product: str=None, vendor: str=None, promo_code_required: bool=None, quota: int=None, web_hosting_plan_restrictions=None, privacy_policy_url: str=None, legal_terms_url: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: + super(PremierAddOnOffer, self).__init__(kind=kind, **kwargs) + self.sku = sku + self.product = product + self.vendor = vendor + self.promo_code_required = promo_code_required + self.quota = quota + self.web_hosting_plan_restrictions = web_hosting_plan_restrictions + self.privacy_policy_url = privacy_policy_url + self.legal_terms_url = legal_terms_url + self.marketplace_publisher = marketplace_publisher + self.marketplace_offer = marketplace_offer + + +class PremierAddOnPatchResource(ProxyOnlyResource): + """ARM resource for a PremierAddOn. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param sku: Premier add on SKU. + :type sku: str + :param product: Premier add on Product. + :type product: str + :param vendor: Premier add on Vendor. + :type vendor: str + :param marketplace_publisher: Premier add on Marketplace publisher. + :type marketplace_publisher: str + :param marketplace_offer: Premier add on Marketplace offer. + :type marketplace_offer: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'properties.sku', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'vendor': {'key': 'properties.vendor', 'type': 'str'}, + 'marketplace_publisher': {'key': 'properties.marketplacePublisher', 'type': 'str'}, + 'marketplace_offer': {'key': 'properties.marketplaceOffer', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, sku: str=None, product: str=None, vendor: str=None, marketplace_publisher: str=None, marketplace_offer: str=None, **kwargs) -> None: + super(PremierAddOnPatchResource, self).__init__(kind=kind, **kwargs) + self.sku = sku + self.product = product + self.vendor = vendor + self.marketplace_publisher = marketplace_publisher + self.marketplace_offer = marketplace_offer + + +class PrivateAccess(ProxyOnlyResource): + """Description of the parameters of Private Access for a Web Site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: Whether private access is enabled or not. + :type enabled: bool + :param virtual_networks: The Virtual Networks (and subnets) allowed to + access the site privately. + :type virtual_networks: + list[~azure.mgmt.web.models.PrivateAccessVirtualNetwork] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[PrivateAccessVirtualNetwork]'}, + } + + def __init__(self, *, kind: str=None, enabled: bool=None, virtual_networks=None, **kwargs) -> None: + super(PrivateAccess, self).__init__(kind=kind, **kwargs) + self.enabled = enabled + self.virtual_networks = virtual_networks + + +class PrivateAccessSubnet(Model): + """Description of a Virtual Network subnet that is useable for private site + access. + + :param name: The name of the subnet. + :type name: str + :param key: The key (ID) of the subnet. + :type key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, key: int=None, **kwargs) -> None: + super(PrivateAccessSubnet, self).__init__(**kwargs) + self.name = name + self.key = key + + +class PrivateAccessVirtualNetwork(Model): + """Description of a Virtual Network that is useable for private site access. + + :param name: The name of the Virtual Network. + :type name: str + :param key: The key (ID) of the Virtual Network. + :type key: int + :param resource_id: The ARM uri of the Virtual Network + :type resource_id: str + :param subnets: A List of subnets that access is allowed to on this + Virtual Network. An empty array (but not null) is interpreted to mean that + all subnets are allowed within this Virtual Network. + :type subnets: list[~azure.mgmt.web.models.PrivateAccessSubnet] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'int'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'subnets': {'key': 'subnets', 'type': '[PrivateAccessSubnet]'}, + } + + def __init__(self, *, name: str=None, key: int=None, resource_id: str=None, subnets=None, **kwargs) -> None: + super(PrivateAccessVirtualNetwork, self).__init__(**kwargs) + self.name = name + self.key = key + self.resource_id = resource_id + self.subnets = subnets + + +class ProcessInfo(ProxyOnlyResource): + """Process 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar identifier: ARM Identifier for deployment. + :vartype identifier: int + :param deployment_name: Deployment name. + :type deployment_name: str + :param href: HRef URI. + :type href: str + :param minidump: Minidump URI. + :type minidump: str + :param is_profile_running: Is profile running? + :type is_profile_running: bool + :param is_iis_profile_running: Is the IIS Profile running? + :type is_iis_profile_running: bool + :param iis_profile_timeout_in_seconds: IIS Profile timeout (seconds). + :type iis_profile_timeout_in_seconds: float + :param parent: Parent process. + :type parent: str + :param children: Child process list. + :type children: list[str] + :param threads: Thread list. + :type threads: list[~azure.mgmt.web.models.ProcessThreadInfo] + :param open_file_handles: List of open files. + :type open_file_handles: list[str] + :param modules: List of modules. + :type modules: list[~azure.mgmt.web.models.ProcessModuleInfo] + :param file_name: File name of this process. + :type file_name: str + :param command_line: Command line. + :type command_line: str + :param user_name: User name. + :type user_name: str + :param handle_count: Handle count. + :type handle_count: int + :param module_count: Module count. + :type module_count: int + :param thread_count: Thread count. + :type thread_count: int + :param start_time: Start time. + :type start_time: datetime + :param total_cpu_time: Total CPU time. + :type total_cpu_time: str + :param user_cpu_time: User CPU time. + :type user_cpu_time: str + :param privileged_cpu_time: Privileged CPU time. + :type privileged_cpu_time: str + :param working_set: Working set. + :type working_set: long + :param peak_working_set: Peak working set. + :type peak_working_set: long + :param private_memory: Private memory size. + :type private_memory: long + :param virtual_memory: Virtual memory size. + :type virtual_memory: long + :param peak_virtual_memory: Peak virtual memory usage. + :type peak_virtual_memory: long + :param paged_system_memory: Paged system memory. + :type paged_system_memory: long + :param non_paged_system_memory: Non-paged system memory. + :type non_paged_system_memory: long + :param paged_memory: Paged memory. + :type paged_memory: long + :param peak_paged_memory: Peak paged memory. + :type peak_paged_memory: long + :param time_stamp: Time stamp. + :type time_stamp: datetime + :param environment_variables: List of environment variables. + :type environment_variables: dict[str, str] + :param is_scm_site: Is this the SCM site? + :type is_scm_site: bool + :param is_webjob: Is this a Web Job? + :type is_webjob: bool + :param description: Description of process. + :type description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identifier': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier': {'key': 'properties.identifier', 'type': 'int'}, + 'deployment_name': {'key': 'properties.deployment_name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'minidump': {'key': 'properties.minidump', 'type': 'str'}, + 'is_profile_running': {'key': 'properties.is_profile_running', 'type': 'bool'}, + 'is_iis_profile_running': {'key': 'properties.is_iis_profile_running', 'type': 'bool'}, + 'iis_profile_timeout_in_seconds': {'key': 'properties.iis_profile_timeout_in_seconds', 'type': 'float'}, + 'parent': {'key': 'properties.parent', 'type': 'str'}, + 'children': {'key': 'properties.children', 'type': '[str]'}, + 'threads': {'key': 'properties.threads', 'type': '[ProcessThreadInfo]'}, + 'open_file_handles': {'key': 'properties.open_file_handles', 'type': '[str]'}, + 'modules': {'key': 'properties.modules', 'type': '[ProcessModuleInfo]'}, + 'file_name': {'key': 'properties.file_name', 'type': 'str'}, + 'command_line': {'key': 'properties.command_line', 'type': 'str'}, + 'user_name': {'key': 'properties.user_name', 'type': 'str'}, + 'handle_count': {'key': 'properties.handle_count', 'type': 'int'}, + 'module_count': {'key': 'properties.module_count', 'type': 'int'}, + 'thread_count': {'key': 'properties.thread_count', 'type': 'int'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'total_cpu_time': {'key': 'properties.total_cpu_time', 'type': 'str'}, + 'user_cpu_time': {'key': 'properties.user_cpu_time', 'type': 'str'}, + 'privileged_cpu_time': {'key': 'properties.privileged_cpu_time', 'type': 'str'}, + 'working_set': {'key': 'properties.working_set', 'type': 'long'}, + 'peak_working_set': {'key': 'properties.peak_working_set', 'type': 'long'}, + 'private_memory': {'key': 'properties.private_memory', 'type': 'long'}, + 'virtual_memory': {'key': 'properties.virtual_memory', 'type': 'long'}, + 'peak_virtual_memory': {'key': 'properties.peak_virtual_memory', 'type': 'long'}, + 'paged_system_memory': {'key': 'properties.paged_system_memory', 'type': 'long'}, + 'non_paged_system_memory': {'key': 'properties.non_paged_system_memory', 'type': 'long'}, + 'paged_memory': {'key': 'properties.paged_memory', 'type': 'long'}, + 'peak_paged_memory': {'key': 'properties.peak_paged_memory', 'type': 'long'}, + 'time_stamp': {'key': 'properties.time_stamp', 'type': 'iso-8601'}, + 'environment_variables': {'key': 'properties.environment_variables', 'type': '{str}'}, + 'is_scm_site': {'key': 'properties.is_scm_site', 'type': 'bool'}, + 'is_webjob': {'key': 'properties.is_webjob', 'type': 'bool'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, deployment_name: str=None, href: str=None, minidump: str=None, is_profile_running: bool=None, is_iis_profile_running: bool=None, iis_profile_timeout_in_seconds: float=None, parent: str=None, children=None, threads=None, open_file_handles=None, modules=None, file_name: str=None, command_line: str=None, user_name: str=None, handle_count: int=None, module_count: int=None, thread_count: int=None, start_time=None, total_cpu_time: str=None, user_cpu_time: str=None, privileged_cpu_time: str=None, working_set: int=None, peak_working_set: int=None, private_memory: int=None, virtual_memory: int=None, peak_virtual_memory: int=None, paged_system_memory: int=None, non_paged_system_memory: int=None, paged_memory: int=None, peak_paged_memory: int=None, time_stamp=None, environment_variables=None, is_scm_site: bool=None, is_webjob: bool=None, description: str=None, **kwargs) -> None: + super(ProcessInfo, self).__init__(kind=kind, **kwargs) + self.identifier = None + self.deployment_name = deployment_name + self.href = href + self.minidump = minidump + self.is_profile_running = is_profile_running + self.is_iis_profile_running = is_iis_profile_running + self.iis_profile_timeout_in_seconds = iis_profile_timeout_in_seconds + self.parent = parent + self.children = children + self.threads = threads + self.open_file_handles = open_file_handles + self.modules = modules + self.file_name = file_name + self.command_line = command_line + self.user_name = user_name + self.handle_count = handle_count + self.module_count = module_count + self.thread_count = thread_count + self.start_time = start_time + self.total_cpu_time = total_cpu_time + self.user_cpu_time = user_cpu_time + self.privileged_cpu_time = privileged_cpu_time + self.working_set = working_set + self.peak_working_set = peak_working_set + self.private_memory = private_memory + self.virtual_memory = virtual_memory + self.peak_virtual_memory = peak_virtual_memory + self.paged_system_memory = paged_system_memory + self.non_paged_system_memory = non_paged_system_memory + self.paged_memory = paged_memory + self.peak_paged_memory = peak_paged_memory + self.time_stamp = time_stamp + self.environment_variables = environment_variables + self.is_scm_site = is_scm_site + self.is_webjob = is_webjob + self.description = description + + +class ProcessModuleInfo(ProxyOnlyResource): + """Process Module 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param base_address: Base address. Used as module identifier in ARM + resource URI. + :type base_address: str + :param file_name: File name. + :type file_name: str + :param href: HRef URI. + :type href: str + :param file_path: File path. + :type file_path: str + :param module_memory_size: Module memory size. + :type module_memory_size: int + :param file_version: File version. + :type file_version: str + :param file_description: File description. + :type file_description: str + :param product: Product name. + :type product: str + :param product_version: Product version. + :type product_version: str + :param is_debug: Is debug? + :type is_debug: bool + :param language: Module language (locale). + :type language: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'base_address': {'key': 'properties.base_address', 'type': 'str'}, + 'file_name': {'key': 'properties.file_name', 'type': 'str'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'file_path': {'key': 'properties.file_path', 'type': 'str'}, + 'module_memory_size': {'key': 'properties.module_memory_size', 'type': 'int'}, + 'file_version': {'key': 'properties.file_version', 'type': 'str'}, + 'file_description': {'key': 'properties.file_description', 'type': 'str'}, + 'product': {'key': 'properties.product', 'type': 'str'}, + 'product_version': {'key': 'properties.product_version', 'type': 'str'}, + 'is_debug': {'key': 'properties.is_debug', 'type': 'bool'}, + 'language': {'key': 'properties.language', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, base_address: str=None, file_name: str=None, href: str=None, file_path: str=None, module_memory_size: int=None, file_version: str=None, file_description: str=None, product: str=None, product_version: str=None, is_debug: bool=None, language: str=None, **kwargs) -> None: + super(ProcessModuleInfo, self).__init__(kind=kind, **kwargs) + self.base_address = base_address + self.file_name = file_name + self.href = href + self.file_path = file_path + self.module_memory_size = module_memory_size + self.file_version = file_version + self.file_description = file_description + self.product = product + self.product_version = product_version + self.is_debug = is_debug + self.language = language + + +class ProcessThreadInfo(ProxyOnlyResource): + """Process Thread 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar identifier: Site extension ID. + :vartype identifier: int + :param href: HRef URI. + :type href: str + :param process: Process URI. + :type process: str + :param start_address: Start address. + :type start_address: str + :param current_priority: Current thread priority. + :type current_priority: int + :param priority_level: Thread priority level. + :type priority_level: str + :param base_priority: Base priority. + :type base_priority: int + :param start_time: Start time. + :type start_time: datetime + :param total_processor_time: Total processor time. + :type total_processor_time: str + :param user_processor_time: User processor time. + :type user_processor_time: str + :param priviledged_processor_time: Privileged processor time. + :type priviledged_processor_time: str + :param state: Thread state. + :type state: str + :param wait_reason: Wait reason. + :type wait_reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'identifier': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier': {'key': 'properties.identifier', 'type': 'int'}, + 'href': {'key': 'properties.href', 'type': 'str'}, + 'process': {'key': 'properties.process', 'type': 'str'}, + 'start_address': {'key': 'properties.start_address', 'type': 'str'}, + 'current_priority': {'key': 'properties.current_priority', 'type': 'int'}, + 'priority_level': {'key': 'properties.priority_level', 'type': 'str'}, + 'base_priority': {'key': 'properties.base_priority', 'type': 'int'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'total_processor_time': {'key': 'properties.total_processor_time', 'type': 'str'}, + 'user_processor_time': {'key': 'properties.user_processor_time', 'type': 'str'}, + 'priviledged_processor_time': {'key': 'properties.priviledged_processor_time', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'wait_reason': {'key': 'properties.wait_reason', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, href: str=None, process: str=None, start_address: str=None, current_priority: int=None, priority_level: str=None, base_priority: int=None, start_time=None, total_processor_time: str=None, user_processor_time: str=None, priviledged_processor_time: str=None, state: str=None, wait_reason: str=None, **kwargs) -> None: + super(ProcessThreadInfo, self).__init__(kind=kind, **kwargs) + self.identifier = None + self.href = href + self.process = process + self.start_address = start_address + self.current_priority = current_priority + self.priority_level = priority_level + self.base_priority = base_priority + self.start_time = start_time + self.total_processor_time = total_processor_time + self.user_processor_time = user_processor_time + self.priviledged_processor_time = priviledged_processor_time + self.state = state + self.wait_reason = wait_reason + + +class PublicCertificate(ProxyOnlyResource): + """Public certificate object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param blob: Public Certificate byte array + :type blob: bytearray + :param public_certificate_location: Public Certificate Location. Possible + values include: 'CurrentUserMy', 'LocalMachineMy', 'Unknown' + :type public_certificate_location: str or + ~azure.mgmt.web.models.PublicCertificateLocation + :ivar thumbprint: Certificate Thumbprint + :vartype thumbprint: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'thumbprint': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'blob': {'key': 'properties.blob', 'type': 'bytearray'}, + 'public_certificate_location': {'key': 'properties.publicCertificateLocation', 'type': 'PublicCertificateLocation'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, blob: bytearray=None, public_certificate_location=None, **kwargs) -> None: + super(PublicCertificate, self).__init__(kind=kind, **kwargs) + self.blob = blob + self.public_certificate_location = public_certificate_location + self.thumbprint = None + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class Recommendation(ProxyOnlyResource): + """Represents a recommendation result generated by the recommendation engine. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param creation_time: Timestamp when this instance was created. + :type creation_time: datetime + :param recommendation_id: A GUID value that each recommendation object is + associated with. + :type recommendation_id: str + :param resource_id: Full ARM resource ID string that this recommendation + object is associated with. + :type resource_id: str + :param resource_scope: Name of a resource type this recommendation + applies, e.g. Subscription, ServerFarm, Site. Possible values include: + 'ServerFarm', 'Subscription', 'WebSite' + :type resource_scope: str or ~azure.mgmt.web.models.ResourceScopeType + :param rule_name: Unique name of the rule. + :type rule_name: str + :param display_name: UI friendly name of the rule (may not be unique). + :type display_name: str + :param message: Recommendation text. + :type message: str + :param level: Level indicating how critical this recommendation can + impact. Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of channels that this recommendation can apply. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :ivar category_tags: The list of category tags that this recommendation + belongs to. + :vartype category_tags: list[str] + :param action_name: Name of action recommended by this object. + :type action_name: str + :param enabled: True if this recommendation is still valid (i.e. + "actionable"). False if it is invalid. + :type enabled: int + :param states: The list of states of this recommendation. If it's null + then it should be considered "Active". + :type states: list[str] + :param start_time: The beginning time in UTC of a range that the + recommendation refers to. + :type start_time: datetime + :param end_time: The end time in UTC of a range that the recommendation + refers to. + :type end_time: datetime + :param next_notification_time: When to notify this recommendation next in + UTC. Null means that this will never be notified anymore. + :type next_notification_time: datetime + :param notification_expiration_time: Date and time in UTC when this + notification expires. + :type notification_expiration_time: datetime + :param notified_time: Last timestamp in UTC this instance was actually + notified. Null means that this recommendation hasn't been notified yet. + :type notified_time: datetime + :param score: A metric value measured by the rule. + :type score: float + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'category_tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, + 'resource_scope': {'key': 'properties.resourceScope', 'type': 'str'}, + 'rule_name': {'key': 'properties.ruleName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'int'}, + 'states': {'key': 'properties.states', 'type': '[str]'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.endTime', 'type': 'iso-8601'}, + 'next_notification_time': {'key': 'properties.nextNotificationTime', 'type': 'iso-8601'}, + 'notification_expiration_time': {'key': 'properties.notificationExpirationTime', 'type': 'iso-8601'}, + 'notified_time': {'key': 'properties.notifiedTime', 'type': 'iso-8601'}, + 'score': {'key': 'properties.score', 'type': 'float'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, creation_time=None, recommendation_id: str=None, resource_id: str=None, resource_scope=None, rule_name: str=None, display_name: str=None, message: str=None, level=None, channels=None, action_name: str=None, enabled: int=None, states=None, start_time=None, end_time=None, next_notification_time=None, notification_expiration_time=None, notified_time=None, score: float=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: + super(Recommendation, self).__init__(kind=kind, **kwargs) + self.creation_time = creation_time + self.recommendation_id = recommendation_id + self.resource_id = resource_id + self.resource_scope = resource_scope + self.rule_name = rule_name + self.display_name = display_name + self.message = message + self.level = level + self.channels = channels + self.category_tags = None + self.action_name = action_name + self.enabled = enabled + self.states = states + self.start_time = start_time + self.end_time = end_time + self.next_notification_time = next_notification_time + self.notification_expiration_time = notification_expiration_time + self.notified_time = notified_time + self.score = score + self.is_dynamic = is_dynamic + self.extension_name = extension_name + self.blade_name = blade_name + self.forward_link = forward_link + + +class RecommendationRule(ProxyOnlyResource): + """Represents a recommendation rule that the recommendation engine can + perform. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param recommendation_name: Unique name of the rule. + :type recommendation_name: str + :param display_name: UI friendly name of the rule. + :type display_name: str + :param message: Localized name of the rule (Good for UI). + :type message: str + :param recommendation_id: Recommendation ID of an associated + recommendation object tied to the rule, if exists. + If such an object doesn't exist, it is set to null. + :type recommendation_id: str + :param description: Localized detailed description of the rule. + :type description: str + :param action_name: Name of action that is recommended by this rule in + string. + :type action_name: str + :param level: Level of impact indicating how critical this rule is. + Possible values include: 'Critical', 'Warning', 'Information', + 'NonUrgentSuggestion' + :type level: str or ~azure.mgmt.web.models.NotificationLevel + :param channels: List of available channels that this rule applies. + Possible values include: 'Notification', 'Api', 'Email', 'Webhook', 'All' + :type channels: str or ~azure.mgmt.web.models.Channels + :ivar category_tags: The list of category tags that this recommendation + rule belongs to. + :vartype category_tags: list[str] + :param is_dynamic: True if this is associated with a dynamically added + rule + :type is_dynamic: bool + :param extension_name: Extension name of the portal if exists. Applicable + to dynamic rule only. + :type extension_name: str + :param blade_name: Deep link to a blade on the portal. Applicable to + dynamic rule only. + :type blade_name: str + :param forward_link: Forward link to an external document associated with + the rule. Applicable to dynamic rule only. + :type forward_link: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'category_tags': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'recommendation_name': {'key': 'properties.recommendationName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'recommendation_id': {'key': 'properties.recommendationId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'action_name': {'key': 'properties.actionName', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'NotificationLevel'}, + 'channels': {'key': 'properties.channels', 'type': 'Channels'}, + 'category_tags': {'key': 'properties.categoryTags', 'type': '[str]'}, + 'is_dynamic': {'key': 'properties.isDynamic', 'type': 'bool'}, + 'extension_name': {'key': 'properties.extensionName', 'type': 'str'}, + 'blade_name': {'key': 'properties.bladeName', 'type': 'str'}, + 'forward_link': {'key': 'properties.forwardLink', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, recommendation_name: str=None, display_name: str=None, message: str=None, recommendation_id: str=None, description: str=None, action_name: str=None, level=None, channels=None, is_dynamic: bool=None, extension_name: str=None, blade_name: str=None, forward_link: str=None, **kwargs) -> None: + super(RecommendationRule, self).__init__(kind=kind, **kwargs) + self.recommendation_name = recommendation_name + self.display_name = display_name + self.message = message + self.recommendation_id = recommendation_id + self.description = description + self.action_name = action_name + self.level = level + self.channels = channels + self.category_tags = None + self.is_dynamic = is_dynamic + self.extension_name = extension_name + self.blade_name = blade_name + self.forward_link = forward_link + + +class ReissueCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate reissue request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param delay_existing_revoke_in_hours: Delay in hours to revoke existing + certificate after the new certificate is issued. + :type delay_existing_revoke_in_hours: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'delay_existing_revoke_in_hours': {'key': 'properties.delayExistingRevokeInHours', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, key_size: int=None, delay_existing_revoke_in_hours: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: + super(ReissueCertificateOrderRequest, self).__init__(kind=kind, **kwargs) + self.key_size = key_size + self.delay_existing_revoke_in_hours = delay_existing_revoke_in_hours + self.csr = csr + self.is_private_key_external = is_private_key_external + + +class RelayServiceConnectionEntity(ProxyOnlyResource): + """Hybrid Connection for an App Service app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param entity_name: + :type entity_name: str + :param entity_connection_string: + :type entity_connection_string: str + :param resource_type: + :type resource_type: str + :param resource_connection_string: + :type resource_connection_string: str + :param hostname: + :type hostname: str + :param port: + :type port: int + :param biztalk_uri: + :type biztalk_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'entity_name': {'key': 'properties.entityName', 'type': 'str'}, + 'entity_connection_string': {'key': 'properties.entityConnectionString', 'type': 'str'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'resource_connection_string': {'key': 'properties.resourceConnectionString', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'biztalk_uri': {'key': 'properties.biztalkUri', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, entity_name: str=None, entity_connection_string: str=None, resource_type: str=None, resource_connection_string: str=None, hostname: str=None, port: int=None, biztalk_uri: str=None, **kwargs) -> None: + super(RelayServiceConnectionEntity, self).__init__(kind=kind, **kwargs) + self.entity_name = entity_name + self.entity_connection_string = entity_connection_string + self.resource_type = resource_type + self.resource_connection_string = resource_connection_string + self.hostname = hostname + self.port = port + self.biztalk_uri = biztalk_uri + + +class Rendering(Model): + """Instructions for rendering the data. + + :param type: Rendering Type. Possible values include: 'NoGraph', 'Table', + 'TimeSeries', 'TimeSeriesPerInstance' + :type type: str or ~azure.mgmt.web.models.RenderingType + :param title: Title of data + :type title: str + :param description: Description of the data that will help it be + interpreted + :type description: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'RenderingType'}, + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, type=None, title: str=None, description: str=None, **kwargs) -> None: + super(Rendering, self).__init__(**kwargs) + self.type = type + self.title = title + self.description = description + + +class RenewCertificateOrderRequest(ProxyOnlyResource): + """Class representing certificate renew request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param key_size: Certificate Key Size. + :type key_size: int + :param csr: Csr to be used for re-key operation. + :type csr: str + :param is_private_key_external: Should we change the ASC type (from + managed private key to external private key and vice versa). + :type is_private_key_external: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'key_size': {'key': 'properties.keySize', 'type': 'int'}, + 'csr': {'key': 'properties.csr', 'type': 'str'}, + 'is_private_key_external': {'key': 'properties.isPrivateKeyExternal', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, key_size: int=None, csr: str=None, is_private_key_external: bool=None, **kwargs) -> None: + super(RenewCertificateOrderRequest, self).__init__(kind=kind, **kwargs) + self.key_size = key_size + self.csr = csr + self.is_private_key_external = is_private_key_external + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceHealthMetadata(ProxyOnlyResource): + """Used for getting ResourceHealthCheck settings. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param category: The category that the resource matches in the RHC Policy + File + :type category: str + :param signal_availability: Is there a health signal for the resource + :type signal_availability: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'category': {'key': 'properties.category', 'type': 'str'}, + 'signal_availability': {'key': 'properties.signalAvailability', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, category: str=None, signal_availability: bool=None, **kwargs) -> None: + super(ResourceHealthMetadata, self).__init__(kind=kind, **kwargs) + self.category = category + self.signal_availability = signal_availability + + +class ResourceMetric(Model): + """Object representing a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Name of metric. + :vartype name: ~azure.mgmt.web.models.ResourceMetricName + :ivar unit: Metric unit. + :vartype unit: str + :ivar time_grain: Metric granularity. E.g PT1H, PT5M, P1D + :vartype time_grain: str + :ivar start_time: Metric start time. + :vartype start_time: datetime + :ivar end_time: Metric end time. + :vartype end_time: datetime + :ivar resource_id: Metric resource Id. + :vartype resource_id: str + :ivar id: Resource Id. + :vartype id: str + :ivar metric_values: Metric values. + :vartype metric_values: list[~azure.mgmt.web.models.ResourceMetricValue] + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + 'time_grain': {'readonly': True}, + 'start_time': {'readonly': True}, + 'end_time': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'id': {'readonly': True}, + 'metric_values': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'ResourceMetricName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'metric_values': {'key': 'metricValues', 'type': '[ResourceMetricValue]'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetric, self).__init__(**kwargs) + self.name = None + self.unit = None + self.time_grain = None + self.start_time = None + self.end_time = None + self.resource_id = None + self.id = None + self.metric_values = None + self.properties = None + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.properties = None + + +class ResourceMetricName(Model): + """Name of a metric for any resource . + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar value: metric name value. + :vartype value: str + :ivar localized_value: Localized metric name value. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class ResourceMetricProperty(Model): + """Resource metric property. + + :param key: Key for resource metric property. + :type key: str + :param value: Value of pair. + :type value: str + """ + + _attribute_map = { + 'key': {'key': 'key', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, key: str=None, value: str=None, **kwargs) -> None: + super(ResourceMetricProperty, self).__init__(**kwargs) + self.key = key + self.value = value + + +class ResourceMetricValue(Model): + """Value of resource metric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp: Value timestamp. + :vartype timestamp: str + :ivar average: Value average. + :vartype average: float + :ivar minimum: Value minimum. + :vartype minimum: float + :ivar maximum: Value maximum. + :vartype maximum: float + :ivar total: Value total. + :vartype total: float + :ivar count: Value count. + :vartype count: float + :ivar properties: Resource metric properties collection. + :vartype properties: list[~azure.mgmt.web.models.ResourceMetricProperty] + """ + + _validation = { + 'timestamp': {'readonly': True}, + 'average': {'readonly': True}, + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'total': {'readonly': True}, + 'count': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'average': {'key': 'average', 'type': 'float'}, + 'minimum': {'key': 'minimum', 'type': 'float'}, + 'maximum': {'key': 'maximum', 'type': 'float'}, + 'total': {'key': 'total', 'type': 'float'}, + 'count': {'key': 'count', 'type': 'float'}, + 'properties': {'key': 'properties', 'type': '[ResourceMetricProperty]'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricValue, self).__init__(**kwargs) + self.timestamp = None + self.average = None + self.minimum = None + self.maximum = None + self.total = None + self.count = None + self.properties = None + + +class ResourceNameAvailability(Model): + """Information regarding availability of a resource name. + + :param name_available: true indicates name is valid and + available. false indicates the name is invalid, unavailable, + or both. + :type name_available: bool + :param reason: Invalid indicates the name provided does not + match Azure App Service naming requirements. AlreadyExists + indicates that the name is already in use and is therefore unavailable. + Possible values include: 'Invalid', 'AlreadyExists' + :type reason: str or ~azure.mgmt.web.models.InAvailabilityReasonType + :param message: If reason == invalid, provide the user with the reason why + the given name is invalid, and provide the resource naming requirements so + that the user can select a valid name. If reason == AlreadyExists, explain + that resource name is already in use, and direct them to select a + different name. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, name_available: bool=None, reason=None, message: str=None, **kwargs) -> None: + super(ResourceNameAvailability, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class ResourceNameAvailabilityRequest(Model): + """Resource name availability request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_fqdn': {'key': 'isFqdn', 'type': 'bool'}, + } + + def __init__(self, *, name: str, type, is_fqdn: bool=None, **kwargs) -> None: + super(ResourceNameAvailabilityRequest, self).__init__(**kwargs) + self.name = name + self.type = type + self.is_fqdn = is_fqdn + + +class ResponseMetaData(Model): + """ResponseMetaData. + + :param data_source: Source of the Data + :type data_source: ~azure.mgmt.web.models.DataSource + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'DataSource'}, + } + + def __init__(self, *, data_source=None, **kwargs) -> None: + super(ResponseMetaData, self).__init__(**kwargs) + self.data_source = data_source + + +class RestoreRequest(ProxyOnlyResource): + """Description of a restore request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param storage_account_url: Required. SAS URL to the container. + :type storage_account_url: str + :param blob_name: Name of a blob which contains the backup. + :type blob_name: str + :param overwrite: Required. true if the restore operation can + overwrite target app; otherwise, false. true is + needed if trying to restore over an existing app. + :type overwrite: bool + :param site_name: Name of an app. + :type site_name: str + :param databases: Collection of databases which should be restored. This + list has to match the list of databases included in the backup. + :type databases: list[~azure.mgmt.web.models.DatabaseBackupSetting] + :param ignore_conflicting_host_names: Changes a logic when restoring an + app with custom domains. true to remove custom domains + automatically. If false, custom domains are added to + the app's object when it is being restored, but that might fail due to + conflicts during the operation. Default value: False . + :type ignore_conflicting_host_names: bool + :param ignore_databases: Ignore the databases and only restore the site + content. Default value: False . + :type ignore_databases: bool + :param app_service_plan: Specify app service plan that will own restored + site. + :type app_service_plan: str + :param operation_type: Operation type. Possible values include: 'Default', + 'Clone', 'Relocation', 'Snapshot', 'CloudFS'. Default value: "Default" . + :type operation_type: str or + ~azure.mgmt.web.models.BackupRestoreOperationType + :param adjust_connection_strings: true if + SiteConfig.ConnectionStrings should be set in new app; otherwise, + false. + :type adjust_connection_strings: bool + :param hosting_environment: App Service Environment name, if needed (only + when restoring an app to an App Service Environment). + :type hosting_environment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_url': {'required': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_url': {'key': 'properties.storageAccountUrl', 'type': 'str'}, + 'blob_name': {'key': 'properties.blobName', 'type': 'str'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'databases': {'key': 'properties.databases', 'type': '[DatabaseBackupSetting]'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'ignore_databases': {'key': 'properties.ignoreDatabases', 'type': 'bool'}, + 'app_service_plan': {'key': 'properties.appServicePlan', 'type': 'str'}, + 'operation_type': {'key': 'properties.operationType', 'type': 'BackupRestoreOperationType'}, + 'adjust_connection_strings': {'key': 'properties.adjustConnectionStrings', 'type': 'bool'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + } + + def __init__(self, *, storage_account_url: str, overwrite: bool, kind: str=None, blob_name: str=None, site_name: str=None, databases=None, ignore_conflicting_host_names: bool=False, ignore_databases: bool=False, app_service_plan: str=None, operation_type="Default", adjust_connection_strings: bool=None, hosting_environment: str=None, **kwargs) -> None: + super(RestoreRequest, self).__init__(kind=kind, **kwargs) + self.storage_account_url = storage_account_url + self.blob_name = blob_name + self.overwrite = overwrite + self.site_name = site_name + self.databases = databases + self.ignore_conflicting_host_names = ignore_conflicting_host_names + self.ignore_databases = ignore_databases + self.app_service_plan = app_service_plan + self.operation_type = operation_type + self.adjust_connection_strings = adjust_connection_strings + self.hosting_environment = hosting_environment + + +class ServiceSpecification(Model): + """Resource metrics service provided by Microsoft.Insights resource provider. + + :param metric_specifications: + :type metric_specifications: + list[~azure.mgmt.web.models.MetricSpecification] + :param log_specifications: + :type log_specifications: list[~azure.mgmt.web.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + self.log_specifications = log_specifications + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, client_cert_exclusion_paths: str=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, https_only: bool=None, redundancy_mode=None, geo_distributions=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.client_cert_exclusion_paths = client_cert_exclusion_paths + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.redundancy_mode = redundancy_mode + self.in_progress_operation_id = None + self.geo_distributions = geo_distributions + self.identity = identity + + +class SiteAuthSettings(ProxyOnlyResource): + """Configuration settings for the Azure App Service Authentication / + Authorization feature. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param enabled: true if the Authentication / Authorization + feature is enabled for the current app; otherwise, false. + :type enabled: bool + :param runtime_version: The RuntimeVersion of the Authentication / + Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in + the Authentication / Authorization module. + :type runtime_version: str + :param unauthenticated_client_action: The action to take when an + unauthenticated client attempts to access the app. Possible values + include: 'RedirectToLoginPage', 'AllowAnonymous' + :type unauthenticated_client_action: str or + ~azure.mgmt.web.models.UnauthenticatedClientAction + :param token_store_enabled: true to durably store + platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + :type token_store_enabled: bool + :param allowed_external_redirect_urls: External URLs that can be + redirected to as part of logging in or logging out of the app. Note that + the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store + application backends. + Note that URLs within the current domain are always implicitly allowed. + :type allowed_external_redirect_urls: list[str] + :param default_provider: The default authentication provider to use when + multiple providers are configured. + This setting is only needed if multiple providers are configured and the + unauthenticated client + action is set to "RedirectToLoginPage". Possible values include: + 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', + 'Twitter' + :type default_provider: str or + ~azure.mgmt.web.models.BuiltInAuthenticationProvider + :param token_refresh_extension_hours: The number of hours after session + token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + :type token_refresh_extension_hours: float + :param client_id: The Client ID of this relying party application, known + as the client_id. + This setting is required for enabling OpenID Connection authentication + with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_id: str + :param client_secret: The Client Secret of this relying party application + (in Azure Active Directory, this is also referred to as the Key). + This setting is optional. If no client secret is configured, the OpenID + Connect implicit auth flow is used to authenticate end users. + Otherwise, the OpenID Connect Authorization Code Flow is used to + authenticate end users. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_secret: str + :param client_secret_certificate_thumbprint: An alternative to the client + secret, that is the thumbprint of a certificate used for signing purposes. + This property acts as + a replacement for the Client Secret. It is also optional. + :type client_secret_certificate_thumbprint: str + :param issuer: The OpenID Connect Issuer URI that represents the entity + which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory + tenant, e.g. https://sts.windows.net/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: + http://openid.net/specs/openid-connect-discovery-1_0.html + :type issuer: str + :param validate_issuer: Gets a value indicating whether the issuer should + be a valid HTTPS url and be validated as such. + :type validate_issuer: bool + :param allowed_audiences: Allowed audience values to consider when + validating JWTs issued by + Azure Active Directory. Note that the ClientID value is + always considered an + allowed audience, regardless of this setting. + :type allowed_audiences: list[str] + :param additional_login_params: Login parameters to send to the OpenID + Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + :type additional_login_params: list[str] + :param google_client_id: The OpenID Connect Client ID for the Google web + application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_id: str + :param google_client_secret: The client secret associated with the Google + web application. + This setting is required for enabling Google Sign-In. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_client_secret: str + :param google_oauth_scopes: The OAuth 2.0 scopes that will be requested as + part of Google Sign-In authentication. + This setting is optional. If not specified, "openid", "profile", and + "email" are used as default scopes. + Google Sign-In documentation: + https://developers.google.com/identity/sign-in/web/ + :type google_oauth_scopes: list[str] + :param facebook_app_id: The App ID of the Facebook app used for login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_id: str + :param facebook_app_secret: The App Secret of the Facebook app used for + Facebook Login. + This setting is required for enabling Facebook Login. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_app_secret: str + :param facebook_oauth_scopes: The OAuth 2.0 scopes that will be requested + as part of Facebook Login authentication. + This setting is optional. + Facebook Login documentation: + https://developers.facebook.com/docs/facebook-login + :type facebook_oauth_scopes: list[str] + :param twitter_consumer_key: The OAuth 1.0a consumer key of the Twitter + application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_key: str + :param twitter_consumer_secret: The OAuth 1.0a consumer secret of the + Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type twitter_consumer_secret: str + :param microsoft_account_client_id: The OAuth 2.0 client ID that was + created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_id: str + :param microsoft_account_client_secret: The OAuth 2.0 client secret that + was created for the app used for authentication. + This setting is required for enabling Microsoft Account authentication. + Microsoft Account OAuth documentation: + https://dev.onedrive.com/auth/msa_oauth.htm + :type microsoft_account_client_secret: str + :param microsoft_account_oauth_scopes: The OAuth 2.0 scopes that will be + requested as part of Microsoft Account authentication. + This setting is optional. If not specified, "wl.basic" is used as the + default scope. + Microsoft Account Scopes and permissions documentation: + https://msdn.microsoft.com/en-us/library/dn631845.aspx + :type microsoft_account_oauth_scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'runtime_version': {'key': 'properties.runtimeVersion', 'type': 'str'}, + 'unauthenticated_client_action': {'key': 'properties.unauthenticatedClientAction', 'type': 'UnauthenticatedClientAction'}, + 'token_store_enabled': {'key': 'properties.tokenStoreEnabled', 'type': 'bool'}, + 'allowed_external_redirect_urls': {'key': 'properties.allowedExternalRedirectUrls', 'type': '[str]'}, + 'default_provider': {'key': 'properties.defaultProvider', 'type': 'BuiltInAuthenticationProvider'}, + 'token_refresh_extension_hours': {'key': 'properties.tokenRefreshExtensionHours', 'type': 'float'}, + 'client_id': {'key': 'properties.clientId', 'type': 'str'}, + 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, + 'client_secret_certificate_thumbprint': {'key': 'properties.clientSecretCertificateThumbprint', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'validate_issuer': {'key': 'properties.validateIssuer', 'type': 'bool'}, + 'allowed_audiences': {'key': 'properties.allowedAudiences', 'type': '[str]'}, + 'additional_login_params': {'key': 'properties.additionalLoginParams', 'type': '[str]'}, + 'google_client_id': {'key': 'properties.googleClientId', 'type': 'str'}, + 'google_client_secret': {'key': 'properties.googleClientSecret', 'type': 'str'}, + 'google_oauth_scopes': {'key': 'properties.googleOAuthScopes', 'type': '[str]'}, + 'facebook_app_id': {'key': 'properties.facebookAppId', 'type': 'str'}, + 'facebook_app_secret': {'key': 'properties.facebookAppSecret', 'type': 'str'}, + 'facebook_oauth_scopes': {'key': 'properties.facebookOAuthScopes', 'type': '[str]'}, + 'twitter_consumer_key': {'key': 'properties.twitterConsumerKey', 'type': 'str'}, + 'twitter_consumer_secret': {'key': 'properties.twitterConsumerSecret', 'type': 'str'}, + 'microsoft_account_client_id': {'key': 'properties.microsoftAccountClientId', 'type': 'str'}, + 'microsoft_account_client_secret': {'key': 'properties.microsoftAccountClientSecret', 'type': 'str'}, + 'microsoft_account_oauth_scopes': {'key': 'properties.microsoftAccountOAuthScopes', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, enabled: bool=None, runtime_version: str=None, unauthenticated_client_action=None, token_store_enabled: bool=None, allowed_external_redirect_urls=None, default_provider=None, token_refresh_extension_hours: float=None, client_id: str=None, client_secret: str=None, client_secret_certificate_thumbprint: str=None, issuer: str=None, validate_issuer: bool=None, allowed_audiences=None, additional_login_params=None, google_client_id: str=None, google_client_secret: str=None, google_oauth_scopes=None, facebook_app_id: str=None, facebook_app_secret: str=None, facebook_oauth_scopes=None, twitter_consumer_key: str=None, twitter_consumer_secret: str=None, microsoft_account_client_id: str=None, microsoft_account_client_secret: str=None, microsoft_account_oauth_scopes=None, **kwargs) -> None: + super(SiteAuthSettings, self).__init__(kind=kind, **kwargs) + self.enabled = enabled + self.runtime_version = runtime_version + self.unauthenticated_client_action = unauthenticated_client_action + self.token_store_enabled = token_store_enabled + self.allowed_external_redirect_urls = allowed_external_redirect_urls + self.default_provider = default_provider + self.token_refresh_extension_hours = token_refresh_extension_hours + self.client_id = client_id + self.client_secret = client_secret + self.client_secret_certificate_thumbprint = client_secret_certificate_thumbprint + self.issuer = issuer + self.validate_issuer = validate_issuer + self.allowed_audiences = allowed_audiences + self.additional_login_params = additional_login_params + self.google_client_id = google_client_id + self.google_client_secret = google_client_secret + self.google_oauth_scopes = google_oauth_scopes + self.facebook_app_id = facebook_app_id + self.facebook_app_secret = facebook_app_secret + self.facebook_oauth_scopes = facebook_oauth_scopes + self.twitter_consumer_key = twitter_consumer_key + self.twitter_consumer_secret = twitter_consumer_secret + self.microsoft_account_client_id = microsoft_account_client_id + self.microsoft_account_client_secret = microsoft_account_client_secret + self.microsoft_account_oauth_scopes = microsoft_account_oauth_scopes + + +class SiteCloneability(Model): + """Represents whether or not an app is cloneable. + + :param result: Name of app. Possible values include: 'Cloneable', + 'PartiallyCloneable', 'NotCloneable' + :type result: str or ~azure.mgmt.web.models.CloneAbilityResult + :param blocking_features: List of features enabled on app that prevent + cloning. + :type blocking_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param unsupported_features: List of features enabled on app that are + non-blocking but cannot be cloned. The app can still be cloned + but the features in this list will not be set up on cloned app. + :type unsupported_features: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + :param blocking_characteristics: List of blocking application + characteristics. + :type blocking_characteristics: + list[~azure.mgmt.web.models.SiteCloneabilityCriterion] + """ + + _attribute_map = { + 'result': {'key': 'result', 'type': 'CloneAbilityResult'}, + 'blocking_features': {'key': 'blockingFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'unsupported_features': {'key': 'unsupportedFeatures', 'type': '[SiteCloneabilityCriterion]'}, + 'blocking_characteristics': {'key': 'blockingCharacteristics', 'type': '[SiteCloneabilityCriterion]'}, + } + + def __init__(self, *, result=None, blocking_features=None, unsupported_features=None, blocking_characteristics=None, **kwargs) -> None: + super(SiteCloneability, self).__init__(**kwargs) + self.result = result + self.blocking_features = blocking_features + self.unsupported_features = unsupported_features + self.blocking_characteristics = blocking_characteristics + + +class SiteCloneabilityCriterion(Model): + """An app cloneability criterion. + + :param name: Name of criterion. + :type name: str + :param description: Description of criterion. + :type description: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, description: str=None, **kwargs) -> None: + super(SiteCloneabilityCriterion, self).__init__(**kwargs) + self.name = name + self.description = description + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, windows_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, azure_storage_accounts=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, managed_service_identity_id: int=None, x_managed_service_identity_id: int=None, ip_security_restrictions=None, scm_ip_security_restrictions=None, scm_ip_security_restrictions_use_main: bool=None, http20_enabled: bool=True, min_tls_version=None, ftps_state=None, reserved_instance_count: int=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.windows_fx_version = windows_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.azure_storage_accounts = azure_storage_accounts + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.managed_service_identity_id = managed_service_identity_id + self.x_managed_service_identity_id = x_managed_service_identity_id + self.ip_security_restrictions = ip_security_restrictions + self.scm_ip_security_restrictions = scm_ip_security_restrictions + self.scm_ip_security_restrictions_use_main = scm_ip_security_restrictions_use_main + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + self.ftps_state = ftps_state + self.reserved_instance_count = reserved_instance_count + + +class SiteConfigResource(ProxyOnlyResource): + """Web app configuration ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'number_of_workers': {'key': 'properties.numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'properties.defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'properties.netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'properties.phpVersion', 'type': 'str'}, + 'python_version': {'key': 'properties.pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'properties.nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'properties.linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'properties.windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'properties.requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'properties.requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'properties.remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'properties.remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'properties.httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'properties.logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'properties.detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'properties.publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'properties.appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'properties.azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'properties.connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'properties.machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'properties.handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'properties.documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'properties.scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'properties.use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'properties.webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'properties.alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'properties.javaVersion', 'type': 'str'}, + 'java_container': {'key': 'properties.javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'properties.javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'properties.appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'properties.managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'properties.virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'properties.loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'properties.experiments', 'type': 'Experiments'}, + 'limits': {'key': 'properties.limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'properties.autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'properties.autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'properties.tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsSettings'}, + 'push': {'key': 'properties.push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'properties.apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'properties.autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'properties.localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'properties.managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'properties.xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'properties.ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'properties.scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'properties.scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'properties.http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'properties.minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'properties.ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'properties.reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, *, kind: str=None, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, windows_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, azure_storage_accounts=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, managed_service_identity_id: int=None, x_managed_service_identity_id: int=None, ip_security_restrictions=None, scm_ip_security_restrictions=None, scm_ip_security_restrictions_use_main: bool=None, http20_enabled: bool=True, min_tls_version=None, ftps_state=None, reserved_instance_count: int=None, **kwargs) -> None: + super(SiteConfigResource, self).__init__(kind=kind, **kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.windows_fx_version = windows_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.azure_storage_accounts = azure_storage_accounts + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.managed_service_identity_id = managed_service_identity_id + self.x_managed_service_identity_id = x_managed_service_identity_id + self.ip_security_restrictions = ip_security_restrictions + self.scm_ip_security_restrictions = scm_ip_security_restrictions + self.scm_ip_security_restrictions_use_main = scm_ip_security_restrictions_use_main + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + self.ftps_state = ftps_state + self.reserved_instance_count = reserved_instance_count + + +class SiteConfigurationSnapshotInfo(ProxyOnlyResource): + """A snapshot of a web app configuration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: datetime + :ivar snapshot_id: The id of the snapshot + :vartype snapshot_id: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + 'snapshot_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'iso-8601'}, + 'snapshot_id': {'key': 'properties.snapshotId', 'type': 'int'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SiteConfigurationSnapshotInfo, self).__init__(kind=kind, **kwargs) + self.time = None + self.snapshot_id = None + + +class SiteExtensionInfo(ProxyOnlyResource): + """Site Extension 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param extension_id: Site extension ID. + :type extension_id: str + :param title: + :type title: str + :param extension_type: Site extension type. Possible values include: + 'Gallery', 'WebRoot' + :type extension_type: str or ~azure.mgmt.web.models.SiteExtensionType + :param summary: Summary description. + :type summary: str + :param description: Detailed description. + :type description: str + :param version: Version information. + :type version: str + :param extension_url: Extension URL. + :type extension_url: str + :param project_url: Project URL. + :type project_url: str + :param icon_url: Icon URL. + :type icon_url: str + :param license_url: License URL. + :type license_url: str + :param feed_url: Feed URL. + :type feed_url: str + :param authors: List of authors. + :type authors: list[str] + :param installer_command_line_params: Installer command line parameters. + :type installer_command_line_params: str + :param published_date_time: Published timestamp. + :type published_date_time: datetime + :param download_count: Count of downloads. + :type download_count: int + :param local_is_latest_version: true if the local version is + the latest version; false otherwise. + :type local_is_latest_version: bool + :param local_path: Local path. + :type local_path: str + :param installed_date_time: Installed timestamp. + :type installed_date_time: datetime + :param provisioning_state: Provisioning state. + :type provisioning_state: str + :param comment: Site Extension comment. + :type comment: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'extension_id': {'key': 'properties.extension_id', 'type': 'str'}, + 'title': {'key': 'properties.title', 'type': 'str'}, + 'extension_type': {'key': 'properties.extension_type', 'type': 'SiteExtensionType'}, + 'summary': {'key': 'properties.summary', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'extension_url': {'key': 'properties.extension_url', 'type': 'str'}, + 'project_url': {'key': 'properties.project_url', 'type': 'str'}, + 'icon_url': {'key': 'properties.icon_url', 'type': 'str'}, + 'license_url': {'key': 'properties.license_url', 'type': 'str'}, + 'feed_url': {'key': 'properties.feed_url', 'type': 'str'}, + 'authors': {'key': 'properties.authors', 'type': '[str]'}, + 'installer_command_line_params': {'key': 'properties.installer_command_line_params', 'type': 'str'}, + 'published_date_time': {'key': 'properties.published_date_time', 'type': 'iso-8601'}, + 'download_count': {'key': 'properties.download_count', 'type': 'int'}, + 'local_is_latest_version': {'key': 'properties.local_is_latest_version', 'type': 'bool'}, + 'local_path': {'key': 'properties.local_path', 'type': 'str'}, + 'installed_date_time': {'key': 'properties.installed_date_time', 'type': 'iso-8601'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'comment': {'key': 'properties.comment', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, extension_id: str=None, title: str=None, extension_type=None, summary: str=None, description: str=None, version: str=None, extension_url: str=None, project_url: str=None, icon_url: str=None, license_url: str=None, feed_url: str=None, authors=None, installer_command_line_params: str=None, published_date_time=None, download_count: int=None, local_is_latest_version: bool=None, local_path: str=None, installed_date_time=None, provisioning_state: str=None, comment: str=None, **kwargs) -> None: + super(SiteExtensionInfo, self).__init__(kind=kind, **kwargs) + self.extension_id = extension_id + self.title = title + self.extension_type = extension_type + self.summary = summary + self.description = description + self.version = version + self.extension_url = extension_url + self.project_url = project_url + self.icon_url = icon_url + self.license_url = license_url + self.feed_url = feed_url + self.authors = authors + self.installer_command_line_params = installer_command_line_params + self.published_date_time = published_date_time + self.download_count = download_count + self.local_is_latest_version = local_is_latest_version + self.local_path = local_path + self.installed_date_time = installed_date_time + self.provisioning_state = provisioning_state + self.comment = comment + + +class SiteInstance(ProxyOnlyResource): + """Instance of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar site_instance_name: Name of instance. + :vartype site_instance_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'site_instance_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'site_instance_name': {'key': 'properties.siteInstanceName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SiteInstance, self).__init__(kind=kind, **kwargs) + self.site_instance_name = None + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteLogsConfig(ProxyOnlyResource): + """Configuration of App Service site logs. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param application_logs: Application logs configuration. + :type application_logs: ~azure.mgmt.web.models.ApplicationLogsConfig + :param http_logs: HTTP logs configuration. + :type http_logs: ~azure.mgmt.web.models.HttpLogsConfig + :param failed_requests_tracing: Failed requests tracing configuration. + :type failed_requests_tracing: ~azure.mgmt.web.models.EnabledConfig + :param detailed_error_messages: Detailed error messages configuration. + :type detailed_error_messages: ~azure.mgmt.web.models.EnabledConfig + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'application_logs': {'key': 'properties.applicationLogs', 'type': 'ApplicationLogsConfig'}, + 'http_logs': {'key': 'properties.httpLogs', 'type': 'HttpLogsConfig'}, + 'failed_requests_tracing': {'key': 'properties.failedRequestsTracing', 'type': 'EnabledConfig'}, + 'detailed_error_messages': {'key': 'properties.detailedErrorMessages', 'type': 'EnabledConfig'}, + } + + def __init__(self, *, kind: str=None, application_logs=None, http_logs=None, failed_requests_tracing=None, detailed_error_messages=None, **kwargs) -> None: + super(SiteLogsConfig, self).__init__(kind=kind, **kwargs) + self.application_logs = application_logs + self.http_logs = http_logs + self.failed_requests_tracing = failed_requests_tracing + self.detailed_error_messages = detailed_error_messages + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SitePatchResource(ProxyOnlyResource): + """ARM resource for a site. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, kind: str=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, client_cert_exclusion_paths: str=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, https_only: bool=None, redundancy_mode=None, geo_distributions=None, identity=None, **kwargs) -> None: + super(SitePatchResource, self).__init__(kind=kind, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.client_cert_exclusion_paths = client_cert_exclusion_paths + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.redundancy_mode = redundancy_mode + self.in_progress_operation_id = None + self.geo_distributions = geo_distributions + self.identity = identity + + +class SitePhpErrorLogFlag(ProxyOnlyResource): + """Used for getting PHP error logging flag. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param local_log_errors: Local log_errors setting. + :type local_log_errors: str + :param master_log_errors: Master log_errors setting. + :type master_log_errors: str + :param local_log_errors_max_length: Local log_errors_max_len setting. + :type local_log_errors_max_length: str + :param master_log_errors_max_length: Master log_errors_max_len setting. + :type master_log_errors_max_length: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'local_log_errors': {'key': 'properties.localLogErrors', 'type': 'str'}, + 'master_log_errors': {'key': 'properties.masterLogErrors', 'type': 'str'}, + 'local_log_errors_max_length': {'key': 'properties.localLogErrorsMaxLength', 'type': 'str'}, + 'master_log_errors_max_length': {'key': 'properties.masterLogErrorsMaxLength', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, local_log_errors: str=None, master_log_errors: str=None, local_log_errors_max_length: str=None, master_log_errors_max_length: str=None, **kwargs) -> None: + super(SitePhpErrorLogFlag, self).__init__(kind=kind, **kwargs) + self.local_log_errors = local_log_errors + self.master_log_errors = master_log_errors + self.local_log_errors_max_length = local_log_errors_max_length + self.master_log_errors_max_length = master_log_errors_max_length + + +class SiteSeal(Model): + """Site seal. + + All required parameters must be populated in order to send to Azure. + + :param html: Required. HTML snippet + :type html: str + """ + + _validation = { + 'html': {'required': True}, + } + + _attribute_map = { + 'html': {'key': 'html', 'type': 'str'}, + } + + def __init__(self, *, html: str, **kwargs) -> None: + super(SiteSeal, self).__init__(**kwargs) + self.html = html + + +class SiteSealRequest(Model): + """Site seal request. + + :param light_theme: If true use the light color theme for + site seal; otherwise, use the default color theme. + :type light_theme: bool + :param locale: Locale of site seal. + :type locale: str + """ + + _attribute_map = { + 'light_theme': {'key': 'lightTheme', 'type': 'bool'}, + 'locale': {'key': 'locale', 'type': 'str'}, + } + + def __init__(self, *, light_theme: bool=None, locale: str=None, **kwargs) -> None: + super(SiteSealRequest, self).__init__(**kwargs) + self.light_theme = light_theme + self.locale = locale + + +class SiteSourceControl(ProxyOnlyResource): + """Source control configuration for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param repo_url: Repository or source control URL. + :type repo_url: str + :param branch: Name of branch to use for deployment. + :type branch: str + :param is_manual_integration: true to limit to manual + integration; false to enable continuous integration (which + configures webhooks into online repos like GitHub). + :type is_manual_integration: bool + :param deployment_rollback_enabled: true to enable deployment + rollback; otherwise, false. + :type deployment_rollback_enabled: bool + :param is_mercurial: true for a Mercurial repository; + false for a Git repository. + :type is_mercurial: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, + 'branch': {'key': 'properties.branch', 'type': 'str'}, + 'is_manual_integration': {'key': 'properties.isManualIntegration', 'type': 'bool'}, + 'deployment_rollback_enabled': {'key': 'properties.deploymentRollbackEnabled', 'type': 'bool'}, + 'is_mercurial': {'key': 'properties.isMercurial', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, repo_url: str=None, branch: str=None, is_manual_integration: bool=None, deployment_rollback_enabled: bool=None, is_mercurial: bool=None, **kwargs) -> None: + super(SiteSourceControl, self).__init__(kind=kind, **kwargs) + self.repo_url = repo_url + self.branch = branch + self.is_manual_integration = is_manual_integration + self.deployment_rollback_enabled = deployment_rollback_enabled + self.is_mercurial = is_mercurial + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SkuInfo(Model): + """SKU discovery information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param sku: Name and tier of the SKU. + :type sku: ~azure.mgmt.web.models.SkuDescription + :param capacity: Min, max, and default scale values of the SKU. + :type capacity: ~azure.mgmt.web.models.SkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + } + + def __init__(self, *, resource_type: str=None, sku=None, capacity=None, **kwargs) -> None: + super(SkuInfo, self).__init__(**kwargs) + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity + + +class SkuInfos(Model): + """Collection of SKU information. + + :param resource_type: Resource type that this SKU applies to. + :type resource_type: str + :param skus: List of SKUs the subscription is able to use. + :type skus: list[~azure.mgmt.web.models.GlobalCsmSkuDescription] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'skus': {'key': 'skus', 'type': '[GlobalCsmSkuDescription]'}, + } + + def __init__(self, *, resource_type: str=None, skus=None, **kwargs) -> None: + super(SkuInfos, self).__init__(**kwargs) + self.resource_type = resource_type + self.skus = skus + + +class SlotConfigNamesResource(ProxyOnlyResource): + """Slot Config names azure 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param connection_string_names: List of connection string names. + :type connection_string_names: list[str] + :param app_setting_names: List of application settings names. + :type app_setting_names: list[str] + :param azure_storage_config_names: List of external Azure storage account + identifiers. + :type azure_storage_config_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connection_string_names': {'key': 'properties.connectionStringNames', 'type': '[str]'}, + 'app_setting_names': {'key': 'properties.appSettingNames', 'type': '[str]'}, + 'azure_storage_config_names': {'key': 'properties.azureStorageConfigNames', 'type': '[str]'}, + } + + def __init__(self, *, kind: str=None, connection_string_names=None, app_setting_names=None, azure_storage_config_names=None, **kwargs) -> None: + super(SlotConfigNamesResource, self).__init__(kind=kind, **kwargs) + self.connection_string_names = connection_string_names + self.app_setting_names = app_setting_names + self.azure_storage_config_names = azure_storage_config_names + + +class SlotDifference(ProxyOnlyResource): + """A setting difference between two deployment slots of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar level: Level of the difference: Information, Warning or Error. + :vartype level: str + :ivar setting_type: The type of the setting: General, AppSetting or + ConnectionString. + :vartype setting_type: str + :ivar diff_rule: Rule that describes how to process the setting difference + during a slot swap. + :vartype diff_rule: str + :ivar setting_name: Name of the setting. + :vartype setting_name: str + :ivar value_in_current_slot: Value of the setting in the current slot. + :vartype value_in_current_slot: str + :ivar value_in_target_slot: Value of the setting in the target slot. + :vartype value_in_target_slot: str + :ivar description: Description of the setting difference. + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'level': {'readonly': True}, + 'setting_type': {'readonly': True}, + 'diff_rule': {'readonly': True}, + 'setting_name': {'readonly': True}, + 'value_in_current_slot': {'readonly': True}, + 'value_in_target_slot': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'properties.level', 'type': 'str'}, + 'setting_type': {'key': 'properties.settingType', 'type': 'str'}, + 'diff_rule': {'key': 'properties.diffRule', 'type': 'str'}, + 'setting_name': {'key': 'properties.settingName', 'type': 'str'}, + 'value_in_current_slot': {'key': 'properties.valueInCurrentSlot', 'type': 'str'}, + 'value_in_target_slot': {'key': 'properties.valueInTargetSlot', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(SlotDifference, self).__init__(kind=kind, **kwargs) + self.level = None + self.setting_type = None + self.diff_rule = None + self.setting_name = None + self.value_in_current_slot = None + self.value_in_target_slot = None + self.description = None + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(Snapshot, self).__init__(kind=kind, **kwargs) + self.time = None + + +class SnapshotRecoverySource(Model): + """Specifies the web app that snapshot contents will be retrieved from. + + :param location: Geographical location of the source web app, e.g. + SouthEastAsia, SouthCentralUS + :type location: str + :param id: ARM resource ID of the source app. + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type id: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, id: str=None, **kwargs) -> None: + super(SnapshotRecoverySource, self).__init__(**kwargs) + self.location = location + self.id = id + + +class SnapshotRestoreRequest(ProxyOnlyResource): + """Details about app recovery operation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param snapshot_time: Point in time in which the app restore should be + done, formatted as a DateTime string. + :type snapshot_time: str + :param recovery_source: Optional. Specifies the web app that snapshot + contents will be retrieved from. + If empty, the targeted web app will be used as the source. + :type recovery_source: ~azure.mgmt.web.models.SnapshotRecoverySource + :param overwrite: Required. If true the restore operation can + overwrite source app; otherwise, false. + :type overwrite: bool + :param recover_configuration: If true, site configuration, in addition to + content, will be reverted. + :type recover_configuration: bool + :param ignore_conflicting_host_names: If true, custom hostname conflicts + will be ignored when recovering to a target web app. + This setting is only necessary when RecoverConfiguration is enabled. + :type ignore_conflicting_host_names: bool + :param use_dr_secondary: If true, the snapshot is retrieved from + DRSecondary endpoint. + :type use_dr_secondary: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'overwrite': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'str'}, + 'recovery_source': {'key': 'properties.recoverySource', 'type': 'SnapshotRecoverySource'}, + 'overwrite': {'key': 'properties.overwrite', 'type': 'bool'}, + 'recover_configuration': {'key': 'properties.recoverConfiguration', 'type': 'bool'}, + 'ignore_conflicting_host_names': {'key': 'properties.ignoreConflictingHostNames', 'type': 'bool'}, + 'use_dr_secondary': {'key': 'properties.useDRSecondary', 'type': 'bool'}, + } + + def __init__(self, *, overwrite: bool, kind: str=None, snapshot_time: str=None, recovery_source=None, recover_configuration: bool=None, ignore_conflicting_host_names: bool=None, use_dr_secondary: bool=None, **kwargs) -> None: + super(SnapshotRestoreRequest, self).__init__(kind=kind, **kwargs) + self.snapshot_time = snapshot_time + self.recovery_source = recovery_source + self.overwrite = overwrite + self.recover_configuration = recover_configuration + self.ignore_conflicting_host_names = ignore_conflicting_host_names + self.use_dr_secondary = use_dr_secondary + + +class Solution(Model): + """Class Representing Solution for problems detected. + + :param id: Solution Id. + :type id: float + :param display_name: Display Name of the solution + :type display_name: str + :param order: Order of the solution. + :type order: float + :param description: Description of the solution + :type description: str + :param type: Type of Solution. Possible values include: 'QuickSolution', + 'DeepInvestigation', 'BestPractices' + :type type: str or ~azure.mgmt.web.models.SolutionType + :param data: Solution Data. + :type data: list[list[~azure.mgmt.web.models.NameValuePair]] + :param metadata: Solution Metadata. + :type metadata: list[list[~azure.mgmt.web.models.NameValuePair]] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'float'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'float'}, + 'description': {'key': 'description', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'SolutionType'}, + 'data': {'key': 'data', 'type': '[[NameValuePair]]'}, + 'metadata': {'key': 'metadata', 'type': '[[NameValuePair]]'}, + } + + def __init__(self, *, id: float=None, display_name: str=None, order: float=None, description: str=None, type=None, data=None, metadata=None, **kwargs) -> None: + super(Solution, self).__init__(**kwargs) + self.id = id + self.display_name = display_name + self.order = order + self.description = description + self.type = type + self.data = data + self.metadata = metadata + + +class SourceControl(ProxyOnlyResource): + """The source control OAuth token. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param token: OAuth access token. + :type token: str + :param token_secret: OAuth access token secret. + :type token_secret: str + :param refresh_token: OAuth refresh token. + :type refresh_token: str + :param expiration_time: OAuth token expiration. + :type expiration_time: datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'token': {'key': 'properties.token', 'type': 'str'}, + 'token_secret': {'key': 'properties.tokenSecret', 'type': 'str'}, + 'refresh_token': {'key': 'properties.refreshToken', 'type': 'str'}, + 'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, kind: str=None, token: str=None, token_secret: str=None, refresh_token: str=None, expiration_time=None, **kwargs) -> None: + super(SourceControl, self).__init__(kind=kind, **kwargs) + self.token = token + self.token_secret = token_secret + self.refresh_token = refresh_token + self.expiration_time = expiration_time + + +class StackMajorVersion(Model): + """Application stack major version. + + :param display_version: Application stack major version (display only). + :type display_version: str + :param runtime_version: Application stack major version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default major version; + otherwise, false. + :type is_default: bool + :param minor_versions: Minor versions associated with the major version. + :type minor_versions: list[~azure.mgmt.web.models.StackMinorVersion] + :param application_insights: true if this supports + Application Insights; otherwise, false. + :type application_insights: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'minor_versions': {'key': 'minorVersions', 'type': '[StackMinorVersion]'}, + 'application_insights': {'key': 'applicationInsights', 'type': 'bool'}, + } + + def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, minor_versions=None, application_insights: bool=None, **kwargs) -> None: + super(StackMajorVersion, self).__init__(**kwargs) + self.display_version = display_version + self.runtime_version = runtime_version + self.is_default = is_default + self.minor_versions = minor_versions + self.application_insights = application_insights + + +class StackMinorVersion(Model): + """Application stack minor version. + + :param display_version: Application stack minor version (display only). + :type display_version: str + :param runtime_version: Application stack minor version (runtime only). + :type runtime_version: str + :param is_default: true if this is the default minor version; + otherwise, false. + :type is_default: bool + :param is_remote_debugging_enabled: true if this supports + Remote Debugging, otherwise false. + :type is_remote_debugging_enabled: bool + """ + + _attribute_map = { + 'display_version': {'key': 'displayVersion', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'is_default': {'key': 'isDefault', 'type': 'bool'}, + 'is_remote_debugging_enabled': {'key': 'isRemoteDebuggingEnabled', 'type': 'bool'}, + } + + def __init__(self, *, display_version: str=None, runtime_version: str=None, is_default: bool=None, is_remote_debugging_enabled: bool=None, **kwargs) -> None: + super(StackMinorVersion, self).__init__(**kwargs) + self.display_version = display_version + self.runtime_version = runtime_version + self.is_default = is_default + self.is_remote_debugging_enabled = is_remote_debugging_enabled + + +class StampCapacity(Model): + """Stamp capacity information. + + :param name: Name of the stamp. + :type name: str + :param available_capacity: Available capacity (# of machines, bytes of + storage etc...). + :type available_capacity: long + :param total_capacity: Total capacity (# of machines, bytes of storage + etc...). + :type total_capacity: long + :param unit: Name of the unit. + :type unit: str + :param compute_mode: Shared/dedicated workers. Possible values include: + 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: Size of the machines. Possible values include: + 'Small', 'Medium', 'Large', 'D1', 'D2', 'D3', 'Default' + :type worker_size: str or ~azure.mgmt.web.models.WorkerSizeOptions + :param worker_size_id: Size ID of machines: + 0 - Small + 1 - Medium + 2 - Large + :type worker_size_id: int + :param exclude_from_capacity_allocation: If true, it includes + basic apps. + Basic apps are not used for capacity allocation. + :type exclude_from_capacity_allocation: bool + :param is_applicable_for_all_compute_modes: true if capacity + is applicable for all apps; otherwise, false. + :type is_applicable_for_all_compute_modes: bool + :param site_mode: Shared or Dedicated. + :type site_mode: str + :param is_linux: Is this a linux stamp capacity + :type is_linux: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'available_capacity': {'key': 'availableCapacity', 'type': 'long'}, + 'total_capacity': {'key': 'totalCapacity', 'type': 'long'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'WorkerSizeOptions'}, + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'exclude_from_capacity_allocation': {'key': 'excludeFromCapacityAllocation', 'type': 'bool'}, + 'is_applicable_for_all_compute_modes': {'key': 'isApplicableForAllComputeModes', 'type': 'bool'}, + 'site_mode': {'key': 'siteMode', 'type': 'str'}, + 'is_linux': {'key': 'isLinux', 'type': 'bool'}, + } + + def __init__(self, *, name: str=None, available_capacity: int=None, total_capacity: int=None, unit: str=None, compute_mode=None, worker_size=None, worker_size_id: int=None, exclude_from_capacity_allocation: bool=None, is_applicable_for_all_compute_modes: bool=None, site_mode: str=None, is_linux: bool=None, **kwargs) -> None: + super(StampCapacity, self).__init__(**kwargs) + self.name = name + self.available_capacity = available_capacity + self.total_capacity = total_capacity + self.unit = unit + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_size_id = worker_size_id + self.exclude_from_capacity_allocation = exclude_from_capacity_allocation + self.is_applicable_for_all_compute_modes = is_applicable_for_all_compute_modes + self.site_mode = site_mode + self.is_linux = is_linux + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class StorageMigrationOptions(ProxyOnlyResource): + """Options for app content migration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param azurefiles_connection_string: Required. AzureFiles connection + string. + :type azurefiles_connection_string: str + :param azurefiles_share: Required. AzureFiles share. + :type azurefiles_share: str + :param switch_site_after_migration: trueif the app should be + switched over; otherwise, false. Default value: False . + :type switch_site_after_migration: bool + :param block_write_access_to_site: true if the app should be + read only during copy operation; otherwise, false. Default + value: False . + :type block_write_access_to_site: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'azurefiles_connection_string': {'required': True}, + 'azurefiles_share': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'azurefiles_connection_string': {'key': 'properties.azurefilesConnectionString', 'type': 'str'}, + 'azurefiles_share': {'key': 'properties.azurefilesShare', 'type': 'str'}, + 'switch_site_after_migration': {'key': 'properties.switchSiteAfterMigration', 'type': 'bool'}, + 'block_write_access_to_site': {'key': 'properties.blockWriteAccessToSite', 'type': 'bool'}, + } + + def __init__(self, *, azurefiles_connection_string: str, azurefiles_share: str, kind: str=None, switch_site_after_migration: bool=False, block_write_access_to_site: bool=False, **kwargs) -> None: + super(StorageMigrationOptions, self).__init__(kind=kind, **kwargs) + self.azurefiles_connection_string = azurefiles_connection_string + self.azurefiles_share = azurefiles_share + self.switch_site_after_migration = switch_site_after_migration + self.block_write_access_to_site = block_write_access_to_site + + +class StorageMigrationResponse(ProxyOnlyResource): + """Response for a migration of app content request. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar operation_id: When server starts the migration process, it will + return an operation ID identifying that particular migration operation. + :vartype operation_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'operation_id': {'key': 'properties.operationId', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(StorageMigrationResponse, self).__init__(kind=kind, **kwargs) + self.operation_id = None + + +class StringDictionary(ProxyOnlyResource): + """String dictionary 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param properties: Settings. + :type properties: 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'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, properties=None, **kwargs) -> None: + super(StringDictionary, self).__init__(kind=kind, **kwargs) + self.properties = properties + + +class SwiftVirtualNetwork(ProxyOnlyResource): + """Swift Virtual Network Contract. This is used to enable the new Swift way of + doing virtual network integration. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param subnet_resource_id: The Virtual Network subnet's resource ID. This + is the subnet that this Web App will join. This subnet must have a + delegation to Microsoft.Web/serverFarms defined first. + :type subnet_resource_id: str + :param swift_supported: A flag that specifies if the scale unit this Web + App is on supports Swift integration. + :type swift_supported: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet_resource_id': {'key': 'properties.subnetResourceId', 'type': 'str'}, + 'swift_supported': {'key': 'properties.swiftSupported', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, subnet_resource_id: str=None, swift_supported: bool=None, **kwargs) -> None: + super(SwiftVirtualNetwork, self).__init__(kind=kind, **kwargs) + self.subnet_resource_id = subnet_resource_id + self.swift_supported = swift_supported + + +class TldLegalAgreement(Model): + """Legal agreement for a top level domain. + + All required parameters must be populated in order to send to Azure. + + :param agreement_key: Required. Unique identifier for the agreement. + :type agreement_key: str + :param title: Required. Agreement title. + :type title: str + :param content: Required. Agreement details. + :type content: str + :param url: URL where a copy of the agreement details is hosted. + :type url: str + """ + + _validation = { + 'agreement_key': {'required': True}, + 'title': {'required': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'agreement_key': {'key': 'agreementKey', 'type': 'str'}, + 'title': {'key': 'title', 'type': 'str'}, + 'content': {'key': 'content', 'type': 'str'}, + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, agreement_key: str, title: str, content: str, url: str=None, **kwargs) -> None: + super(TldLegalAgreement, self).__init__(**kwargs) + self.agreement_key = agreement_key + self.title = title + self.content = content + self.url = url + + +class TopLevelDomain(ProxyOnlyResource): + """A top level domain object. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param privacy: If true, then the top level domain supports + domain privacy; otherwise, false. + :type privacy: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'privacy': {'key': 'properties.privacy', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, privacy: bool=None, **kwargs) -> None: + super(TopLevelDomain, self).__init__(kind=kind, **kwargs) + self.privacy = privacy + + +class TopLevelDomainAgreementOption(Model): + """Options for retrieving the list of top level domain legal agreements. + + :param include_privacy: If true, then the list of agreements + will include agreements for domain privacy as well; otherwise, + false. + :type include_privacy: bool + :param for_transfer: If true, then the list of agreements + will include agreements for domain transfer as well; otherwise, + false. + :type for_transfer: bool + """ + + _attribute_map = { + 'include_privacy': {'key': 'includePrivacy', 'type': 'bool'}, + 'for_transfer': {'key': 'forTransfer', 'type': 'bool'}, + } + + def __init__(self, *, include_privacy: bool=None, for_transfer: bool=None, **kwargs) -> None: + super(TopLevelDomainAgreementOption, self).__init__(**kwargs) + self.include_privacy = include_privacy + self.for_transfer = for_transfer + + +class TriggeredJobHistory(ProxyOnlyResource): + """Triggered Web Job History. List of Triggered Web Job Run Information + elements. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param runs: List of triggered web job runs. + :type runs: list[~azure.mgmt.web.models.TriggeredJobRun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'runs': {'key': 'properties.runs', 'type': '[TriggeredJobRun]'}, + } + + def __init__(self, *, kind: str=None, runs=None, **kwargs) -> None: + super(TriggeredJobHistory, self).__init__(kind=kind, **kwargs) + self.runs = runs + + +class TriggeredJobRun(ProxyOnlyResource): + """Triggered Web Job Run 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param web_job_id: Job ID. + :type web_job_id: str + :param web_job_name: Job name. + :type web_job_name: str + :param status: Job status. Possible values include: 'Success', 'Failed', + 'Error' + :type status: str or ~azure.mgmt.web.models.TriggeredWebJobStatus + :param start_time: Start time. + :type start_time: datetime + :param end_time: End time. + :type end_time: datetime + :param duration: Job duration. + :type duration: str + :param output_url: Output URL. + :type output_url: str + :param error_url: Error URL. + :type error_url: str + :param url: Job URL. + :type url: str + :param job_name: Job name. + :type job_name: str + :param trigger: Job trigger. + :type trigger: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'web_job_id': {'key': 'properties.web_job_id', 'type': 'str'}, + 'web_job_name': {'key': 'properties.web_job_name', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'TriggeredWebJobStatus'}, + 'start_time': {'key': 'properties.start_time', 'type': 'iso-8601'}, + 'end_time': {'key': 'properties.end_time', 'type': 'iso-8601'}, + 'duration': {'key': 'properties.duration', 'type': 'str'}, + 'output_url': {'key': 'properties.output_url', 'type': 'str'}, + 'error_url': {'key': 'properties.error_url', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'job_name': {'key': 'properties.job_name', 'type': 'str'}, + 'trigger': {'key': 'properties.trigger', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, web_job_id: str=None, web_job_name: str=None, status=None, start_time=None, end_time=None, duration: str=None, output_url: str=None, error_url: str=None, url: str=None, job_name: str=None, trigger: str=None, **kwargs) -> None: + super(TriggeredJobRun, self).__init__(kind=kind, **kwargs) + self.web_job_id = web_job_id + self.web_job_name = web_job_name + self.status = status + self.start_time = start_time + self.end_time = end_time + self.duration = duration + self.output_url = output_url + self.error_url = error_url + self.url = url + self.job_name = job_name + self.trigger = trigger + + +class TriggeredWebJob(ProxyOnlyResource): + """Triggered Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param latest_run: Latest job run information. + :type latest_run: ~azure.mgmt.web.models.TriggeredJobRun + :param history_url: History URL. + :type history_url: str + :param scheduler_logs_url: Scheduler Logs URL. + :type scheduler_logs_url: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'latest_run': {'key': 'properties.latest_run', 'type': 'TriggeredJobRun'}, + 'history_url': {'key': 'properties.history_url', 'type': 'str'}, + 'scheduler_logs_url': {'key': 'properties.scheduler_logs_url', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, latest_run=None, history_url: str=None, scheduler_logs_url: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(TriggeredWebJob, self).__init__(kind=kind, **kwargs) + self.latest_run = latest_run + self.history_url = history_url + self.scheduler_logs_url = scheduler_logs_url + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.web_job_type = web_job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings + + +class Usage(ProxyOnlyResource): + """Usage of the quota 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar display_name: Friendly name shown in the UI. + :vartype display_name: str + :ivar resource_name: Name of the quota resource. + :vartype resource_name: str + :ivar unit: Units of measurement for the quota resource. + :vartype unit: str + :ivar current_value: The current value of the resource counter. + :vartype current_value: long + :ivar limit: The resource limit. + :vartype limit: long + :ivar next_reset_time: Next reset time for the resource counter. + :vartype next_reset_time: datetime + :ivar compute_mode: Compute mode used for this usage. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :vartype compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :ivar site_mode: Site mode used for this usage. + :vartype site_mode: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'display_name': {'readonly': True}, + 'resource_name': {'readonly': True}, + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'next_reset_time': {'readonly': True}, + 'compute_mode': {'readonly': True}, + 'site_mode': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'resource_name': {'key': 'properties.resourceName', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'long'}, + 'limit': {'key': 'properties.limit', 'type': 'long'}, + 'next_reset_time': {'key': 'properties.nextResetTime', 'type': 'iso-8601'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'site_mode': {'key': 'properties.siteMode', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(Usage, self).__init__(kind=kind, **kwargs) + self.display_name = None + self.resource_name = None + self.unit = None + self.current_value = None + self.limit = None + self.next_reset_time = None + self.compute_mode = None + self.site_mode = None + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + :param scm_uri: Url of SCM site. + :type scm_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, scm_uri: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + self.scm_uri = scm_uri + + +class ValidateContainerSettingsRequest(Model): + """Container settings validation request context. + + :param base_url: Base URL of the container registry + :type base_url: str + :param username: Username for to access the container registry + :type username: str + :param password: Password for to access the container registry + :type password: str + :param repository: Repository name (image name) + :type repository: str + :param tag: Image tag + :type tag: str + :param platform: Platform (windows or linux) + :type platform: str + """ + + _attribute_map = { + 'base_url': {'key': 'baseUrl', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'repository': {'key': 'repository', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + } + + def __init__(self, *, base_url: str=None, username: str=None, password: str=None, repository: str=None, tag: str=None, platform: str=None, **kwargs) -> None: + super(ValidateContainerSettingsRequest, self).__init__(**kwargs) + self.base_url = base_url + self.username = username + self.password = password + self.repository = repository + self.tag = tag + self.platform = platform + + +class ValidateRequest(Model): + """Resource validation request content. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Resource name to verify. + :type name: str + :param type: Required. Resource type used for verification. Possible + values include: 'ServerFarm', 'Site' + :type type: str or ~azure.mgmt.web.models.ValidateResourceTypes + :param location: Required. Expected location of the resource. + :type location: str + :param server_farm_id: ARM resource ID of an App Service plan that would + host the app. + :type server_farm_id: str + :param sku_name: Name of the target SKU for the App Service plan. + :type sku_name: str + :param need_linux_workers: true if App Service plan is for + Linux workers; otherwise, false. + :type need_linux_workers: bool + :param is_spot: true if App Service plan is for Spot + instances; otherwise, false. + :type is_spot: bool + :param capacity: Target capacity of the App Service plan (number of VMs). + :type capacity: int + :param hosting_environment: Name of App Service Environment where app or + App Service plan should be created. + :type hosting_environment: str + :param is_xenon: true if App Service plan is running as a + windows container + :type is_xenon: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'location': {'required': True}, + 'capacity': {'minimum': 1}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'sku_name': {'key': 'properties.skuName', 'type': 'str'}, + 'need_linux_workers': {'key': 'properties.needLinuxWorkers', 'type': 'bool'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'int'}, + 'hosting_environment': {'key': 'properties.hostingEnvironment', 'type': 'str'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + } + + def __init__(self, *, name: str, type, location: str, server_farm_id: str=None, sku_name: str=None, need_linux_workers: bool=None, is_spot: bool=None, capacity: int=None, hosting_environment: str=None, is_xenon: bool=None, **kwargs) -> None: + super(ValidateRequest, self).__init__(**kwargs) + self.name = name + self.type = type + self.location = location + self.server_farm_id = server_farm_id + self.sku_name = sku_name + self.need_linux_workers = need_linux_workers + self.is_spot = is_spot + self.capacity = capacity + self.hosting_environment = hosting_environment + self.is_xenon = is_xenon + + +class ValidateResponse(Model): + """Describes the result of resource validation. + + :param status: Result of validation. + :type status: str + :param error: Error details for the case when validation fails. + :type error: ~azure.mgmt.web.models.ValidateResponseError + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ValidateResponseError'}, + } + + def __init__(self, *, status: str=None, error=None, **kwargs) -> None: + super(ValidateResponse, self).__init__(**kwargs) + self.status = status + self.error = error + + +class ValidateResponseError(Model): + """Error details for when validation fails. + + :param code: Validation error code. + :type code: str + :param message: Validation error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ValidateResponseError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VirtualIPMapping(Model): + """Virtual IP mapping. + + :param virtual_ip: Virtual IP address. + :type virtual_ip: str + :param internal_http_port: Internal HTTP port. + :type internal_http_port: int + :param internal_https_port: Internal HTTPS port. + :type internal_https_port: int + :param in_use: Is virtual IP mapping in use. + :type in_use: bool + """ + + _attribute_map = { + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'internal_http_port': {'key': 'internalHttpPort', 'type': 'int'}, + 'internal_https_port': {'key': 'internalHttpsPort', 'type': 'int'}, + 'in_use': {'key': 'inUse', 'type': 'bool'}, + } + + def __init__(self, *, virtual_ip: str=None, internal_http_port: int=None, internal_https_port: int=None, in_use: bool=None, **kwargs) -> None: + super(VirtualIPMapping, self).__init__(**kwargs) + self.virtual_ip = virtual_ip + self.internal_http_port = internal_http_port + self.internal_https_port = internal_https_port + self.in_use = in_use + + +class VirtualNetworkProfile(Model): + """Specification for using a Virtual Network. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource id of the Virtual Network. + :type id: str + :ivar name: Name of the Virtual Network (read-only). + :vartype name: str + :ivar type: Resource type of the Virtual Network (read-only). + :vartype type: str + :param subnet: Subnet within the Virtual Network. + :type subnet: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet: str=None, **kwargs) -> None: + super(VirtualNetworkProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.subnet = subnet + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: str + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + :param is_swift: Flag that is used to denote if this is VNET injection + :type is_swift: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: str=None, dns_servers: str=None, is_swift: bool=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + self.is_swift = is_swift + + +class VnetParameters(ProxyOnlyResource): + """The required set of inputs to validate a VNET. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_group: The Resource Group of the VNET to be validated + :type vnet_resource_group: str + :param vnet_name: The name of the VNET to be validated + :type vnet_name: str + :param vnet_subnet_name: The subnet name to be validated + :type vnet_subnet_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_group': {'key': 'properties.vnetResourceGroup', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vnet_subnet_name': {'key': 'properties.vnetSubnetName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_group: str=None, vnet_name: str=None, vnet_subnet_name: str=None, **kwargs) -> None: + super(VnetParameters, self).__init__(kind=kind, **kwargs) + self.vnet_resource_group = vnet_resource_group + self.vnet_name = vnet_name + self.vnet_subnet_name = vnet_subnet_name + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type + + +class VnetValidationFailureDetails(ProxyOnlyResource): + """A class that describes the reason for a validation failure. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param failed: A flag describing whether or not validation failed. + :type failed: bool + :param failed_tests: A list of tests that failed in the validation. + :type failed_tests: list[~azure.mgmt.web.models.VnetValidationTestFailure] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'failed': {'key': 'properties.failed', 'type': 'bool'}, + 'failed_tests': {'key': 'properties.failedTests', 'type': '[VnetValidationTestFailure]'}, + } + + def __init__(self, *, kind: str=None, failed: bool=None, failed_tests=None, **kwargs) -> None: + super(VnetValidationFailureDetails, self).__init__(kind=kind, **kwargs) + self.failed = failed + self.failed_tests = failed_tests + + +class VnetValidationTestFailure(ProxyOnlyResource): + """A class that describes a test that failed during NSG and UDR validation. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param test_name: The name of the test that failed. + :type test_name: str + :param details: The details of what caused the failure, e.g. the blocking + rule name, etc. + :type details: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'test_name': {'key': 'properties.testName', 'type': 'str'}, + 'details': {'key': 'properties.details', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, test_name: str=None, details: str=None, **kwargs) -> None: + super(VnetValidationTestFailure, self).__init__(kind=kind, **kwargs) + self.test_name = test_name + self.details = details + + +class WebAppCollection(Model): + """Collection of App Service apps. + + 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 value: Required. Collection of resources. + :type value: list[~azure.mgmt.web.models.Site] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Site]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value, **kwargs) -> None: + super(WebAppCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class WebJob(ProxyOnlyResource): + """Web Job 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param run_command: Run command. + :type run_command: str + :param url: Job URL. + :type url: str + :param extra_info_url: Extra Info URL. + :type extra_info_url: str + :param web_job_type: Job type. Possible values include: 'Continuous', + 'Triggered' + :type web_job_type: str or ~azure.mgmt.web.models.WebJobType + :param error: Error information. + :type error: str + :param using_sdk: Using SDK? + :type using_sdk: bool + :param settings: Job settings. + :type settings: dict[str, object] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'run_command': {'key': 'properties.run_command', 'type': 'str'}, + 'url': {'key': 'properties.url', 'type': 'str'}, + 'extra_info_url': {'key': 'properties.extra_info_url', 'type': 'str'}, + 'web_job_type': {'key': 'properties.web_job_type', 'type': 'WebJobType'}, + 'error': {'key': 'properties.error', 'type': 'str'}, + 'using_sdk': {'key': 'properties.using_sdk', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': '{object}'}, + } + + def __init__(self, *, kind: str=None, run_command: str=None, url: str=None, extra_info_url: str=None, web_job_type=None, error: str=None, using_sdk: bool=None, settings=None, **kwargs) -> None: + super(WebJob, self).__init__(kind=kind, **kwargs) + self.run_command = run_command + self.url = url + self.extra_info_url = extra_info_url + self.web_job_type = web_job_type + self.error = error + self.using_sdk = using_sdk + self.settings = settings + + +class WorkerPool(Model): + """Worker pool of an App Service Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + """ + + _validation = { + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'worker_size_id': {'key': 'workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'workerSize', 'type': 'str'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'instance_names': {'key': 'instanceNames', 'type': '[str]'}, + } + + def __init__(self, *, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, **kwargs) -> None: + super(WorkerPool, self).__init__(**kwargs) + self.worker_size_id = worker_size_id + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_count = worker_count + self.instance_names = None + + +class WorkerPoolResource(ProxyOnlyResource): + """Worker pool of an App Service Environment ARM 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param worker_size_id: Worker size ID for referencing this worker pool. + :type worker_size_id: int + :param compute_mode: Shared or dedicated app hosting. Possible values + include: 'Shared', 'Dedicated', 'Dynamic' + :type compute_mode: str or ~azure.mgmt.web.models.ComputeModeOptions + :param worker_size: VM size of the worker pool instances. + :type worker_size: str + :param worker_count: Number of instances in the worker pool. + :type worker_count: int + :ivar instance_names: Names of all instances in the worker pool (read + only). + :vartype instance_names: list[str] + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'instance_names': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'worker_size_id': {'key': 'properties.workerSizeId', 'type': 'int'}, + 'compute_mode': {'key': 'properties.computeMode', 'type': 'ComputeModeOptions'}, + 'worker_size': {'key': 'properties.workerSize', 'type': 'str'}, + 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, + 'instance_names': {'key': 'properties.instanceNames', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, kind: str=None, worker_size_id: int=None, compute_mode=None, worker_size: str=None, worker_count: int=None, sku=None, **kwargs) -> None: + super(WorkerPoolResource, self).__init__(kind=kind, **kwargs) + self.worker_size_id = worker_size_id + self.compute_mode = compute_mode + self.worker_size = worker_size + self.worker_count = worker_count + self.instance_names = None + self.sku = sku diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_paged_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_paged_models.py new file mode 100644 index 000000000000..0919cae68220 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_paged_models.py @@ -0,0 +1,729 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 AppServiceCertificateOrderPaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServiceCertificateOrder ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServiceCertificateOrder]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServiceCertificateOrderPaged, self).__init__(*args, **kwargs) +class AppServiceCertificateResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServiceCertificateResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServiceCertificateResource]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServiceCertificateResourcePaged, self).__init__(*args, **kwargs) +class CsmOperationDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmOperationDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmOperationDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmOperationDescriptionPaged, self).__init__(*args, **kwargs) +class DomainPaged(Paged): + """ + A paging container for iterating over a list of :class:`Domain ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Domain]'} + } + + def __init__(self, *args, **kwargs): + + super(DomainPaged, self).__init__(*args, **kwargs) +class NameIdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`NameIdentifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NameIdentifier]'} + } + + def __init__(self, *args, **kwargs): + + super(NameIdentifierPaged, self).__init__(*args, **kwargs) +class DomainOwnershipIdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`DomainOwnershipIdentifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DomainOwnershipIdentifier]'} + } + + def __init__(self, *args, **kwargs): + + super(DomainOwnershipIdentifierPaged, self).__init__(*args, **kwargs) +class TopLevelDomainPaged(Paged): + """ + A paging container for iterating over a list of :class:`TopLevelDomain ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TopLevelDomain]'} + } + + def __init__(self, *args, **kwargs): + + super(TopLevelDomainPaged, self).__init__(*args, **kwargs) +class TldLegalAgreementPaged(Paged): + """ + A paging container for iterating over a list of :class:`TldLegalAgreement ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TldLegalAgreement]'} + } + + def __init__(self, *args, **kwargs): + + super(TldLegalAgreementPaged, self).__init__(*args, **kwargs) +class CertificatePaged(Paged): + """ + A paging container for iterating over a list of :class:`Certificate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Certificate]'} + } + + def __init__(self, *args, **kwargs): + + super(CertificatePaged, self).__init__(*args, **kwargs) +class DeletedSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`DeletedSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DeletedSite]'} + } + + def __init__(self, *args, **kwargs): + + super(DeletedSitePaged, self).__init__(*args, **kwargs) +class DetectorResponsePaged(Paged): + """ + A paging container for iterating over a list of :class:`DetectorResponse ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DetectorResponse]'} + } + + def __init__(self, *args, **kwargs): + + super(DetectorResponsePaged, self).__init__(*args, **kwargs) +class DiagnosticCategoryPaged(Paged): + """ + A paging container for iterating over a list of :class:`DiagnosticCategory ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DiagnosticCategory]'} + } + + def __init__(self, *args, **kwargs): + + super(DiagnosticCategoryPaged, self).__init__(*args, **kwargs) +class AnalysisDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`AnalysisDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AnalysisDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(AnalysisDefinitionPaged, self).__init__(*args, **kwargs) +class DetectorDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`DetectorDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DetectorDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(DetectorDefinitionPaged, self).__init__(*args, **kwargs) +class ApplicationStackPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationStack ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationStack]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationStackPaged, self).__init__(*args, **kwargs) +class RecommendationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Recommendation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Recommendation]'} + } + + def __init__(self, *args, **kwargs): + + super(RecommendationPaged, self).__init__(*args, **kwargs) +class SourceControlPaged(Paged): + """ + A paging container for iterating over a list of :class:`SourceControl ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SourceControl]'} + } + + def __init__(self, *args, **kwargs): + + super(SourceControlPaged, self).__init__(*args, **kwargs) +class BillingMeterPaged(Paged): + """ + A paging container for iterating over a list of :class:`BillingMeter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BillingMeter]'} + } + + def __init__(self, *args, **kwargs): + + super(BillingMeterPaged, self).__init__(*args, **kwargs) +class GeoRegionPaged(Paged): + """ + A paging container for iterating over a list of :class:`GeoRegion ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[GeoRegion]'} + } + + def __init__(self, *args, **kwargs): + + super(GeoRegionPaged, self).__init__(*args, **kwargs) +class IdentifierPaged(Paged): + """ + A paging container for iterating over a list of :class:`Identifier ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Identifier]'} + } + + def __init__(self, *args, **kwargs): + + super(IdentifierPaged, self).__init__(*args, **kwargs) +class PremierAddOnOfferPaged(Paged): + """ + A paging container for iterating over a list of :class:`PremierAddOnOffer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PremierAddOnOffer]'} + } + + def __init__(self, *args, **kwargs): + + super(PremierAddOnOfferPaged, self).__init__(*args, **kwargs) +class SitePaged(Paged): + """ + A paging container for iterating over a list of :class:`Site ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Site]'} + } + + def __init__(self, *args, **kwargs): + + super(SitePaged, self).__init__(*args, **kwargs) +class BackupItemPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackupItem ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackupItem]'} + } + + def __init__(self, *args, **kwargs): + + super(BackupItemPaged, self).__init__(*args, **kwargs) +class SiteConfigResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteConfigResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteConfigResource]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteConfigResourcePaged, self).__init__(*args, **kwargs) +class SiteConfigurationSnapshotInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteConfigurationSnapshotInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteConfigurationSnapshotInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteConfigurationSnapshotInfoPaged, self).__init__(*args, **kwargs) +class ContinuousWebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`ContinuousWebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ContinuousWebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(ContinuousWebJobPaged, self).__init__(*args, **kwargs) +class DeploymentPaged(Paged): + """ + A paging container for iterating over a list of :class:`Deployment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Deployment]'} + } + + def __init__(self, *args, **kwargs): + + super(DeploymentPaged, self).__init__(*args, **kwargs) +class FunctionEnvelopePaged(Paged): + """ + A paging container for iterating over a list of :class:`FunctionEnvelope ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FunctionEnvelope]'} + } + + def __init__(self, *args, **kwargs): + + super(FunctionEnvelopePaged, self).__init__(*args, **kwargs) +class HostNameBindingPaged(Paged): + """ + A paging container for iterating over a list of :class:`HostNameBinding ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HostNameBinding]'} + } + + def __init__(self, *args, **kwargs): + + super(HostNameBindingPaged, self).__init__(*args, **kwargs) +class SiteInstancePaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteInstance ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteInstance]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteInstancePaged, self).__init__(*args, **kwargs) +class ProcessInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessInfoPaged, self).__init__(*args, **kwargs) +class ProcessModuleInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessModuleInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessModuleInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessModuleInfoPaged, self).__init__(*args, **kwargs) +class ProcessThreadInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProcessThreadInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProcessThreadInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(ProcessThreadInfoPaged, self).__init__(*args, **kwargs) +class ResourceMetricDefinitionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetricDefinition ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetricDefinition]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricDefinitionPaged, self).__init__(*args, **kwargs) +class ResourceMetricPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceMetric ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceMetric]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceMetricPaged, self).__init__(*args, **kwargs) +class PerfMonResponsePaged(Paged): + """ + A paging container for iterating over a list of :class:`PerfMonResponse ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PerfMonResponse]'} + } + + def __init__(self, *args, **kwargs): + + super(PerfMonResponsePaged, self).__init__(*args, **kwargs) +class PublicCertificatePaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicCertificate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicCertificate]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicCertificatePaged, self).__init__(*args, **kwargs) +class SiteExtensionInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SiteExtensionInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SiteExtensionInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SiteExtensionInfoPaged, self).__init__(*args, **kwargs) +class SlotDifferencePaged(Paged): + """ + A paging container for iterating over a list of :class:`SlotDifference ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SlotDifference]'} + } + + def __init__(self, *args, **kwargs): + + super(SlotDifferencePaged, self).__init__(*args, **kwargs) +class SnapshotPaged(Paged): + """ + A paging container for iterating over a list of :class:`Snapshot ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Snapshot]'} + } + + def __init__(self, *args, **kwargs): + + super(SnapshotPaged, self).__init__(*args, **kwargs) +class TriggeredWebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`TriggeredWebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TriggeredWebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(TriggeredWebJobPaged, self).__init__(*args, **kwargs) +class TriggeredJobHistoryPaged(Paged): + """ + A paging container for iterating over a list of :class:`TriggeredJobHistory ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[TriggeredJobHistory]'} + } + + def __init__(self, *args, **kwargs): + + super(TriggeredJobHistoryPaged, self).__init__(*args, **kwargs) +class CsmUsageQuotaPaged(Paged): + """ + A paging container for iterating over a list of :class:`CsmUsageQuota ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CsmUsageQuota]'} + } + + def __init__(self, *args, **kwargs): + + super(CsmUsageQuotaPaged, self).__init__(*args, **kwargs) +class WebJobPaged(Paged): + """ + A paging container for iterating over a list of :class:`WebJob ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WebJob]'} + } + + def __init__(self, *args, **kwargs): + + super(WebJobPaged, self).__init__(*args, **kwargs) +class AppServiceEnvironmentResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServiceEnvironmentResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServiceEnvironmentResource]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServiceEnvironmentResourcePaged, self).__init__(*args, **kwargs) +class StampCapacityPaged(Paged): + """ + A paging container for iterating over a list of :class:`StampCapacity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[StampCapacity]'} + } + + def __init__(self, *args, **kwargs): + + super(StampCapacityPaged, self).__init__(*args, **kwargs) +class InboundEnvironmentEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`InboundEnvironmentEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InboundEnvironmentEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(InboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) +class WorkerPoolResourcePaged(Paged): + """ + A paging container for iterating over a list of :class:`WorkerPoolResource ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[WorkerPoolResource]'} + } + + def __init__(self, *args, **kwargs): + + super(WorkerPoolResourcePaged, self).__init__(*args, **kwargs) +class SkuInfoPaged(Paged): + """ + A paging container for iterating over a list of :class:`SkuInfo ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SkuInfo]'} + } + + def __init__(self, *args, **kwargs): + + super(SkuInfoPaged, self).__init__(*args, **kwargs) +class UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) +class OutboundEnvironmentEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`OutboundEnvironmentEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(OutboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) +class AppServicePlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`AppServicePlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AppServicePlan]'} + } + + def __init__(self, *args, **kwargs): + + super(AppServicePlanPaged, self).__init__(*args, **kwargs) +class StrPaged(Paged): + """ + A paging container for iterating over a list of str object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[str]'} + } + + def __init__(self, *args, **kwargs): + + super(StrPaged, self).__init__(*args, **kwargs) +class HybridConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HybridConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HybridConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HybridConnectionPaged, self).__init__(*args, **kwargs) +class ResourceHealthMetadataPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourceHealthMetadata ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourceHealthMetadata]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourceHealthMetadataPaged, self).__init__(*args, **kwargs) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_web_site_management_client_enums.py similarity index 100% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/web_site_management_client_enums.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/models/_web_site_management_client_enums.py diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/__init__.py new file mode 100644 index 000000000000..b77b412497f0 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/__init__.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 ._app_service_certificate_orders_operations import AppServiceCertificateOrdersOperations +from ._certificate_registration_provider_operations import CertificateRegistrationProviderOperations +from ._domains_operations import DomainsOperations +from ._top_level_domains_operations import TopLevelDomainsOperations +from ._domain_registration_provider_operations import DomainRegistrationProviderOperations +from ._certificates_operations import CertificatesOperations +from ._deleted_web_apps_operations import DeletedWebAppsOperations +from ._diagnostics_operations import DiagnosticsOperations +from ._provider_operations import ProviderOperations +from ._recommendations_operations import RecommendationsOperations +from ._web_apps_operations import WebAppsOperations +from ._app_service_environments_operations import AppServiceEnvironmentsOperations +from ._app_service_plans_operations import AppServicePlansOperations +from ._resource_health_metadata_operations import ResourceHealthMetadataOperations +from ._web_site_management_client_operations import WebSiteManagementClientOperationsMixin + +__all__ = [ + 'AppServiceCertificateOrdersOperations', + 'CertificateRegistrationProviderOperations', + 'DomainsOperations', + 'TopLevelDomainsOperations', + 'DomainRegistrationProviderOperations', + 'CertificatesOperations', + 'DeletedWebAppsOperations', + 'DiagnosticsOperations', + 'ProviderOperations', + 'RecommendationsOperations', + 'WebAppsOperations', + 'AppServiceEnvironmentsOperations', + 'AppServicePlansOperations', + 'ResourceHealthMetadataOperations', + 'WebSiteManagementClientOperationsMixin', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_certificate_orders_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_certificate_orders_operations.py similarity index 98% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_certificate_orders_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_certificate_orders_operations.py index c4ad927b1b5b..b871f5831d45 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_certificate_orders_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_certificate_orders_operations.py @@ -21,6 +21,8 @@ class AppServiceCertificateOrdersOperations(object): """AppServiceCertificateOrdersOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,8 +58,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -86,6 +87,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -94,12 +100,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders'} @@ -181,8 +185,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -212,6 +215,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -220,12 +228,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServiceCertificateOrderPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders'} @@ -283,7 +289,6 @@ def get( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceCertificateOrder', response) @@ -518,7 +523,6 @@ def update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceCertificateOrder', response) if response.status_code == 201: @@ -553,8 +557,7 @@ def list_certificates( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_certificates.metadata['url'] @@ -585,6 +588,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -593,12 +601,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServiceCertificateResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServiceCertificateResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServiceCertificateResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates'} @@ -660,7 +666,6 @@ def get_certificate( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceCertificateResource', response) @@ -904,7 +909,6 @@ def update_certificate( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceCertificateResource', response) if response.status_code == 201: @@ -1227,7 +1231,6 @@ def retrieve_site_seal( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteSeal', response) @@ -1347,7 +1350,6 @@ def retrieve_certificate_actions( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[CertificateOrderAction]', response) @@ -1411,7 +1413,6 @@ def retrieve_certificate_email_history( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[CertificateEmail]', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_environments_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_environments_operations.py similarity index 96% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_environments_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_environments_operations.py index 368dfda236ae..44707a9ff17a 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_environments_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_environments_operations.py @@ -21,6 +21,8 @@ class AppServiceEnvironmentsOperations(object): """AppServiceEnvironmentsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,8 +58,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -86,6 +87,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -94,12 +100,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments'} @@ -124,8 +128,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -155,6 +158,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -163,12 +171,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServiceEnvironmentResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments'} @@ -227,7 +233,6 @@ def get( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceEnvironmentResource', response) @@ -498,7 +503,6 @@ def update( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServiceEnvironmentResource', response) if response.status_code == 202: @@ -535,8 +539,7 @@ def list_capacities( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_capacities.metadata['url'] @@ -567,6 +570,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -575,12 +583,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.StampCapacityPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.StampCapacityPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.StampCapacityPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_capacities.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute'} @@ -638,7 +644,6 @@ def list_vips( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AddressResponse', response) @@ -811,7 +816,6 @@ def list_diagnostics( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[HostingEnvironmentDiagnostics]', response) @@ -879,7 +883,6 @@ def get_diagnostics_item( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HostingEnvironmentDiagnostics', response) @@ -914,8 +917,7 @@ def get_inbound_network_dependencies_endpoints( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_inbound_network_dependencies_endpoints.metadata['url'] @@ -946,6 +948,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -954,12 +961,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.InboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.InboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.InboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_inbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints'} @@ -1017,7 +1022,6 @@ def list_metric_definitions( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MetricDefinition', response) @@ -1059,8 +1063,7 @@ def list_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metrics.metadata['url'] @@ -1095,6 +1098,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1103,12 +1111,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics'} @@ -1135,8 +1141,7 @@ def list_multi_role_pools( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_pools.metadata['url'] @@ -1167,6 +1172,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1175,12 +1185,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_pools.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools'} @@ -1238,7 +1246,6 @@ def get_multi_role_pool( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WorkerPoolResource', response) @@ -1416,7 +1423,6 @@ def update_multi_role_pool( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WorkerPoolResource', response) if response.status_code == 202: @@ -1455,8 +1461,7 @@ def list_multi_role_pool_instance_metric_definitions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_pool_instance_metric_definitions.metadata['url'] @@ -1488,6 +1493,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1496,12 +1506,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_pool_instance_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions'} @@ -1535,8 +1543,7 @@ def list_multi_role_pool_instance_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_pool_instance_metrics.metadata['url'] @@ -1570,6 +1577,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1578,12 +1590,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_pool_instance_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics'} @@ -1612,8 +1622,7 @@ def list_multi_role_metric_definitions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_metric_definitions.metadata['url'] @@ -1644,6 +1653,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1652,12 +1666,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions'} @@ -1699,8 +1711,7 @@ def list_multi_role_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_metrics.metadata['url'] @@ -1741,6 +1752,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1749,12 +1765,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics'} @@ -1781,8 +1795,7 @@ def list_multi_role_pool_skus( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_pool_skus.metadata['url'] @@ -1813,6 +1826,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1821,12 +1839,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_pool_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus'} @@ -1853,8 +1869,7 @@ def list_multi_role_usages( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_multi_role_usages.metadata['url'] @@ -1885,6 +1900,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1893,12 +1913,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_multi_role_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages'} @@ -1956,7 +1974,6 @@ def list_operations( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[Operation]', response) @@ -1991,8 +2008,7 @@ def get_outbound_network_dependencies_endpoints( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_outbound_network_dependencies_endpoints.metadata['url'] @@ -2023,6 +2039,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2031,12 +2052,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.OutboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.OutboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.OutboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints'} @@ -2216,8 +2235,7 @@ def list_app_service_plans( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_app_service_plans.metadata['url'] @@ -2248,6 +2266,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2256,12 +2279,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_app_service_plans.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms'} @@ -2290,8 +2311,7 @@ def list_web_apps( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_apps.metadata['url'] @@ -2324,6 +2344,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2332,12 +2357,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_apps.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites'} @@ -2467,8 +2490,7 @@ def list_usages( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_usages.metadata['url'] @@ -2501,6 +2523,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2509,12 +2536,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages'} @@ -2541,8 +2566,7 @@ def list_worker_pools( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_worker_pools.metadata['url'] @@ -2573,6 +2597,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2581,12 +2610,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.WorkerPoolResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_worker_pools.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools'} @@ -2647,7 +2674,6 @@ def get_worker_pool( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WorkerPoolResource', response) @@ -2830,7 +2856,6 @@ def update_worker_pool( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WorkerPoolResource', response) if response.status_code == 202: @@ -2871,8 +2896,7 @@ def list_worker_pool_instance_metric_definitions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_worker_pool_instance_metric_definitions.metadata['url'] @@ -2905,6 +2929,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2913,12 +2942,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_worker_pool_instance_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions'} @@ -2960,8 +2987,7 @@ def list_worker_pool_instance_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_worker_pool_instance_metrics.metadata['url'] @@ -2998,6 +3024,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3006,12 +3037,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_worker_pool_instance_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics'} @@ -3040,8 +3069,7 @@ def list_web_worker_metric_definitions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_worker_metric_definitions.metadata['url'] @@ -3073,6 +3101,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3081,12 +3114,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_worker_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions'} @@ -3126,8 +3157,7 @@ def list_web_worker_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_worker_metrics.metadata['url'] @@ -3163,6 +3193,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3171,12 +3206,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_worker_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics'} @@ -3205,8 +3238,7 @@ def list_worker_pool_skus( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_worker_pool_skus.metadata['url'] @@ -3238,6 +3270,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3246,12 +3283,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SkuInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_worker_pool_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus'} @@ -3280,8 +3315,7 @@ def list_web_worker_usages( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_worker_usages.metadata['url'] @@ -3313,6 +3347,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3321,12 +3360,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_worker_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_plans_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_plans_operations.py similarity index 98% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_plans_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_plans_operations.py index 564ef92378f1..2ffd2e059506 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/app_service_plans_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_app_service_plans_operations.py @@ -21,6 +21,8 @@ class AppServicePlansOperations(object): """AppServicePlansOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -61,8 +63,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -93,6 +94,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -101,12 +107,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms'} @@ -131,8 +135,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -162,6 +165,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -170,12 +178,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AppServicePlanPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms'} @@ -234,7 +240,6 @@ def get( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServicePlan', response) @@ -467,7 +472,6 @@ def update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AppServicePlan', response) if response.status_code == 202: @@ -533,7 +537,6 @@ def list_capabilities( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[Capability]', response) @@ -603,7 +606,6 @@ def get_hybrid_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -735,7 +737,6 @@ def list_hybrid_connection_keys( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnectionKey', response) @@ -771,8 +772,7 @@ def list_web_apps_by_hybrid_connection( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_apps_by_hybrid_connection.metadata['url'] @@ -805,6 +805,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -813,12 +818,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.StrPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.StrPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.StrPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_apps_by_hybrid_connection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites'} @@ -878,7 +881,6 @@ def get_hybrid_connection_plan_limit( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnectionLimits', response) @@ -911,8 +913,7 @@ def list_hybrid_connections( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_hybrid_connections.metadata['url'] @@ -943,6 +944,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -951,12 +957,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.HybridConnectionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.HybridConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.HybridConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_hybrid_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays'} @@ -985,8 +989,7 @@ def list_metric_defintions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metric_defintions.metadata['url'] @@ -1017,6 +1020,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1025,12 +1033,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metric_defintions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions'} @@ -1066,8 +1072,7 @@ def list_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metrics.metadata['url'] @@ -1102,6 +1107,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1110,12 +1120,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics'} @@ -1214,8 +1222,7 @@ def list_web_apps( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_apps.metadata['url'] @@ -1252,6 +1259,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1260,12 +1272,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_apps.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites'} @@ -1322,7 +1332,6 @@ def get_server_farm_skus( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('object', response) @@ -1359,8 +1368,7 @@ def list_usages( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_usages.metadata['url'] @@ -1393,6 +1401,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1401,12 +1414,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages'} @@ -1464,7 +1475,6 @@ def list_vnets( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[VnetInfo]', response) @@ -1532,7 +1542,6 @@ def get_vnet_from_server_farm( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -1603,7 +1612,6 @@ def get_vnet_gateway( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -1680,7 +1688,6 @@ def update_vnet_gateway( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -1749,7 +1756,6 @@ def list_routes_for_vnet( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[VnetRoute]', response) @@ -1820,7 +1826,6 @@ def get_route_for_vnet( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[VnetRoute]', response) @@ -1897,7 +1902,6 @@ def create_or_update_vnet_route( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetRoute', response) @@ -2036,7 +2040,6 @@ def update_vnet_route( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetRoute', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificate_registration_provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificate_registration_provider_operations.py similarity index 90% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificate_registration_provider_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificate_registration_provider_operations.py index 4e8e3626ecfb..3e396400d353 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificate_registration_provider_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificate_registration_provider_operations.py @@ -18,6 +18,8 @@ class CertificateRegistrationProviderOperations(object): """CertificateRegistrationProviderOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -55,8 +57,7 @@ def list_operations( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_operations.metadata['url'] @@ -81,6 +82,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -89,12 +95,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_operations.metadata = {'url': '/providers/Microsoft.CertificateRegistration/operations'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificates_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificates_operations.py new file mode 100644 index 000000000000..d51c3b680dc9 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_certificates_operations.py @@ -0,0 +1,438 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 CertificatesOperations(object): + """CertificatesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: API Version. 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( + self, custom_headers=None, raw=False, **operation_config): + """Get all certificates for a subscription. + + Get all certificates 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 Certificate + :rtype: + ~azure.mgmt.web.models.CertificatePaged[~azure.mgmt.web.models.Certificate] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Get all certificates in a resource group. + + Get all certificates in a resource group. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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 Certificate + :rtype: + ~azure.mgmt.web.models.CertificatePaged[~azure.mgmt.web.models.Certificate] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates'} + + def get( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Get a certificate. + + Get a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :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: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Certificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} + + def create_or_update( + self, resource_group_name, name, certificate_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a certificate. + + Create or update a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :type name: str + :param certificate_envelope: Details of certificate, if it exists + already. + :type certificate_envelope: ~azure.mgmt.web.models.Certificate + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(certificate_envelope, 'Certificate') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Certificate', 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.Web/certificates/{name}'} + + def delete( + self, resource_group_name, name, custom_headers=None, raw=False, **operation_config): + """Delete a certificate. + + Delete a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :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: 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} + + def update( + self, resource_group_name, name, certificate_envelope, custom_headers=None, raw=False, **operation_config): + """Create or update a certificate. + + Create or update a certificate. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param name: Name of the certificate. + :type name: str + :param certificate_envelope: Details of certificate, if it exists + already. + :type certificate_envelope: + ~azure.mgmt.web.models.CertificatePatchResource + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: Certificate or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.Certificate or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # 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\._\(\)]+[^\.]$'), + 'name': self._serialize.url("name", 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(certificate_envelope, 'CertificatePatchResource') + + # 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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Certificate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/deleted_web_apps_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_deleted_web_apps_operations.py similarity index 94% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/deleted_web_apps_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_deleted_web_apps_operations.py index 64c00ac8172c..d7e5ff21324a 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/deleted_web_apps_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_deleted_web_apps_operations.py @@ -18,6 +18,8 @@ class DeletedWebAppsOperations(object): """DeletedWebAppsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -53,8 +55,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -83,6 +84,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -91,12 +97,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites'} @@ -120,8 +124,7 @@ def list_by_location( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_location.metadata['url'] @@ -151,6 +154,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -159,12 +167,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DeletedSitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites'} @@ -221,7 +227,6 @@ def get_deleted_web_app_by_location( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DeletedSite', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/diagnostics_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_diagnostics_operations.py similarity index 96% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/diagnostics_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_diagnostics_operations.py index f7a952870293..e987ced13439 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/diagnostics_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_diagnostics_operations.py @@ -18,6 +18,8 @@ class DiagnosticsOperations(object): """DiagnosticsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -58,8 +60,7 @@ def list_hosting_environment_detector_responses( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_hosting_environment_detector_responses.metadata['url'] @@ -90,6 +91,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -98,12 +104,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_hosting_environment_detector_responses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors'} @@ -176,7 +180,6 @@ def get_hosting_environment_detector_response( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DetectorResponse', response) @@ -209,8 +212,7 @@ def list_site_detector_responses( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_detector_responses.metadata['url'] @@ -241,6 +243,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -249,12 +256,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_detector_responses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors'} @@ -327,7 +332,6 @@ def get_site_detector_response( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DetectorResponse', response) @@ -360,8 +364,7 @@ def list_site_diagnostic_categories( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_diagnostic_categories.metadata['url'] @@ -392,6 +395,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -400,12 +408,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_diagnostic_categories.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics'} @@ -466,7 +472,6 @@ def get_site_diagnostic_category( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticCategory', response) @@ -501,8 +506,7 @@ def list_site_analyses( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_analyses.metadata['url'] @@ -534,6 +538,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -542,12 +551,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_analyses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses'} @@ -611,7 +618,6 @@ def get_site_analysis( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticAnalysis', response) @@ -693,7 +699,6 @@ def execute_site_analysis( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticAnalysis', response) @@ -728,8 +733,7 @@ def list_site_detectors( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_detectors.metadata['url'] @@ -761,6 +765,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -769,12 +778,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_detectors.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors'} @@ -805,8 +812,7 @@ def get_site_detector( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_site_detector.metadata['url'] @@ -839,6 +845,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -847,12 +858,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_site_detector.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}'} @@ -928,7 +937,6 @@ def execute_site_detector( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticDetectorResponse', response) @@ -963,8 +971,7 @@ def list_site_detector_responses_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_detector_responses_slot.metadata['url'] @@ -996,6 +1003,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1004,12 +1016,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_detector_responses_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors'} @@ -1085,7 +1095,6 @@ def get_site_detector_response_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DetectorResponse', response) @@ -1120,8 +1129,7 @@ def list_site_diagnostic_categories_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_diagnostic_categories_slot.metadata['url'] @@ -1153,6 +1161,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1161,12 +1174,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DiagnosticCategoryPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_diagnostic_categories_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics'} @@ -1230,7 +1241,6 @@ def get_site_diagnostic_category_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticCategory', response) @@ -1267,8 +1277,7 @@ def list_site_analyses_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_analyses_slot.metadata['url'] @@ -1301,6 +1310,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1309,12 +1323,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.AnalysisDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_analyses_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses'} @@ -1381,7 +1393,6 @@ def get_site_analysis_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticAnalysis', response) @@ -1466,7 +1477,6 @@ def execute_site_analysis_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticAnalysis', response) @@ -1503,8 +1513,7 @@ def list_site_detectors_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_detectors_slot.metadata['url'] @@ -1537,6 +1546,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1545,12 +1559,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_detectors_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors'} @@ -1583,8 +1595,7 @@ def get_site_detector_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_site_detector_slot.metadata['url'] @@ -1618,6 +1629,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1626,12 +1642,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DetectorDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_site_detector_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}'} @@ -1710,7 +1724,6 @@ def execute_site_detector_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DiagnosticDetectorResponse', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domain_registration_provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domain_registration_provider_operations.py similarity index 90% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domain_registration_provider_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domain_registration_provider_operations.py index c8e9a1ae3147..4598629ba7f2 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domain_registration_provider_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domain_registration_provider_operations.py @@ -18,6 +18,8 @@ class DomainRegistrationProviderOperations(object): """DomainRegistrationProviderOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -55,8 +57,7 @@ def list_operations( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_operations.metadata['url'] @@ -81,6 +82,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -89,12 +95,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_operations.metadata = {'url': '/providers/Microsoft.DomainRegistration/operations'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domains_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domains_operations.py similarity index 98% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domains_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domains_operations.py index cc1a1664e313..9d9901828b1f 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/domains_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_domains_operations.py @@ -21,6 +21,8 @@ class DomainsOperations(object): """DomainsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -94,7 +96,6 @@ def check_availability( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DomainAvailablilityCheckResult', response) @@ -122,8 +123,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -152,6 +152,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -160,12 +165,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains'} @@ -217,7 +220,6 @@ def get_control_center_sso_request( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DomainControlCenterSsoRequest', response) @@ -252,8 +254,7 @@ def list_recommendations( """ parameters = models.DomainRecommendationSearchParameters(keywords=keywords, max_domain_recommendations=max_domain_recommendations) - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_recommendations.metadata['url'] @@ -286,6 +287,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -294,12 +300,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.NameIdentifierPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.NameIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.NameIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_recommendations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations'} @@ -324,8 +328,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -355,6 +358,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -363,12 +371,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DomainPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains'} @@ -426,7 +432,6 @@ def get( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Domain', response) @@ -662,7 +667,6 @@ def update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Domain', response) if response.status_code == 202: @@ -697,8 +701,7 @@ def list_ownership_identifiers( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_ownership_identifiers.metadata['url'] @@ -729,6 +732,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -737,12 +745,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DomainOwnershipIdentifierPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DomainOwnershipIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DomainOwnershipIdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_ownership_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers'} @@ -803,7 +809,6 @@ def get_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DomainOwnershipIdentifier', response) @@ -882,7 +887,6 @@ def create_or_update_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DomainOwnershipIdentifier', response) @@ -1020,7 +1024,6 @@ def update_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('DomainOwnershipIdentifier', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/provider_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_provider_operations.py similarity index 91% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/provider_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_provider_operations.py index 884a432121a4..c5668c4c84d7 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/provider_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_provider_operations.py @@ -18,6 +18,8 @@ class ProviderOperations(object): """ProviderOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -56,8 +58,7 @@ def get_available_stacks( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_available_stacks.metadata['url'] @@ -84,6 +85,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -92,12 +98,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_available_stacks.metadata = {'url': '/providers/Microsoft.Web/availableStacks'} @@ -121,8 +125,7 @@ def list_operations( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_operations.metadata['url'] @@ -147,6 +150,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -155,12 +163,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmOperationDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_operations.metadata = {'url': '/providers/Microsoft.Web/operations'} @@ -185,8 +191,7 @@ def get_available_stacks_on_prem( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.get_available_stacks_on_prem.metadata['url'] @@ -217,6 +222,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -225,12 +235,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ApplicationStackPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized get_available_stacks_on_prem.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/recommendations_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_recommendations_operations.py similarity index 97% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/recommendations_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_recommendations_operations.py index 4dccc9a08024..f8331c8c5add 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/recommendations_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_recommendations_operations.py @@ -19,6 +19,8 @@ class RecommendationsOperations(object): """RecommendationsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -63,8 +65,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -97,6 +98,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -105,12 +111,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations'} @@ -251,8 +255,7 @@ def list_history_for_hosting_environment( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_history_for_hosting_environment.metadata['url'] @@ -287,6 +290,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -295,12 +303,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_history_for_hosting_environment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory'} @@ -335,8 +341,7 @@ def list_recommended_rules_for_hosting_environment( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_recommended_rules_for_hosting_environment.metadata['url'] @@ -371,6 +376,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -379,12 +389,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_recommended_rules_for_hosting_environment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations'} @@ -574,7 +582,6 @@ def get_rule_details_by_hosting_environment( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RecommendationRule', response) @@ -680,8 +687,7 @@ def list_history_for_web_app( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_history_for_web_app.metadata['url'] @@ -716,6 +722,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -724,12 +735,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_history_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory'} @@ -764,8 +773,7 @@ def list_recommended_rules_for_web_app( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_recommended_rules_for_web_app.metadata['url'] @@ -800,6 +808,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -808,12 +821,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.RecommendationPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_recommended_rules_for_web_app.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations'} @@ -997,7 +1008,6 @@ def get_rule_details_by_web_app( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RecommendationRule', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/resource_health_metadata_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_resource_health_metadata_operations.py similarity index 94% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/resource_health_metadata_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_resource_health_metadata_operations.py index 65648c293f07..15264c2cb04a 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/resource_health_metadata_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_resource_health_metadata_operations.py @@ -18,6 +18,8 @@ class ResourceHealthMetadataOperations(object): """ResourceHealthMetadataOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -53,8 +55,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -83,6 +84,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -91,12 +97,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata'} @@ -123,8 +127,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -154,6 +157,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -162,12 +170,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata'} @@ -196,8 +202,7 @@ def list_by_site( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_site.metadata['url'] @@ -228,6 +233,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -236,12 +246,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_site.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata'} @@ -299,7 +307,6 @@ def get_by_site( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ResourceHealthMetadata', response) @@ -337,8 +344,7 @@ def list_by_site_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_site_slot.metadata['url'] @@ -370,6 +376,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -378,12 +389,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceHealthMetadataPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_site_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata'} @@ -445,7 +454,6 @@ def get_by_site_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ResourceHealthMetadata', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/top_level_domains_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_top_level_domains_operations.py similarity index 94% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/top_level_domains_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_top_level_domains_operations.py index a6c561eadc91..ce5bcfdccbf8 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/top_level_domains_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_top_level_domains_operations.py @@ -18,6 +18,8 @@ class TopLevelDomainsOperations(object): """TopLevelDomainsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -53,8 +55,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -83,6 +84,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -91,12 +97,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TopLevelDomainPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TopLevelDomainPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TopLevelDomainPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains'} @@ -150,7 +154,6 @@ def get( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('TopLevelDomain', response) @@ -192,8 +195,7 @@ def list_agreements( """ agreement_option = models.TopLevelDomainAgreementOption(include_privacy=include_privacy, for_transfer=for_transfer) - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_agreements.metadata['url'] @@ -227,6 +229,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -235,12 +242,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TldLegalAgreementPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TldLegalAgreementPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TldLegalAgreementPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_agreements.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/web_apps_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_apps_operations.py similarity index 98% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/web_apps_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_apps_operations.py index acbcc1d99ea6..479cbf03be3d 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/web_apps_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_apps_operations.py @@ -21,11 +21,13 @@ class WebAppsOperations(object): """WebAppsOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :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: API Version. Constant value: "2018-11-01". + :ivar api_version: API Version. Constant value: "2018-02-01". """ models = models @@ -35,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2018-11-01" + self.api_version = "2018-02-01" self.config = config @@ -55,8 +57,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -85,6 +86,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -93,12 +99,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites'} @@ -126,8 +130,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -159,6 +162,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -167,12 +175,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites'} @@ -231,7 +237,6 @@ def get( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Site', response) @@ -479,7 +484,6 @@ def update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Site', response) if response.status_code == 202: @@ -549,7 +553,6 @@ def analyze_custom_hostname( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('CustomHostnameAnalysisResult', response) @@ -689,7 +692,6 @@ def backup( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -722,8 +724,7 @@ def list_backups( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_backups.metadata['url'] @@ -754,6 +755,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -762,12 +768,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups'} @@ -828,7 +832,6 @@ def get_backup_status( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -966,7 +969,6 @@ def list_backup_status_secrets( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -1094,8 +1096,7 @@ def list_configurations( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_configurations.metadata['url'] @@ -1126,6 +1127,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -1134,12 +1140,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config'} @@ -1207,7 +1211,6 @@ def update_application_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -1271,7 +1274,6 @@ def list_application_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -1343,7 +1345,6 @@ def update_auth_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteAuthSettings', response) @@ -1407,7 +1408,6 @@ def get_auth_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteAuthSettings', response) @@ -1483,7 +1483,6 @@ def update_azure_storage_accounts( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AzureStoragePropertyDictionaryResource', response) @@ -1548,7 +1547,6 @@ def list_azure_storage_accounts( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AzureStoragePropertyDictionaryResource', response) @@ -1618,7 +1616,6 @@ def update_backup_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupRequest', response) @@ -1738,7 +1735,6 @@ def get_backup_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupRequest', response) @@ -1813,7 +1809,6 @@ def update_connection_strings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ConnectionStringDictionary', response) @@ -1877,7 +1872,6 @@ def list_connection_strings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ConnectionStringDictionary', response) @@ -1941,7 +1935,6 @@ def get_diagnostic_logs_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteLogsConfig', response) @@ -2012,7 +2005,6 @@ def update_diagnostic_logs_config( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteLogsConfig', response) @@ -2086,7 +2078,6 @@ def update_metadata( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -2150,7 +2141,6 @@ def list_metadata( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -2315,7 +2305,6 @@ def update_site_push_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PushSettings', response) @@ -2379,7 +2368,6 @@ def list_site_push_settings( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PushSettings', response) @@ -2445,7 +2433,6 @@ def list_slot_configuration_names( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SlotConfigNamesResource', response) @@ -2519,7 +2506,6 @@ def update_slot_configuration_names( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SlotConfigNamesResource', response) @@ -2585,7 +2571,6 @@ def get_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -2656,7 +2641,6 @@ def create_or_update_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -2727,7 +2711,6 @@ def update_configuration( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -2762,8 +2745,7 @@ def list_configuration_snapshot_info( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_configuration_snapshot_info.metadata['url'] @@ -2794,6 +2776,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -2802,12 +2789,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_configuration_snapshot_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots'} @@ -2870,7 +2855,6 @@ def get_configuration_snapshot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -2997,10 +2981,7 @@ def get_web_site_container_logs( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -3066,10 +3047,7 @@ def get_container_logs_zip( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -3100,8 +3078,7 @@ def list_continuous_web_jobs( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_continuous_web_jobs.metadata['url'] @@ -3132,6 +3109,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3140,12 +3122,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_continuous_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs'} @@ -3207,7 +3187,6 @@ def get_continuous_web_job( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ContinuousWebJob', response) @@ -3417,8 +3396,7 @@ def list_deployments( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_deployments.metadata['url'] @@ -3449,6 +3427,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3457,12 +3440,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_deployments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments'} @@ -3523,7 +3504,6 @@ def get_deployment( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -3596,7 +3576,6 @@ def create_deployment( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -3726,7 +3705,6 @@ def list_deployment_log( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -3801,7 +3779,6 @@ def discover_backup( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RestoreRequest', response) @@ -3834,8 +3811,7 @@ def list_domain_ownership_identifiers( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_domain_ownership_identifiers.metadata['url'] @@ -3866,6 +3842,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -3874,12 +3855,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_domain_ownership_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers'} @@ -3941,7 +3920,6 @@ def get_domain_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -4021,7 +3999,6 @@ def create_or_update_domain_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -4161,7 +4138,6 @@ def update_domain_ownership_identifier( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -4225,7 +4201,6 @@ def get_ms_deploy_status( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployStatus', response) @@ -4393,7 +4368,6 @@ def get_ms_deploy_log( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployLog', response) @@ -4425,8 +4399,7 @@ def list_functions( ~azure.mgmt.web.models.FunctionEnvelopePaged[~azure.mgmt.web.models.FunctionEnvelope] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_functions.metadata['url'] @@ -4457,6 +4430,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -4467,12 +4445,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions'} @@ -4529,7 +4505,6 @@ def get_functions_admin_token( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('str', response) @@ -4597,7 +4572,6 @@ def get_function( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionEnvelope', response) @@ -4831,7 +4805,6 @@ def list_function_secrets( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionSecrets', response) @@ -4864,8 +4837,7 @@ def list_host_name_bindings( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_host_name_bindings.metadata['url'] @@ -4896,6 +4868,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -4904,12 +4881,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_host_name_bindings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings'} @@ -4972,7 +4947,6 @@ def get_host_name_binding( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HostNameBinding', response) @@ -5046,7 +5020,6 @@ def create_or_update_host_name_binding( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HostNameBinding', response) @@ -5177,7 +5150,6 @@ def get_hybrid_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -5253,7 +5225,6 @@ def create_or_update_hybrid_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -5391,7 +5362,6 @@ def update_hybrid_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -5461,7 +5431,6 @@ def list_hybrid_connection_keys( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnectionKey', response) @@ -5525,7 +5494,6 @@ def list_hybrid_connections( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -5591,7 +5559,6 @@ def list_relay_service_connections( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -5658,7 +5625,6 @@ def get_relay_service_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -5735,7 +5701,6 @@ def create_or_update_relay_service_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -5871,7 +5836,6 @@ def update_relay_service_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -5904,8 +5868,7 @@ def list_instance_identifiers( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_identifiers.metadata['url'] @@ -5936,6 +5899,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -5944,12 +5912,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_identifiers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances'} @@ -6010,7 +5976,6 @@ def get_instance_ms_deploy_status( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployStatus', response) @@ -6185,7 +6150,6 @@ def get_instance_ms_deploy_log( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployLog', response) @@ -6223,8 +6187,7 @@ def list_instance_processes( ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_processes.metadata['url'] @@ -6256,6 +6219,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -6266,12 +6234,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_processes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes'} @@ -6340,7 +6306,6 @@ def get_instance_process( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessInfo', response) @@ -6484,10 +6449,7 @@ def get_instance_process_dump( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -6525,8 +6487,7 @@ def list_instance_process_modules( ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_process_modules.metadata['url'] @@ -6559,6 +6520,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -6569,12 +6535,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_process_modules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules'} @@ -6646,7 +6610,6 @@ def get_instance_process_module( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessModuleInfo', response) @@ -6686,8 +6649,7 @@ def list_instance_process_threads( ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_process_threads.metadata['url'] @@ -6720,6 +6682,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -6730,12 +6697,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_process_threads.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads'} @@ -6807,7 +6772,6 @@ def get_instance_process_thread( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessThreadInfo', response) @@ -6873,7 +6837,6 @@ def is_cloneable( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteCloneability', response) @@ -6937,7 +6900,6 @@ def list_sync_function_triggers( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionSecrets', response) @@ -6972,8 +6934,7 @@ def list_metric_definitions( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metric_definitions.metadata['url'] @@ -7004,6 +6965,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -7012,12 +6978,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metric_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions'} @@ -7053,8 +7017,7 @@ def list_metrics( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metrics.metadata['url'] @@ -7089,6 +7052,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -7097,12 +7065,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics'} @@ -7373,7 +7339,6 @@ def get_migrate_my_sql_status( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MigrateMySqlStatus', response) @@ -7437,7 +7402,6 @@ def get_swift_virtual_network_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -7514,7 +7478,6 @@ def create_or_update_swift_virtual_network_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -7649,7 +7612,6 @@ def update_swift_virtual_network_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -7720,7 +7682,6 @@ def list_network_features( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('NetworkFeatures', response) @@ -7789,7 +7750,6 @@ def get_network_trace_operation( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) if response.status_code == 202: @@ -7866,7 +7826,6 @@ def start_web_site_network_trace( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('str', response) @@ -8103,7 +8062,6 @@ def get_network_traces( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) @@ -8172,7 +8130,6 @@ def get_network_trace_operation_v2( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) if response.status_code == 202: @@ -8243,7 +8200,6 @@ def get_network_traces_v2( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) @@ -8339,8 +8295,7 @@ def list_perf_mon_counters( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_perf_mon_counters.metadata['url'] @@ -8373,6 +8328,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -8381,12 +8341,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_perf_mon_counters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters'} @@ -8444,7 +8402,6 @@ def get_site_php_error_log_flag( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SitePhpErrorLogFlag', response) @@ -8508,7 +8465,6 @@ def list_premier_add_ons( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -8575,7 +8531,6 @@ def get_premier_add_on( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -8649,7 +8604,6 @@ def add_premier_add_on( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -8782,7 +8736,6 @@ def update_premier_add_on( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -8848,7 +8801,6 @@ def get_private_access( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PrivateAccess', response) @@ -8920,7 +8872,6 @@ def put_private_access_vnet( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PrivateAccess', response) @@ -8954,8 +8905,7 @@ def list_processes( ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_processes.metadata['url'] @@ -8986,6 +8936,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -8996,12 +8951,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_processes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes'} @@ -9065,7 +9018,6 @@ def get_process( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessInfo', response) @@ -9199,10 +9151,7 @@ def get_process_dump( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -9236,8 +9185,7 @@ def list_process_modules( ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_process_modules.metadata['url'] @@ -9269,6 +9217,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -9279,12 +9232,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_process_modules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules'} @@ -9351,7 +9302,6 @@ def get_process_module( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessModuleInfo', response) @@ -9387,8 +9337,7 @@ def list_process_threads( ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_process_threads.metadata['url'] @@ -9420,6 +9369,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -9430,12 +9384,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_process_threads.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads'} @@ -9502,7 +9454,6 @@ def get_process_thread( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessThreadInfo', response) @@ -9535,8 +9486,7 @@ def list_public_certificates( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_public_certificates.metadata['url'] @@ -9567,6 +9517,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -9575,12 +9530,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_public_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates'} @@ -9643,7 +9596,6 @@ def get_public_certificate( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PublicCertificate', response) @@ -9717,7 +9669,6 @@ def create_or_update_public_certificate( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PublicCertificate', response) @@ -9859,10 +9810,7 @@ def list_publishing_profile_xml_with_secrets( if response.status_code not in [200]: raise models.DefaultErrorResponseException(self._deserialize, response) - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -10287,8 +10235,7 @@ def list_site_extensions( ~azure.mgmt.web.models.SiteExtensionInfoPaged[~azure.mgmt.web.models.SiteExtensionInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_extensions.metadata['url'] @@ -10319,6 +10266,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -10329,12 +10281,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_extensions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions'} @@ -10398,7 +10348,6 @@ def get_site_extension( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteExtensionInfo', response) @@ -10591,8 +10540,7 @@ def list_slots( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_slots.metadata['url'] @@ -10623,6 +10571,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -10631,12 +10584,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SitePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_slots.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots'} @@ -10699,7 +10650,6 @@ def get_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Site', response) @@ -10960,7 +10910,6 @@ def update_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Site', response) if response.status_code == 202: @@ -11034,7 +10983,6 @@ def analyze_custom_hostname_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('CustomHostnameAnalysisResult', response) @@ -11182,7 +11130,6 @@ def backup_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -11218,8 +11165,7 @@ def list_backups_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_backups_slot.metadata['url'] @@ -11251,6 +11197,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -11259,12 +11210,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.BackupItemPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_backups_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups'} @@ -11329,7 +11278,6 @@ def get_backup_status_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -11475,7 +11423,6 @@ def list_backup_status_secrets_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupItem', response) @@ -11611,8 +11558,7 @@ def list_configurations_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_configurations_slot.metadata['url'] @@ -11644,6 +11590,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -11652,12 +11603,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteConfigResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_configurations_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config'} @@ -11729,7 +11678,6 @@ def update_application_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -11797,7 +11745,6 @@ def list_application_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -11873,7 +11820,6 @@ def update_auth_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteAuthSettings', response) @@ -11941,7 +11887,6 @@ def get_auth_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteAuthSettings', response) @@ -12022,7 +11967,6 @@ def update_azure_storage_accounts_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AzureStoragePropertyDictionaryResource', response) @@ -12092,7 +12036,6 @@ def list_azure_storage_accounts_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('AzureStoragePropertyDictionaryResource', response) @@ -12166,7 +12109,6 @@ def update_backup_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupRequest', response) @@ -12294,7 +12236,6 @@ def get_backup_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('BackupRequest', response) @@ -12373,7 +12314,6 @@ def update_connection_strings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ConnectionStringDictionary', response) @@ -12441,7 +12381,6 @@ def list_connection_strings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ConnectionStringDictionary', response) @@ -12509,7 +12448,6 @@ def get_diagnostic_logs_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteLogsConfig', response) @@ -12584,7 +12522,6 @@ def update_diagnostic_logs_config_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteLogsConfig', response) @@ -12662,7 +12599,6 @@ def update_metadata_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -12730,7 +12666,6 @@ def list_metadata_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('StringDictionary', response) @@ -12904,7 +12839,6 @@ def update_site_push_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PushSettings', response) @@ -12972,7 +12906,6 @@ def list_site_push_settings_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PushSettings', response) @@ -13042,7 +12975,6 @@ def get_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -13117,7 +13049,6 @@ def create_or_update_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -13192,7 +13123,6 @@ def update_configuration_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -13230,8 +13160,7 @@ def list_configuration_snapshot_info_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_configuration_snapshot_info_slot.metadata['url'] @@ -13263,6 +13192,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -13271,12 +13205,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteConfigurationSnapshotInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_configuration_snapshot_info_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots'} @@ -13343,7 +13275,6 @@ def get_configuration_snapshot_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteConfigResource', response) @@ -13478,10 +13409,7 @@ def get_web_site_container_logs_slot( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -13551,10 +13479,7 @@ def get_container_logs_zip_slot( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -13588,8 +13513,7 @@ def list_continuous_web_jobs_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_continuous_web_jobs_slot.metadata['url'] @@ -13621,6 +13545,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -13629,12 +13558,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ContinuousWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_continuous_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs'} @@ -13700,7 +13627,6 @@ def get_continuous_web_job_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ContinuousWebJob', response) @@ -13925,8 +13851,7 @@ def list_deployments_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_deployments_slot.metadata['url'] @@ -13958,6 +13883,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -13966,12 +13896,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.DeploymentPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_deployments_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments'} @@ -14036,7 +13964,6 @@ def get_deployment_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -14113,7 +14040,6 @@ def create_deployment_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -14251,7 +14177,6 @@ def list_deployment_log_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Deployment', response) @@ -14330,7 +14255,6 @@ def discover_backup_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RestoreRequest', response) @@ -14366,8 +14290,7 @@ def list_domain_ownership_identifiers_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_domain_ownership_identifiers_slot.metadata['url'] @@ -14399,6 +14322,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -14407,12 +14335,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_domain_ownership_identifiers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers'} @@ -14478,7 +14404,6 @@ def get_domain_ownership_identifier_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -14562,7 +14487,6 @@ def create_or_update_domain_ownership_identifier_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -14710,7 +14634,6 @@ def update_domain_ownership_identifier_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Identifier', response) @@ -14778,7 +14701,6 @@ def get_ms_deploy_status_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployStatus', response) @@ -14955,7 +14877,6 @@ def get_ms_deploy_log_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployLog', response) @@ -14990,8 +14911,7 @@ def list_instance_functions_slot( ~azure.mgmt.web.models.FunctionEnvelopePaged[~azure.mgmt.web.models.FunctionEnvelope] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_functions_slot.metadata['url'] @@ -15023,6 +14943,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -15033,12 +14958,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.FunctionEnvelopePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_functions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions'} @@ -15099,7 +15022,6 @@ def get_functions_admin_token_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('str', response) @@ -15171,7 +15093,6 @@ def get_instance_function_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionEnvelope', response) @@ -15418,7 +15339,6 @@ def list_function_secrets_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionSecrets', response) @@ -15454,8 +15374,7 @@ def list_host_name_bindings_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_host_name_bindings_slot.metadata['url'] @@ -15487,6 +15406,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -15495,12 +15419,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.HostNameBindingPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_host_name_bindings_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings'} @@ -15567,7 +15489,6 @@ def get_host_name_binding_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HostNameBinding', response) @@ -15645,7 +15566,6 @@ def create_or_update_host_name_binding_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HostNameBinding', response) @@ -15783,7 +15703,6 @@ def get_hybrid_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -15862,7 +15781,6 @@ def create_or_update_hybrid_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -16006,7 +15924,6 @@ def update_hybrid_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -16079,7 +15996,6 @@ def list_hybrid_connection_keys_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnectionKey', response) @@ -16146,7 +16062,6 @@ def list_hybrid_connections_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('HybridConnection', response) @@ -16216,7 +16131,6 @@ def list_relay_service_connections_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -16287,7 +16201,6 @@ def get_relay_service_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -16369,7 +16282,6 @@ def create_or_update_relay_service_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -16514,7 +16426,6 @@ def update_relay_service_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('RelayServiceConnectionEntity', response) @@ -16550,8 +16461,7 @@ def list_instance_identifiers_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_identifiers_slot.metadata['url'] @@ -16583,6 +16493,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -16591,12 +16506,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteInstancePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_identifiers_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances'} @@ -16661,7 +16574,6 @@ def get_instance_ms_deploy_status_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployStatus', response) @@ -16845,7 +16757,6 @@ def get_instance_ms_deploy_log_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MSDeployLog', response) @@ -16886,8 +16797,7 @@ def list_instance_processes_slot( ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_processes_slot.metadata['url'] @@ -16920,6 +16830,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -16930,12 +16845,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_processes_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes'} @@ -17008,7 +16921,6 @@ def get_instance_process_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessInfo', response) @@ -17160,10 +17072,7 @@ def get_instance_process_dump_slot( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -17204,8 +17113,7 @@ def list_instance_process_modules_slot( ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_process_modules_slot.metadata['url'] @@ -17239,6 +17147,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -17249,12 +17162,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_process_modules_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules'} @@ -17330,7 +17241,6 @@ def get_instance_process_module_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessModuleInfo', response) @@ -17373,8 +17283,7 @@ def list_instance_process_threads_slot( ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_instance_process_threads_slot.metadata['url'] @@ -17408,6 +17317,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -17418,12 +17332,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_instance_process_threads_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads'} @@ -17499,7 +17411,6 @@ def get_instance_process_thread_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessThreadInfo', response) @@ -17569,7 +17480,6 @@ def is_cloneable_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteCloneability', response) @@ -17637,7 +17547,6 @@ def list_sync_function_triggers_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('FunctionSecrets', response) @@ -17675,8 +17584,7 @@ def list_metric_definitions_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metric_definitions_slot.metadata['url'] @@ -17708,6 +17616,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -17716,12 +17629,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metric_definitions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions'} @@ -17760,8 +17671,7 @@ def list_metrics_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_metrics_slot.metadata['url'] @@ -17797,6 +17707,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -17805,12 +17720,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ResourceMetricPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_metrics_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics'} @@ -17873,7 +17786,6 @@ def get_migrate_my_sql_status_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('MigrateMySqlStatus', response) @@ -17941,7 +17853,6 @@ def get_swift_virtual_network_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -18022,7 +17933,6 @@ def create_or_update_swift_virtual_network_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -18165,7 +18075,6 @@ def update_swift_virtual_network_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SwiftVirtualNetwork', response) @@ -18240,7 +18149,6 @@ def list_network_features_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('NetworkFeatures', response) @@ -18313,7 +18221,6 @@ def get_network_trace_operation_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) if response.status_code == 202: @@ -18393,7 +18300,6 @@ def start_web_site_network_trace_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('str', response) @@ -18641,7 +18547,6 @@ def get_network_traces_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) @@ -18714,7 +18619,6 @@ def get_network_trace_operation_slot_v2( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) if response.status_code == 202: @@ -18789,7 +18693,6 @@ def get_network_traces_slot_v2( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[NetworkTrace]', response) @@ -18892,8 +18795,7 @@ def list_perf_mon_counters_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_perf_mon_counters_slot.metadata['url'] @@ -18927,6 +18829,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -18935,12 +18842,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.PerfMonResponsePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_perf_mon_counters_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters'} @@ -19002,7 +18907,6 @@ def get_site_php_error_log_flag_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SitePhpErrorLogFlag', response) @@ -19070,7 +18974,6 @@ def list_premier_add_ons_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -19141,7 +19044,6 @@ def get_premier_add_on_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -19219,7 +19121,6 @@ def add_premier_add_on_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -19360,7 +19261,6 @@ def update_premier_add_on_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PremierAddOn', response) @@ -19429,7 +19329,6 @@ def get_private_access_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PrivateAccess', response) @@ -19504,7 +19403,6 @@ def put_private_access_vnet_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PrivateAccess', response) @@ -19541,8 +19439,7 @@ def list_processes_slot( ~azure.mgmt.web.models.ProcessInfoPaged[~azure.mgmt.web.models.ProcessInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_processes_slot.metadata['url'] @@ -19574,6 +19471,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -19584,12 +19486,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_processes_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes'} @@ -19657,7 +19557,6 @@ def get_process_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessInfo', response) @@ -19799,10 +19698,7 @@ def get_process_dump_slot( exp.request_id = response.headers.get('x-ms-request-id') raise exp - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -19839,8 +19735,7 @@ def list_process_modules_slot( ~azure.mgmt.web.models.ProcessModuleInfoPaged[~azure.mgmt.web.models.ProcessModuleInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_process_modules_slot.metadata['url'] @@ -19873,6 +19768,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -19883,12 +19783,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessModuleInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_process_modules_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules'} @@ -19959,7 +19857,6 @@ def get_process_module_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessModuleInfo', response) @@ -19998,8 +19895,7 @@ def list_process_threads_slot( ~azure.mgmt.web.models.ProcessThreadInfoPaged[~azure.mgmt.web.models.ProcessThreadInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_process_threads_slot.metadata['url'] @@ -20032,6 +19928,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -20042,12 +19943,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.ProcessThreadInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_process_threads_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads'} @@ -20118,7 +20017,6 @@ def get_process_thread_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('ProcessThreadInfo', response) @@ -20154,8 +20052,7 @@ def list_public_certificates_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_public_certificates_slot.metadata['url'] @@ -20187,6 +20084,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -20195,12 +20097,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.PublicCertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_public_certificates_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates'} @@ -20267,7 +20167,6 @@ def get_public_certificate_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PublicCertificate', response) @@ -20345,7 +20244,6 @@ def create_or_update_public_certificate_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('PublicCertificate', response) @@ -20495,10 +20393,7 @@ def list_publishing_profile_xml_with_secrets_slot( if response.status_code not in [200]: raise models.DefaultErrorResponseException(self._deserialize, response) - deserialized = None - - if response.status_code == 200: - deserialized = self._client.stream_download(response, callback) + deserialized = self._client.stream_download(response, callback) if raw: client_raw_response = ClientRawResponse(deserialized, response) @@ -20949,8 +20844,7 @@ def list_site_extensions_slot( ~azure.mgmt.web.models.SiteExtensionInfoPaged[~azure.mgmt.web.models.SiteExtensionInfo] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_site_extensions_slot.metadata['url'] @@ -20982,6 +20876,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -20992,12 +20891,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SiteExtensionInfoPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_site_extensions_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions'} @@ -21065,7 +20962,6 @@ def get_site_extension_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteExtensionInfo', response) @@ -21278,8 +21174,7 @@ def list_slot_differences_slot( """ slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_slot_differences_slot.metadata['url'] @@ -21315,6 +21210,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -21323,12 +21223,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_slot_differences_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs'} @@ -21457,8 +21355,7 @@ def list_snapshots_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_snapshots_slot.metadata['url'] @@ -21490,6 +21387,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -21498,12 +21400,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_snapshots_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots'} @@ -21532,8 +21432,7 @@ def list_snapshots_from_dr_secondary_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_snapshots_from_dr_secondary_slot.metadata['url'] @@ -21565,6 +21464,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -21573,12 +21477,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_snapshots_from_dr_secondary_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshotsdr'} @@ -21641,7 +21543,6 @@ def get_source_control_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteSourceControl', response) if response.status_code == 201: @@ -21895,7 +21796,6 @@ def update_source_control_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteSourceControl', response) if response.status_code == 201: @@ -22350,8 +22250,7 @@ def list_triggered_web_jobs_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_triggered_web_jobs_slot.metadata['url'] @@ -22383,6 +22282,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -22391,12 +22295,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_triggered_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs'} @@ -22462,7 +22364,6 @@ def get_triggered_web_job_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('TriggeredWebJob', response) @@ -22562,8 +22463,7 @@ def list_triggered_web_job_history_slot( ~azure.mgmt.web.models.TriggeredJobHistoryPaged[~azure.mgmt.web.models.TriggeredJobHistory] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_triggered_web_job_history_slot.metadata['url'] @@ -22596,6 +22496,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -22606,12 +22511,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_triggered_web_job_history_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history'} @@ -22682,7 +22585,6 @@ def get_triggered_web_job_history_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('TriggeredJobHistory', response) @@ -22789,8 +22691,7 @@ def list_usages_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_usages_slot.metadata['url'] @@ -22824,6 +22725,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -22832,12 +22738,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_usages_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages'} @@ -22899,7 +22803,6 @@ def list_vnet_connections_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[VnetInfo]', response) @@ -22972,7 +22875,6 @@ def get_vnet_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -23052,7 +22954,6 @@ def create_or_update_vnet_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -23197,7 +23098,6 @@ def update_vnet_connection_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -23273,7 +23173,6 @@ def get_vnet_connection_gateway_slot( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -23358,7 +23257,6 @@ def create_or_update_vnet_connection_gateway_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -23443,7 +23341,6 @@ def update_vnet_connection_gateway_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -23479,8 +23376,7 @@ def list_web_jobs_slot( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_jobs_slot.metadata['url'] @@ -23512,6 +23408,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -23520,12 +23421,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_jobs_slot.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs'} @@ -23590,7 +23489,6 @@ def get_web_job_slot( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WebJob', response) @@ -23630,8 +23528,7 @@ def list_slot_differences_from_production( """ slot_swap_entity = models.CsmSlotEntity(target_slot=target_slot, preserve_vnet=preserve_vnet) - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_slot_differences_from_production.metadata['url'] @@ -23666,6 +23563,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -23674,12 +23576,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SlotDifferencePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_slot_differences_from_production.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs'} @@ -23801,8 +23701,7 @@ def list_snapshots( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_snapshots.metadata['url'] @@ -23833,6 +23732,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -23841,12 +23745,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_snapshots.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots'} @@ -23873,8 +23775,7 @@ def list_snapshots_from_dr_secondary( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_snapshots_from_dr_secondary.metadata['url'] @@ -23905,6 +23806,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -23913,12 +23819,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.SnapshotPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_snapshots_from_dr_secondary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr'} @@ -23976,7 +23880,6 @@ def get_source_control( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteSourceControl', response) if response.status_code == 201: @@ -24214,7 +24117,6 @@ def update_source_control( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('SiteSourceControl', response) if response.status_code == 201: @@ -24643,8 +24545,7 @@ def list_triggered_web_jobs( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_triggered_web_jobs.metadata['url'] @@ -24675,6 +24576,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -24683,12 +24589,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TriggeredWebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_triggered_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs'} @@ -24750,7 +24654,6 @@ def get_triggered_web_job( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('TriggeredWebJob', response) @@ -24843,8 +24746,7 @@ def list_triggered_web_job_history( ~azure.mgmt.web.models.TriggeredJobHistoryPaged[~azure.mgmt.web.models.TriggeredJobHistory] :raises: :class:`CloudError` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_triggered_web_job_history.metadata['url'] @@ -24876,6 +24778,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200, 404]: @@ -24886,12 +24793,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.TriggeredJobHistoryPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_triggered_web_job_history.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history'} @@ -24958,7 +24863,6 @@ def get_triggered_web_job_history( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('TriggeredJobHistory', response) @@ -25058,8 +24962,7 @@ def list_usages( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_usages.metadata['url'] @@ -25092,6 +24995,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -25100,12 +25008,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CsmUsageQuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages'} @@ -25163,7 +25069,6 @@ def list_vnet_connections( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('[VnetInfo]', response) @@ -25232,7 +25137,6 @@ def get_vnet_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -25308,7 +25212,6 @@ def create_or_update_vnet_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -25445,7 +25348,6 @@ def update_vnet_connection( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetInfo', response) @@ -25517,7 +25419,6 @@ def get_vnet_connection_gateway( raise exp deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -25597,7 +25498,6 @@ def create_or_update_vnet_connection_gateway( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -25677,7 +25577,6 @@ def update_vnet_connection_gateway( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('VnetGateway', response) @@ -25710,8 +25609,7 @@ def list_web_jobs( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_web_jobs.metadata['url'] @@ -25742,6 +25640,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -25750,12 +25653,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.WebJobPaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_web_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs'} @@ -25816,7 +25717,6 @@ def get_web_job( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('WebJob', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_site_management_client_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_site_management_client_operations.py new file mode 100644 index 000000000000..157b5cd5938c --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/operations/_web_site_management_client_operations.py @@ -0,0 +1,1125 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +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 +import uuid + + +class WebSiteManagementClientOperationsMixin(object): + + def get_publishing_user( + self, custom_headers=None, raw=False, **operation_config): + """Gets publishing user. + + Gets publishing user. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.get_publishing_user.metadata['url'] + + # 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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_publishing_user.metadata = {'url': '/providers/Microsoft.Web/publishingUsers/web'} + + def update_publishing_user( + self, user_details, custom_headers=None, raw=False, **operation_config): + """Updates publishing user. + + Updates publishing user. + + :param user_details: Details of publishing user + :type user_details: ~azure.mgmt.web.models.User + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: User or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.User or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.update_publishing_user.metadata['url'] + + # 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(user_details, 'User') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('User', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_publishing_user.metadata = {'url': '/providers/Microsoft.Web/publishingUsers/web'} + + def list_source_controls( + self, custom_headers=None, raw=False, **operation_config): + """Gets the source controls available for Azure websites. + + Gets the source controls available for Azure websites. + + :param dict custom_headers: headers that will 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 SourceControl + :rtype: + ~azure.mgmt.web.models.SourceControlPaged[~azure.mgmt.web.models.SourceControl] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_source_controls.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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.SourceControlPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_source_controls.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols'} + + def get_source_control( + self, source_control_type, custom_headers=None, raw=False, **operation_config): + """Gets source control token. + + Gets source control token. + + :param source_control_type: Type of source control + :type source_control_type: 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: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.get_source_control.metadata['url'] + path_format_arguments = { + 'sourceControlType': self._serialize.url("source_control_type", source_control_type, '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.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_source_control.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols/{sourceControlType}'} + + def update_source_control( + self, source_control_type, request_message, custom_headers=None, raw=False, **operation_config): + """Updates source control token. + + Updates source control token. + + :param source_control_type: Type of source control + :type source_control_type: str + :param request_message: Source control token information + :type request_message: ~azure.mgmt.web.models.SourceControl + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SourceControl or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SourceControl or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.update_source_control.metadata['url'] + path_format_arguments = { + 'sourceControlType': self._serialize.url("source_control_type", source_control_type, '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(request_message, 'SourceControl') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SourceControl', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_source_control.metadata = {'url': '/providers/Microsoft.Web/sourcecontrols/{sourceControlType}'} + + def list_billing_meters( + self, billing_location=None, os_type=None, custom_headers=None, raw=False, **operation_config): + """Gets a list of meters for a given location. + + Gets a list of meters for a given location. + + :param billing_location: Azure Location of billable resource + :type billing_location: str + :param os_type: App Service OS type meters used for + :type os_type: 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 BillingMeter + :rtype: + ~azure.mgmt.web.models.BillingMeterPaged[~azure.mgmt.web.models.BillingMeter] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_billing_meters.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 billing_location is not None: + query_parameters['billingLocation'] = self._serialize.query("billing_location", billing_location, 'str') + if os_type is not None: + query_parameters['osType'] = self._serialize.query("os_type", os_type, '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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.BillingMeterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_billing_meters.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters'} + + def check_name_availability( + self, name, type, is_fqdn=None, custom_headers=None, raw=False, **operation_config): + """Check if a resource name is available. + + Check if a resource name is available. + + :param name: Resource name to verify. + :type name: str + :param type: Resource type used for verification. Possible values + include: 'Site', 'Slot', 'HostingEnvironment', 'PublishingUser', + 'Microsoft.Web/sites', 'Microsoft.Web/sites/slots', + 'Microsoft.Web/hostingEnvironments', 'Microsoft.Web/publishingUsers' + :type type: str or ~azure.mgmt.web.models.CheckNameResourceTypes + :param is_fqdn: Is fully qualified domain name. + :type is_fqdn: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ResourceNameAvailability or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ResourceNameAvailability or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + request = models.ResourceNameAvailabilityRequest(name=name, type=type, is_fqdn=is_fqdn) + + # Construct URL + url = self.check_name_availability.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' + 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(request, 'ResourceNameAvailabilityRequest') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ResourceNameAvailability', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability'} + + def get_subscription_deployment_locations( + self, custom_headers=None, raw=False, **operation_config): + """Gets list of available geo regions plus ministamps. + + Gets list of available geo regions plus ministamps. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: DeploymentLocations or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.DeploymentLocations or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.get_subscription_deployment_locations.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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DeploymentLocations', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_subscription_deployment_locations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations'} + + def list_geo_regions( + self, sku=None, linux_workers_enabled=None, xenon_workers_enabled=None, linux_dynamic_workers_enabled=None, custom_headers=None, raw=False, **operation_config): + """Get a list of available geographical regions. + + Get a list of available geographical regions. + + :param sku: Name of SKU used to filter the regions. Possible values + include: 'Free', 'Shared', 'Basic', 'Standard', 'Premium', 'Dynamic', + 'Isolated', 'PremiumV2', 'ElasticPremium', 'ElasticIsolated' + :type sku: str or ~azure.mgmt.web.models.SkuName + :param linux_workers_enabled: Specify true if you want to + filter to only regions that support Linux workers. + :type linux_workers_enabled: bool + :param xenon_workers_enabled: Specify true if you want to + filter to only regions that support Xenon workers. + :type xenon_workers_enabled: bool + :param linux_dynamic_workers_enabled: Specify true if you + want to filter to only regions that support Linux Consumption Workers. + :type linux_dynamic_workers_enabled: bool + :param dict custom_headers: headers that will 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 GeoRegion + :rtype: + ~azure.mgmt.web.models.GeoRegionPaged[~azure.mgmt.web.models.GeoRegion] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_geo_regions.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 sku is not None: + query_parameters['sku'] = self._serialize.query("sku", sku, 'str') + if linux_workers_enabled is not None: + query_parameters['linuxWorkersEnabled'] = self._serialize.query("linux_workers_enabled", linux_workers_enabled, 'bool') + if xenon_workers_enabled is not None: + query_parameters['xenonWorkersEnabled'] = self._serialize.query("xenon_workers_enabled", xenon_workers_enabled, 'bool') + if linux_dynamic_workers_enabled is not None: + query_parameters['linuxDynamicWorkersEnabled'] = self._serialize.query("linux_dynamic_workers_enabled", linux_dynamic_workers_enabled, 'bool') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.GeoRegionPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_geo_regions.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions'} + + def list_site_identifiers_assigned_to_host_name( + self, name=None, custom_headers=None, raw=False, **operation_config): + """List all apps that are assigned to a hostname. + + List all apps that are assigned to a hostname. + + :param name: Name of the object. + :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: An iterator like instance of Identifier + :rtype: + ~azure.mgmt.web.models.IdentifierPaged[~azure.mgmt.web.models.Identifier] + :raises: + :class:`DefaultErrorResponseException` + """ + name_identifier = models.NameIdentifier(name=name) + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_site_identifiers_assigned_to_host_name.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' + 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(name_identifier, 'NameIdentifier') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.IdentifierPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_site_identifiers_assigned_to_host_name.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName'} + + def list_premier_add_on_offers( + self, custom_headers=None, raw=False, **operation_config): + """List all premier add-on offers. + + List all premier add-on offers. + + :param dict custom_headers: headers that will 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 PremierAddOnOffer + :rtype: + ~azure.mgmt.web.models.PremierAddOnOfferPaged[~azure.mgmt.web.models.PremierAddOnOffer] + :raises: + :class:`DefaultErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_premier_add_on_offers.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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PremierAddOnOfferPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_premier_add_on_offers.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers'} + + def list_skus( + self, custom_headers=None, raw=False, **operation_config): + """List all SKUs. + + List all SKUs. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SkuInfos or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.SkuInfos or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.list_skus.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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SkuInfos', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus'} + + def verify_hosting_environment_vnet( + self, parameters, custom_headers=None, raw=False, **operation_config): + """Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + Verifies if this VNET is compatible with an App Service Environment by + analyzing the Network Security Group rules. + + :param parameters: VNET information + :type parameters: ~azure.mgmt.web.models.VnetParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: VnetValidationFailureDetails or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.VnetValidationFailureDetails or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.verify_hosting_environment_vnet.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' + 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, 'VnetParameters') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('VnetValidationFailureDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + verify_hosting_environment_vnet.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet'} + + def move( + self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Move resources between resource groups. + + Move resources between resource groups. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + """ + move_resource_envelope = models.CsmMoveResourceEnvelope(target_resource_group=target_resource_group, resources=resources) + + # Construct URL + url = self.move.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['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(move_resource_envelope, 'CsmMoveResourceEnvelope') + + # 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 [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 + move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources'} + + def validate( + self, resource_group_name, validate_request, custom_headers=None, raw=False, **operation_config): + """Validate if a resource can be created. + + Validate if a resource can be created. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param validate_request: Request with the resources to validate. + :type validate_request: ~azure.mgmt.web.models.ValidateRequest + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ValidateResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.web.models.ValidateResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # 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\._\(\)]+[^\.]$'), + 'subscriptionId': self._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(validate_request, 'ValidateRequest') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ValidateResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate'} + + def validate_container_settings( + self, validate_container_settings_request, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Validate if the container settings are correct. + + Validate if the container settings are correct. + + :param validate_container_settings_request: + :type validate_container_settings_request: + ~azure.mgmt.web.models.ValidateContainerSettingsRequest + :param resource_group_name: Name of the resource group to which the + resource belongs. + :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: object or ClientRawResponse if raw=true + :rtype: object or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`DefaultErrorResponseException` + """ + # Construct URL + url = self.validate_container_settings.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(validate_container_settings_request, 'ValidateContainerSettingsRequest') + + # 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]: + raise models.DefaultErrorResponseException(self._deserialize, response) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('object', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + validate_container_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validateContainerSettings'} + + def validate_move( + self, resource_group_name, target_resource_group=None, resources=None, custom_headers=None, raw=False, **operation_config): + """Validate whether a resource can be moved. + + Validate whether a resource can be moved. + + :param resource_group_name: Name of the resource group to which the + resource belongs. + :type resource_group_name: str + :param target_resource_group: + :type target_resource_group: str + :param resources: + :type resources: list[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` + """ + move_resource_envelope = models.CsmMoveResourceEnvelope(target_resource_group=target_resource_group, resources=resources) + + # Construct URL + url = self.validate_move.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['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(move_resource_envelope, 'CsmMoveResourceEnvelope') + + # 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 [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 + validate_move.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources'} diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_02_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/__init__.py new file mode 100644 index 000000000000..55c66f839cff --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/__init__.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 ._configuration import WebSiteManagementClientConfiguration +from ._web_site_management_client import WebSiteManagementClient +__all__ = ['WebSiteManagementClient', 'WebSiteManagementClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_configuration.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_configuration.py new file mode 100644 index 000000000000..b96e0933169e --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class WebSiteManagementClientConfiguration(AzureConfiguration): + """Configuration for WebSiteManagementClient + 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: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(WebSiteManagementClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-web/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_web_site_management_client.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_web_site_management_client.py new file mode 100644 index 000000000000..4f10809ca452 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/_web_site_management_client.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.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import WebSiteManagementClientConfiguration +from .operations import CertificatesOperations +from . import models + + +class WebSiteManagementClient(SDKClient): + """WebSite Management Client + + :ivar config: Configuration for client. + :vartype config: WebSiteManagementClientConfiguration + + :ivar certificates: Certificates operations + :vartype certificates: azure.mgmt.web.operations.CertificatesOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: Your Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = WebSiteManagementClientConfiguration(credentials, subscription_id, base_url) + super(WebSiteManagementClient, 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-11-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.certificates = CertificatesOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/__init__.py new file mode 100644 index 000000000000..7558f02f8c20 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/__init__.py @@ -0,0 +1,216 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import ApiDefinitionInfo + from ._models_py3 import AppServicePlan + from ._models_py3 import AutoHealActions + from ._models_py3 import AutoHealCustomAction + from ._models_py3 import AutoHealRules + from ._models_py3 import AutoHealTriggers + from ._models_py3 import AzureStorageInfoValue + from ._models_py3 import Capability + from ._models_py3 import Certificate + from ._models_py3 import CertificatePatchResource + from ._models_py3 import CloningInfo + from ._models_py3 import ConnStringInfo + from ._models_py3 import CorsSettings + from ._models_py3 import DefaultErrorResponse, DefaultErrorResponseException + from ._models_py3 import DefaultErrorResponseError + from ._models_py3 import DefaultErrorResponseErrorDetailsItem + from ._models_py3 import DeletedSite + from ._models_py3 import Experiments + from ._models_py3 import GeoDistribution + from ._models_py3 import HandlerMapping + from ._models_py3 import HostingEnvironmentProfile + from ._models_py3 import HostNameSslState + from ._models_py3 import HybridConnection + from ._models_py3 import HybridConnectionKey + from ._models_py3 import Identifier + from ._models_py3 import IpSecurityRestriction + from ._models_py3 import ManagedServiceIdentity + from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models_py3 import NameValuePair + from ._models_py3 import ProxyOnlyResource + from ._models_py3 import PushSettings + from ._models_py3 import RampUpRule + from ._models_py3 import RequestsBasedTrigger + from ._models_py3 import Resource + from ._models_py3 import ResourceMetricAvailability + from ._models_py3 import ResourceMetricDefinition + from ._models_py3 import Site + from ._models_py3 import SiteConfig + from ._models_py3 import SiteLimits + from ._models_py3 import SiteMachineKey + from ._models_py3 import SkuCapacity + from ._models_py3 import SkuDescription + from ._models_py3 import SlotSwapStatus + from ._models_py3 import SlowRequestsBasedTrigger + from ._models_py3 import Snapshot + from ._models_py3 import StatusCodesBasedTrigger + from ._models_py3 import User + from ._models_py3 import VirtualApplication + from ._models_py3 import VirtualDirectory + from ._models_py3 import VnetGateway + from ._models_py3 import VnetInfo + from ._models_py3 import VnetRoute +except (SyntaxError, ImportError): + from ._models import ApiDefinitionInfo + from ._models import AppServicePlan + from ._models import AutoHealActions + from ._models import AutoHealCustomAction + from ._models import AutoHealRules + from ._models import AutoHealTriggers + from ._models import AzureStorageInfoValue + from ._models import Capability + from ._models import Certificate + from ._models import CertificatePatchResource + from ._models import CloningInfo + from ._models import ConnStringInfo + from ._models import CorsSettings + from ._models import DefaultErrorResponse, DefaultErrorResponseException + from ._models import DefaultErrorResponseError + from ._models import DefaultErrorResponseErrorDetailsItem + from ._models import DeletedSite + from ._models import Experiments + from ._models import GeoDistribution + from ._models import HandlerMapping + from ._models import HostingEnvironmentProfile + from ._models import HostNameSslState + from ._models import HybridConnection + from ._models import HybridConnectionKey + from ._models import Identifier + from ._models import IpSecurityRestriction + from ._models import ManagedServiceIdentity + from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue + from ._models import NameValuePair + from ._models import ProxyOnlyResource + from ._models import PushSettings + from ._models import RampUpRule + from ._models import RequestsBasedTrigger + from ._models import Resource + from ._models import ResourceMetricAvailability + from ._models import ResourceMetricDefinition + from ._models import Site + from ._models import SiteConfig + from ._models import SiteLimits + from ._models import SiteMachineKey + from ._models import SkuCapacity + from ._models import SkuDescription + from ._models import SlotSwapStatus + from ._models import SlowRequestsBasedTrigger + from ._models import Snapshot + from ._models import StatusCodesBasedTrigger + from ._models import User + from ._models import VirtualApplication + from ._models import VirtualDirectory + from ._models import VnetGateway + from ._models import VnetInfo + from ._models import VnetRoute +from ._paged_models import CertificatePaged +from ._web_site_management_client_enums import ( + KeyVaultSecretStatus, + RouteType, + ManagedServiceIdentityType, + IpFilterTag, + AutoHealActionType, + ConnectionStringType, + AzureStorageType, + AzureStorageState, + ScmType, + ManagedPipelineMode, + SiteLoadBalancing, + SupportedTlsVersions, + FtpsState, + SslState, + HostType, + UsageState, + SiteAvailabilityState, + RedundancyMode, + StatusOptions, + ProvisioningState, +) + +__all__ = [ + 'ApiDefinitionInfo', + 'AppServicePlan', + 'AutoHealActions', + 'AutoHealCustomAction', + 'AutoHealRules', + 'AutoHealTriggers', + 'AzureStorageInfoValue', + 'Capability', + 'Certificate', + 'CertificatePatchResource', + 'CloningInfo', + 'ConnStringInfo', + 'CorsSettings', + 'DefaultErrorResponse', 'DefaultErrorResponseException', + 'DefaultErrorResponseError', + 'DefaultErrorResponseErrorDetailsItem', + 'DeletedSite', + 'Experiments', + 'GeoDistribution', + 'HandlerMapping', + 'HostingEnvironmentProfile', + 'HostNameSslState', + 'HybridConnection', + 'HybridConnectionKey', + 'Identifier', + 'IpSecurityRestriction', + 'ManagedServiceIdentity', + 'ManagedServiceIdentityUserAssignedIdentitiesValue', + 'NameValuePair', + 'ProxyOnlyResource', + 'PushSettings', + 'RampUpRule', + 'RequestsBasedTrigger', + 'Resource', + 'ResourceMetricAvailability', + 'ResourceMetricDefinition', + 'Site', + 'SiteConfig', + 'SiteLimits', + 'SiteMachineKey', + 'SkuCapacity', + 'SkuDescription', + 'SlotSwapStatus', + 'SlowRequestsBasedTrigger', + 'Snapshot', + 'StatusCodesBasedTrigger', + 'User', + 'VirtualApplication', + 'VirtualDirectory', + 'VnetGateway', + 'VnetInfo', + 'VnetRoute', + 'CertificatePaged', + 'KeyVaultSecretStatus', + 'RouteType', + 'ManagedServiceIdentityType', + 'IpFilterTag', + 'AutoHealActionType', + 'ConnectionStringType', + 'AzureStorageType', + 'AzureStorageState', + 'ScmType', + 'ManagedPipelineMode', + 'SiteLoadBalancing', + 'SupportedTlsVersions', + 'FtpsState', + 'SslState', + 'HostType', + 'UsageState', + 'SiteAvailabilityState', + 'RedundancyMode', + 'StatusOptions', + 'ProvisioningState', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models.py new file mode 100644 index 000000000000..2e0a77e323aa --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models.py @@ -0,0 +1,2734 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.location = kwargs.get('location', None) + self.type = None + self.tags = kwargs.get('tags', None) + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, **kwargs): + super(AppServicePlan, self).__init__(**kwargs) + self.worker_tier_name = kwargs.get('worker_tier_name', None) + self.status = None + self.subscription = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = kwargs.get('per_site_scaling', False) + self.maximum_elastic_worker_count = kwargs.get('maximum_elastic_worker_count', None) + self.number_of_sites = None + self.is_spot = kwargs.get('is_spot', None) + self.spot_expiration_time = kwargs.get('spot_expiration_time', None) + self.free_offer_expiration_time = kwargs.get('free_offer_expiration_time', None) + self.resource_group = None + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.target_worker_count = kwargs.get('target_worker_count', None) + self.target_worker_size_id = kwargs.get('target_worker_size_id', None) + self.provisioning_state = None + self.sku = kwargs.get('sku', None) + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = kwargs.get('action_type', None) + self.custom_action = kwargs.get('custom_action', None) + self.min_process_execution_time = kwargs.get('min_process_execution_time', None) + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = kwargs.get('exe', None) + self.parameters = kwargs.get('parameters', None) + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, **kwargs): + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = kwargs.get('triggers', None) + self.actions = kwargs.get('actions', None) + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, **kwargs): + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = kwargs.get('requests', None) + self.private_bytes_in_kb = kwargs.get('private_bytes_in_kb', None) + self.status_codes = kwargs.get('status_codes', None) + self.slow_requests = kwargs.get('slow_requests', None) + + +class AzureStorageInfoValue(Model): + """Azure Files or Blob Storage access information value for dictionary + storage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of storage. Possible values include: 'AzureFiles', + 'AzureBlob' + :type type: str or ~azure.mgmt.web.models.AzureStorageType + :param account_name: Name of the storage account. + :type account_name: str + :param share_name: Name of the file share (container name, for Blob + storage). + :type share_name: str + :param access_key: Access key for the storage account. + :type access_key: str + :param mount_path: Path to mount the storage within the site's runtime + environment. + :type mount_path: str + :ivar state: State of the storage account. Possible values include: 'Ok', + 'InvalidCredentials', 'InvalidShare' + :vartype state: str or ~azure.mgmt.web.models.AzureStorageState + """ + + _validation = { + 'state': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'AzureStorageType'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'AzureStorageState'}, + } + + def __init__(self, **kwargs): + super(AzureStorageInfoValue, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.account_name = kwargs.get('account_name', None) + self.share_name = kwargs.get('share_name', None) + self.access_key = kwargs.get('access_key', None) + self.mount_path = kwargs.get('mount_path', None) + self.state = None + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.reason = kwargs.get('reason', None) + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Certificate, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kwargs.get('kind', None) + self.type = None + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificatePatchResource, self).__init__(**kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = kwargs.get('host_names', None) + self.pfx_blob = kwargs.get('pfx_blob', None) + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = kwargs.get('password', None) + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = kwargs.get('key_vault_id', None) + self.key_vault_secret_name = kwargs.get('key_vault_secret_name', None) + self.key_vault_secret_status = None + self.server_farm_id = kwargs.get('server_farm_id', None) + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param source_web_app_location: Location of source app ex: West US or + North Europe + :type source_web_app_location: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = kwargs.get('correlation_id', None) + self.overwrite = kwargs.get('overwrite', None) + self.clone_custom_host_names = kwargs.get('clone_custom_host_names', None) + self.clone_source_control = kwargs.get('clone_source_control', None) + self.source_web_app_id = kwargs.get('source_web_app_id', None) + self.source_web_app_location = kwargs.get('source_web_app_location', None) + self.hosting_environment = kwargs.get('hosting_environment', None) + self.app_settings_overrides = kwargs.get('app_settings_overrides', None) + self.configure_load_balancing = kwargs.get('configure_load_balancing', None) + self.traffic_manager_profile_id = kwargs.get('traffic_manager_profile_id', None) + self.traffic_manager_profile_name = kwargs.get('traffic_manager_profile_name', None) + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, **kwargs): + super(ConnStringInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.connection_string = kwargs.get('connection_string', None) + self.type = kwargs.get('type', None) + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + :param support_credentials: Gets or sets whether CORS requests with + credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + :type support_credentials: bool + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + self.support_credentials = kwargs.get('support_credentials', None) + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = kwargs.get('details', None) + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedSite(ProxyOnlyResource): + """A deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deleted_site_id: Numeric id for the deleted site + :vartype deleted_site_id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar deleted_site_name: Name of the deleted site + :vartype deleted_site_name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + :ivar deleted_site_kind: Kind of site that was deleted + :vartype deleted_site_kind: str + :ivar geo_region_name: Geo Region of the deleted site + :vartype geo_region_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deleted_site_id': {'readonly': True}, + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'deleted_site_name': {'readonly': True}, + 'slot': {'readonly': True}, + 'deleted_site_kind': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, + 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, + 'slot': {'key': 'properties.slot', 'type': 'str'}, + 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DeletedSite, self).__init__(**kwargs) + self.deleted_site_id = None + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.deleted_site_name = None + self.slot = None + self.deleted_site_kind = None + self.geo_region_name = None + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, **kwargs): + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = kwargs.get('ramp_up_rules', None) + + +class GeoDistribution(Model): + """A global distribution definition. + + :param location: Location. + :type location: str + :param number_of_workers: NumberOfWorkers. + :type number_of_workers: int + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GeoDistribution, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.number_of_workers = kwargs.get('number_of_workers', None) + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HandlerMapping, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.script_processor = kwargs.get('script_processor', None) + self.arguments = kwargs.get('arguments', None) + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, **kwargs): + super(HostNameSslState, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.ssl_state = kwargs.get('ssl_state', None) + self.virtual_ip = kwargs.get('virtual_ip', None) + self.thumbprint = kwargs.get('thumbprint', None) + self.to_update = kwargs.get('to_update', None) + self.host_type = kwargs.get('host_type', None) + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnection, self).__init__(**kwargs) + self.service_bus_namespace = kwargs.get('service_bus_namespace', None) + self.relay_name = kwargs.get('relay_name', None) + self.relay_arm_uri = kwargs.get('relay_arm_uri', None) + self.hostname = kwargs.get('hostname', None) + self.port = kwargs.get('port', None) + self.send_key_name = kwargs.get('send_key_name', None) + self.send_key_value = kwargs.get('send_key_value', None) + self.service_bus_suffix = kwargs.get('service_bus_suffix', None) + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HybridConnectionKey, self).__init__(**kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Identifier, self).__init__(**kwargs) + self.identifier_id = kwargs.get('identifier_id', None) + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + :param ip_address: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + :param vnet_subnet_resource_id: Virtual network resource id + :type vnet_subnet_resource_id: str + :param vnet_traffic_tag: (internal) Vnet traffic tag + :type vnet_traffic_tag: int + :param subnet_traffic_tag: (internal) Subnet traffic tag + :type subnet_traffic_tag: int + :param action: Allow or Deny access for this IP range. + :type action: str + :param tag: Defines what this IP filter will be used for. This is to + support IP filtering on proxies. Possible values include: 'Default', + 'XffProxy' + :type tag: str or ~azure.mgmt.web.models.IpFilterTag + :param priority: Priority of IP restriction rule. + :type priority: int + :param name: IP restriction rule name. + :type name: str + :param description: IP restriction rule description. + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, + 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, + 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + self.vnet_subnet_resource_id = kwargs.get('vnet_subnet_resource_id', None) + self.vnet_traffic_tag = kwargs.get('vnet_traffic_tag', None) + self.subnet_traffic_tag = kwargs.get('subnet_traffic_tag', None) + self.action = kwargs.get('action', None) + self.tag = kwargs.get('tag', None) + self.priority = kwargs.get('priority', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.tenant_id = None + self.principal_id = None + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: Principal Id of user assigned identity + :vartype principal_id: str + :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NameValuePair, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PushSettings, self).__init__(**kwargs) + self.is_push_enabled = kwargs.get('is_push_enabled', None) + self.tag_whitelist_json = kwargs.get('tag_whitelist_json', None) + self.tags_requiring_auth = kwargs.get('tags_requiring_auth', None) + self.dynamic_tags_json = kwargs.get('dynamic_tags_json', None) + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = kwargs.get('action_host_name', None) + self.reroute_percentage = kwargs.get('reroute_percentage', None) + self.change_step = kwargs.get('change_step', None) + self.change_interval_in_minutes = kwargs.get('change_interval_in_minutes', None) + self.min_reroute_percentage = kwargs.get('min_reroute_percentage', None) + self.max_reroute_percentage = kwargs.get('max_reroute_percentage', None) + self.change_decision_callback_url = kwargs.get('change_decision_callback_url', None) + self.name = kwargs.get('name', None) + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourceMetricDefinition, self).__init__(**kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.properties = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, **kwargs): + super(Site, self).__init__(**kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = kwargs.get('enabled', None) + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = kwargs.get('host_name_ssl_states', None) + self.server_farm_id = kwargs.get('server_farm_id', None) + self.reserved = kwargs.get('reserved', False) + self.is_xenon = kwargs.get('is_xenon', False) + self.hyper_v = kwargs.get('hyper_v', False) + self.last_modified_time_utc = None + self.site_config = kwargs.get('site_config', None) + self.traffic_manager_host_names = None + self.scm_site_also_stopped = kwargs.get('scm_site_also_stopped', False) + self.target_swap_slot = None + self.hosting_environment_profile = kwargs.get('hosting_environment_profile', None) + self.client_affinity_enabled = kwargs.get('client_affinity_enabled', None) + self.client_cert_enabled = kwargs.get('client_cert_enabled', None) + self.client_cert_exclusion_paths = kwargs.get('client_cert_exclusion_paths', None) + self.host_names_disabled = kwargs.get('host_names_disabled', None) + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = kwargs.get('container_size', None) + self.daily_memory_time_quota = kwargs.get('daily_memory_time_quota', None) + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = kwargs.get('cloning_info', None) + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = kwargs.get('https_only', None) + self.redundancy_mode = kwargs.get('redundancy_mode', None) + self.in_progress_operation_id = None + self.geo_distributions = kwargs.get('geo_distributions', None) + self.identity = kwargs.get('identity', None) + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = kwargs.get('number_of_workers', None) + self.default_documents = kwargs.get('default_documents', None) + self.net_framework_version = kwargs.get('net_framework_version', "v4.6") + self.php_version = kwargs.get('php_version', None) + self.python_version = kwargs.get('python_version', None) + self.node_version = kwargs.get('node_version', None) + self.linux_fx_version = kwargs.get('linux_fx_version', None) + self.windows_fx_version = kwargs.get('windows_fx_version', None) + self.request_tracing_enabled = kwargs.get('request_tracing_enabled', None) + self.request_tracing_expiration_time = kwargs.get('request_tracing_expiration_time', None) + self.remote_debugging_enabled = kwargs.get('remote_debugging_enabled', None) + self.remote_debugging_version = kwargs.get('remote_debugging_version', None) + self.http_logging_enabled = kwargs.get('http_logging_enabled', None) + self.logs_directory_size_limit = kwargs.get('logs_directory_size_limit', None) + self.detailed_error_logging_enabled = kwargs.get('detailed_error_logging_enabled', None) + self.publishing_username = kwargs.get('publishing_username', None) + self.app_settings = kwargs.get('app_settings', None) + self.azure_storage_accounts = kwargs.get('azure_storage_accounts', None) + self.connection_strings = kwargs.get('connection_strings', None) + self.machine_key = None + self.handler_mappings = kwargs.get('handler_mappings', None) + self.document_root = kwargs.get('document_root', None) + self.scm_type = kwargs.get('scm_type', None) + self.use32_bit_worker_process = kwargs.get('use32_bit_worker_process', None) + self.web_sockets_enabled = kwargs.get('web_sockets_enabled', None) + self.always_on = kwargs.get('always_on', None) + self.java_version = kwargs.get('java_version', None) + self.java_container = kwargs.get('java_container', None) + self.java_container_version = kwargs.get('java_container_version', None) + self.app_command_line = kwargs.get('app_command_line', None) + self.managed_pipeline_mode = kwargs.get('managed_pipeline_mode', None) + self.virtual_applications = kwargs.get('virtual_applications', None) + self.load_balancing = kwargs.get('load_balancing', None) + self.experiments = kwargs.get('experiments', None) + self.limits = kwargs.get('limits', None) + self.auto_heal_enabled = kwargs.get('auto_heal_enabled', None) + self.auto_heal_rules = kwargs.get('auto_heal_rules', None) + self.tracing_options = kwargs.get('tracing_options', None) + self.vnet_name = kwargs.get('vnet_name', None) + self.cors = kwargs.get('cors', None) + self.push = kwargs.get('push', None) + self.api_definition = kwargs.get('api_definition', None) + self.auto_swap_slot_name = kwargs.get('auto_swap_slot_name', None) + self.local_my_sql_enabled = kwargs.get('local_my_sql_enabled', False) + self.managed_service_identity_id = kwargs.get('managed_service_identity_id', None) + self.x_managed_service_identity_id = kwargs.get('x_managed_service_identity_id', None) + self.ip_security_restrictions = kwargs.get('ip_security_restrictions', None) + self.scm_ip_security_restrictions = kwargs.get('scm_ip_security_restrictions', None) + self.scm_ip_security_restrictions_use_main = kwargs.get('scm_ip_security_restrictions_use_main', None) + self.http20_enabled = kwargs.get('http20_enabled', True) + self.min_tls_version = kwargs.get('min_tls_version', None) + self.ftps_state = kwargs.get('ftps_state', None) + self.reserved_instance_count = kwargs.get('reserved_instance_count', None) + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = kwargs.get('max_percentage_cpu', None) + self.max_memory_in_mb = kwargs.get('max_memory_in_mb', None) + self.max_disk_size_in_mb = kwargs.get('max_disk_size_in_mb', None) + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = kwargs.get('validation', None) + self.validation_key = kwargs.get('validation_key', None) + self.decryption = kwargs.get('decryption', None) + self.decryption_key = kwargs.get('decryption_key', None) + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, 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.capacity = kwargs.get('capacity', None) + self.sku_capacity = kwargs.get('sku_capacity', None) + self.locations = kwargs.get('locations', None) + self.capabilities = kwargs.get('capabilities', None) + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = kwargs.get('time_taken', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Snapshot, self).__init__(**kwargs) + self.time = None + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.sub_status = kwargs.get('sub_status', None) + self.win32_status = kwargs.get('win32_status', None) + self.count = kwargs.get('count', None) + self.time_interval = kwargs.get('time_interval', None) + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + :param scm_uri: Url of SCM site. + :type scm_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(User, self).__init__(**kwargs) + self.publishing_user_name = kwargs.get('publishing_user_name', None) + self.publishing_password = kwargs.get('publishing_password', None) + self.publishing_password_hash = kwargs.get('publishing_password_hash', None) + self.publishing_password_hash_salt = kwargs.get('publishing_password_hash_salt', None) + self.scm_uri = kwargs.get('scm_uri', None) + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, **kwargs): + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + self.preload_enabled = kwargs.get('preload_enabled', None) + self.virtual_directories = kwargs.get('virtual_directories', None) + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = kwargs.get('virtual_path', None) + self.physical_path = kwargs.get('physical_path', None) + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetGateway, self).__init__(**kwargs) + self.vnet_name = kwargs.get('vnet_name', None) + self.vpn_package_uri = kwargs.get('vpn_package_uri', None) + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: str + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + :param is_swift: Flag that is used to denote if this is VNET injection + :type is_swift: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(VnetInfo, self).__init__(**kwargs) + self.vnet_resource_id = kwargs.get('vnet_resource_id', None) + self.cert_thumbprint = None + self.cert_blob = kwargs.get('cert_blob', None) + self.routes = None + self.resync_required = None + self.dns_servers = kwargs.get('dns_servers', None) + self.is_swift = kwargs.get('is_swift', None) + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetRoute, self).__init__(**kwargs) + self.start_address = kwargs.get('start_address', None) + self.end_address = kwargs.get('end_address', None) + self.route_type = kwargs.get('route_type', None) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models_py3.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models_py3.py new file mode 100644 index 000000000000..9913a6be03a4 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_models_py3.py @@ -0,0 +1,2734 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by 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 ApiDefinitionInfo(Model): + """Information about the formal API definition for the app. + + :param url: The URL of the API definition. + :type url: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, *, url: str=None, **kwargs) -> None: + super(ApiDefinitionInfo, self).__init__(**kwargs) + self.url = url + + +class Resource(Model): + """Azure resource. This resource is tracked in Azure Resource Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.location = location + self.type = None + self.tags = tags + + +class AppServicePlan(Resource): + """App Service plan. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param worker_tier_name: Target worker tier assigned to the App Service + plan. + :type worker_tier_name: str + :ivar status: App Service plan status. Possible values include: 'Ready', + 'Pending', 'Creating' + :vartype status: str or ~azure.mgmt.web.models.StatusOptions + :ivar subscription: App Service plan subscription. + :vartype subscription: str + :param hosting_environment_profile: Specification for the App Service + Environment to use for the App Service plan. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :ivar maximum_number_of_workers: Maximum number of instances that can be + assigned to this App Service plan. + :vartype maximum_number_of_workers: int + :ivar geo_region: Geographical location for the App Service plan. + :vartype geo_region: str + :param per_site_scaling: If true, apps assigned to this App + Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale + to all instances of the plan. Default value: False . + :type per_site_scaling: bool + :param maximum_elastic_worker_count: Maximum number of total workers + allowed for this ElasticScaleEnabled App Service Plan + :type maximum_elastic_worker_count: int + :ivar number_of_sites: Number of apps assigned to this App Service plan. + :vartype number_of_sites: int + :param is_spot: If true, this App Service Plan owns spot + instances. + :type is_spot: bool + :param spot_expiration_time: The time when the server farm expires. Valid + only if it is a spot server farm. + :type spot_expiration_time: datetime + :param free_offer_expiration_time: The time when the server farm free + offer expires. + :type free_offer_expiration_time: datetime + :ivar resource_group: Resource group of the App Service plan. + :vartype resource_group: str + :param reserved: If Linux app service plan true, + false otherwise. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: If Hyper-V container app service plan + true, false otherwise. Default value: False . + :type is_xenon: bool + :param hyper_v: If Hyper-V container app service plan true, + false otherwise. Default value: False . + :type hyper_v: bool + :param target_worker_count: Scaling worker count. + :type target_worker_count: int + :param target_worker_size_id: Scaling worker size ID. + :type target_worker_size_id: int + :ivar provisioning_state: Provisioning state of the App Service + Environment. Possible values include: 'Succeeded', 'Failed', 'Canceled', + 'InProgress', 'Deleting' + :vartype provisioning_state: str or + ~azure.mgmt.web.models.ProvisioningState + :param sku: + :type sku: ~azure.mgmt.web.models.SkuDescription + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'status': {'readonly': True}, + 'subscription': {'readonly': True}, + 'maximum_number_of_workers': {'readonly': True}, + 'geo_region': {'readonly': True}, + 'number_of_sites': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'worker_tier_name': {'key': 'properties.workerTierName', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'StatusOptions'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'maximum_number_of_workers': {'key': 'properties.maximumNumberOfWorkers', 'type': 'int'}, + 'geo_region': {'key': 'properties.geoRegion', 'type': 'str'}, + 'per_site_scaling': {'key': 'properties.perSiteScaling', 'type': 'bool'}, + 'maximum_elastic_worker_count': {'key': 'properties.maximumElasticWorkerCount', 'type': 'int'}, + 'number_of_sites': {'key': 'properties.numberOfSites', 'type': 'int'}, + 'is_spot': {'key': 'properties.isSpot', 'type': 'bool'}, + 'spot_expiration_time': {'key': 'properties.spotExpirationTime', 'type': 'iso-8601'}, + 'free_offer_expiration_time': {'key': 'properties.freeOfferExpirationTime', 'type': 'iso-8601'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'target_worker_count': {'key': 'properties.targetWorkerCount', 'type': 'int'}, + 'target_worker_size_id': {'key': 'properties.targetWorkerSizeId', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, + 'sku': {'key': 'sku', 'type': 'SkuDescription'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, worker_tier_name: str=None, hosting_environment_profile=None, per_site_scaling: bool=False, maximum_elastic_worker_count: int=None, is_spot: bool=None, spot_expiration_time=None, free_offer_expiration_time=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, target_worker_count: int=None, target_worker_size_id: int=None, sku=None, **kwargs) -> None: + super(AppServicePlan, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.worker_tier_name = worker_tier_name + self.status = None + self.subscription = None + self.hosting_environment_profile = hosting_environment_profile + self.maximum_number_of_workers = None + self.geo_region = None + self.per_site_scaling = per_site_scaling + self.maximum_elastic_worker_count = maximum_elastic_worker_count + self.number_of_sites = None + self.is_spot = is_spot + self.spot_expiration_time = spot_expiration_time + self.free_offer_expiration_time = free_offer_expiration_time + self.resource_group = None + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.target_worker_count = target_worker_count + self.target_worker_size_id = target_worker_size_id + self.provisioning_state = None + self.sku = sku + + +class AutoHealActions(Model): + """Actions which to take by the auto-heal module when a rule is triggered. + + :param action_type: Predefined action to be taken. Possible values + include: 'Recycle', 'LogEvent', 'CustomAction' + :type action_type: str or ~azure.mgmt.web.models.AutoHealActionType + :param custom_action: Custom action to be taken. + :type custom_action: ~azure.mgmt.web.models.AutoHealCustomAction + :param min_process_execution_time: Minimum time the process must execute + before taking the action + :type min_process_execution_time: str + """ + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'AutoHealActionType'}, + 'custom_action': {'key': 'customAction', 'type': 'AutoHealCustomAction'}, + 'min_process_execution_time': {'key': 'minProcessExecutionTime', 'type': 'str'}, + } + + def __init__(self, *, action_type=None, custom_action=None, min_process_execution_time: str=None, **kwargs) -> None: + super(AutoHealActions, self).__init__(**kwargs) + self.action_type = action_type + self.custom_action = custom_action + self.min_process_execution_time = min_process_execution_time + + +class AutoHealCustomAction(Model): + """Custom action to be executed + when an auto heal rule is triggered. + + :param exe: Executable to be run. + :type exe: str + :param parameters: Parameters for the executable. + :type parameters: str + """ + + _attribute_map = { + 'exe': {'key': 'exe', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__(self, *, exe: str=None, parameters: str=None, **kwargs) -> None: + super(AutoHealCustomAction, self).__init__(**kwargs) + self.exe = exe + self.parameters = parameters + + +class AutoHealRules(Model): + """Rules that can be defined for auto-heal. + + :param triggers: Conditions that describe when to execute the auto-heal + actions. + :type triggers: ~azure.mgmt.web.models.AutoHealTriggers + :param actions: Actions to be executed when a rule is triggered. + :type actions: ~azure.mgmt.web.models.AutoHealActions + """ + + _attribute_map = { + 'triggers': {'key': 'triggers', 'type': 'AutoHealTriggers'}, + 'actions': {'key': 'actions', 'type': 'AutoHealActions'}, + } + + def __init__(self, *, triggers=None, actions=None, **kwargs) -> None: + super(AutoHealRules, self).__init__(**kwargs) + self.triggers = triggers + self.actions = actions + + +class AutoHealTriggers(Model): + """Triggers for auto-heal. + + :param requests: A rule based on total requests. + :type requests: ~azure.mgmt.web.models.RequestsBasedTrigger + :param private_bytes_in_kb: A rule based on private bytes. + :type private_bytes_in_kb: int + :param status_codes: A rule based on status codes. + :type status_codes: list[~azure.mgmt.web.models.StatusCodesBasedTrigger] + :param slow_requests: A rule based on request execution time. + :type slow_requests: ~azure.mgmt.web.models.SlowRequestsBasedTrigger + """ + + _attribute_map = { + 'requests': {'key': 'requests', 'type': 'RequestsBasedTrigger'}, + 'private_bytes_in_kb': {'key': 'privateBytesInKB', 'type': 'int'}, + 'status_codes': {'key': 'statusCodes', 'type': '[StatusCodesBasedTrigger]'}, + 'slow_requests': {'key': 'slowRequests', 'type': 'SlowRequestsBasedTrigger'}, + } + + def __init__(self, *, requests=None, private_bytes_in_kb: int=None, status_codes=None, slow_requests=None, **kwargs) -> None: + super(AutoHealTriggers, self).__init__(**kwargs) + self.requests = requests + self.private_bytes_in_kb = private_bytes_in_kb + self.status_codes = status_codes + self.slow_requests = slow_requests + + +class AzureStorageInfoValue(Model): + """Azure Files or Blob Storage access information value for dictionary + storage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of storage. Possible values include: 'AzureFiles', + 'AzureBlob' + :type type: str or ~azure.mgmt.web.models.AzureStorageType + :param account_name: Name of the storage account. + :type account_name: str + :param share_name: Name of the file share (container name, for Blob + storage). + :type share_name: str + :param access_key: Access key for the storage account. + :type access_key: str + :param mount_path: Path to mount the storage within the site's runtime + environment. + :type mount_path: str + :ivar state: State of the storage account. Possible values include: 'Ok', + 'InvalidCredentials', 'InvalidShare' + :vartype state: str or ~azure.mgmt.web.models.AzureStorageState + """ + + _validation = { + 'state': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'AzureStorageType'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'AzureStorageState'}, + } + + def __init__(self, *, type=None, account_name: str=None, share_name: str=None, access_key: str=None, mount_path: str=None, **kwargs) -> None: + super(AzureStorageInfoValue, self).__init__(**kwargs) + self.type = type + self.account_name = account_name + self.share_name = share_name + self.access_key = access_key + self.mount_path = mount_path + self.state = None + + +class Capability(Model): + """Describes the capabilities/features allowed for a specific SKU. + + :param name: Name of the SKU capability. + :type name: str + :param value: Value of the SKU capability. + :type value: str + :param reason: Reason of the SKU capability. + :type reason: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, reason: str=None, **kwargs) -> None: + super(Capability, self).__init__(**kwargs) + self.name = name + self.value = value + self.reason = reason + + +class Certificate(Resource): + """SSL certificate for an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, location: str, password: str, kind: str=None, tags=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(Certificate, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.server_farm_id = server_farm_id + + +class ProxyOnlyResource(Model): + """Azure proxy only resource. This resource is not tracked by Azure Resource + Manager. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ProxyOnlyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.kind = kind + self.type = None + + +class CertificatePatchResource(ProxyOnlyResource): + """ARM resource for a certificate. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar friendly_name: Friendly name of the certificate. + :vartype friendly_name: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param host_names: Host names the certificate applies to. + :type host_names: list[str] + :param pfx_blob: Pfx blob. + :type pfx_blob: bytearray + :ivar site_name: App name. + :vartype site_name: str + :ivar self_link: Self link. + :vartype self_link: str + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :param password: Required. Certificate password. + :type password: str + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar cer_blob: Raw bytes of .cer file + :vartype cer_blob: bytearray + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + :ivar hosting_environment_profile: Specification for the App Service + Environment to use for the certificate. + :vartype hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param key_vault_id: Key Vault Csm resource Id. + :type key_vault_id: str + :param key_vault_secret_name: Key Vault secret name. + :type key_vault_secret_name: str + :ivar key_vault_secret_status: Status of the Key Vault secret. Possible + values include: 'Initialized', 'WaitingOnCertificateOrder', 'Succeeded', + 'CertificateOrderFailed', 'OperationNotPermittedOnKeyVault', + 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist', + 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey', + 'Unknown' + :vartype key_vault_secret_status: str or + ~azure.mgmt.web.models.KeyVaultSecretStatus + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'friendly_name': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'site_name': {'readonly': True}, + 'self_link': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'password': {'required': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'cer_blob': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + 'hosting_environment_profile': {'readonly': True}, + 'key_vault_secret_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'subject_name': {'key': 'properties.subjectName', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'pfx_blob': {'key': 'properties.pfxBlob', 'type': 'bytearray'}, + 'site_name': {'key': 'properties.siteName', 'type': 'str'}, + 'self_link': {'key': 'properties.selfLink', 'type': 'str'}, + 'issuer': {'key': 'properties.issuer', 'type': 'str'}, + 'issue_date': {'key': 'properties.issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'valid': {'key': 'properties.valid', 'type': 'bool'}, + 'cer_blob': {'key': 'properties.cerBlob', 'type': 'bytearray'}, + 'public_key_hash': {'key': 'properties.publicKeyHash', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'key_vault_id': {'key': 'properties.keyVaultId', 'type': 'str'}, + 'key_vault_secret_name': {'key': 'properties.keyVaultSecretName', 'type': 'str'}, + 'key_vault_secret_status': {'key': 'properties.keyVaultSecretStatus', 'type': 'KeyVaultSecretStatus'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + } + + def __init__(self, *, password: str, kind: str=None, host_names=None, pfx_blob: bytearray=None, key_vault_id: str=None, key_vault_secret_name: str=None, server_farm_id: str=None, **kwargs) -> None: + super(CertificatePatchResource, self).__init__(kind=kind, **kwargs) + self.friendly_name = None + self.subject_name = None + self.host_names = host_names + self.pfx_blob = pfx_blob + self.site_name = None + self.self_link = None + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.password = password + self.thumbprint = None + self.valid = None + self.cer_blob = None + self.public_key_hash = None + self.hosting_environment_profile = None + self.key_vault_id = key_vault_id + self.key_vault_secret_name = key_vault_secret_name + self.key_vault_secret_status = None + self.server_farm_id = server_farm_id + + +class CloningInfo(Model): + """Information needed for cloning operation. + + All required parameters must be populated in order to send to Azure. + + :param correlation_id: Correlation ID of cloning operation. This ID ties + multiple cloning operations + together to use the same snapshot. + :type correlation_id: str + :param overwrite: true to overwrite destination app; + otherwise, false. + :type overwrite: bool + :param clone_custom_host_names: true to clone custom + hostnames from source app; otherwise, false. + :type clone_custom_host_names: bool + :param clone_source_control: true to clone source control + from source app; otherwise, false. + :type clone_source_control: bool + :param source_web_app_id: Required. ARM resource ID of the source app. App + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} + for production slots and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} + for other slots. + :type source_web_app_id: str + :param source_web_app_location: Location of source app ex: West US or + North Europe + :type source_web_app_location: str + :param hosting_environment: App Service Environment. + :type hosting_environment: str + :param app_settings_overrides: Application setting overrides for cloned + app. If specified, these settings override the settings cloned + from source app. Otherwise, application settings from source app are + retained. + :type app_settings_overrides: dict[str, str] + :param configure_load_balancing: true to configure load + balancing for source and destination app. + :type configure_load_balancing: bool + :param traffic_manager_profile_id: ARM resource ID of the Traffic Manager + profile to use, if it exists. Traffic Manager resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + :type traffic_manager_profile_id: str + :param traffic_manager_profile_name: Name of Traffic Manager profile to + create. This is only needed if Traffic Manager profile does not already + exist. + :type traffic_manager_profile_name: str + """ + + _validation = { + 'source_web_app_id': {'required': True}, + } + + _attribute_map = { + 'correlation_id': {'key': 'correlationId', 'type': 'str'}, + 'overwrite': {'key': 'overwrite', 'type': 'bool'}, + 'clone_custom_host_names': {'key': 'cloneCustomHostNames', 'type': 'bool'}, + 'clone_source_control': {'key': 'cloneSourceControl', 'type': 'bool'}, + 'source_web_app_id': {'key': 'sourceWebAppId', 'type': 'str'}, + 'source_web_app_location': {'key': 'sourceWebAppLocation', 'type': 'str'}, + 'hosting_environment': {'key': 'hostingEnvironment', 'type': 'str'}, + 'app_settings_overrides': {'key': 'appSettingsOverrides', 'type': '{str}'}, + 'configure_load_balancing': {'key': 'configureLoadBalancing', 'type': 'bool'}, + 'traffic_manager_profile_id': {'key': 'trafficManagerProfileId', 'type': 'str'}, + 'traffic_manager_profile_name': {'key': 'trafficManagerProfileName', 'type': 'str'}, + } + + def __init__(self, *, source_web_app_id: str, correlation_id: str=None, overwrite: bool=None, clone_custom_host_names: bool=None, clone_source_control: bool=None, source_web_app_location: str=None, hosting_environment: str=None, app_settings_overrides=None, configure_load_balancing: bool=None, traffic_manager_profile_id: str=None, traffic_manager_profile_name: str=None, **kwargs) -> None: + super(CloningInfo, self).__init__(**kwargs) + self.correlation_id = correlation_id + self.overwrite = overwrite + self.clone_custom_host_names = clone_custom_host_names + self.clone_source_control = clone_source_control + self.source_web_app_id = source_web_app_id + self.source_web_app_location = source_web_app_location + self.hosting_environment = hosting_environment + self.app_settings_overrides = app_settings_overrides + self.configure_load_balancing = configure_load_balancing + self.traffic_manager_profile_id = traffic_manager_profile_id + self.traffic_manager_profile_name = traffic_manager_profile_name + + +class CloudError(Model): + """CloudError. + """ + + _attribute_map = { + } + + +class ConnStringInfo(Model): + """Database connection string information. + + :param name: Name of connection string. + :type name: str + :param connection_string: Connection string value. + :type connection_string: str + :param type: Type of database. Possible values include: 'MySql', + 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', + 'EventHub', 'ApiHub', 'DocDb', 'RedisCache', 'PostgreSQL' + :type type: str or ~azure.mgmt.web.models.ConnectionStringType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ConnectionStringType'}, + } + + def __init__(self, *, name: str=None, connection_string: str=None, type=None, **kwargs) -> None: + super(ConnStringInfo, self).__init__(**kwargs) + self.name = name + self.connection_string = connection_string + self.type = type + + +class CorsSettings(Model): + """Cross-Origin Resource Sharing (CORS) settings for the app. + + :param allowed_origins: Gets or sets the list of origins that should be + allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + :type allowed_origins: list[str] + :param support_credentials: Gets or sets whether CORS requests with + credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + :type support_credentials: bool + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'support_credentials': {'key': 'supportCredentials', 'type': 'bool'}, + } + + def __init__(self, *, allowed_origins=None, support_credentials: bool=None, **kwargs) -> None: + super(CorsSettings, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.support_credentials = support_credentials + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~azure.mgmt.web.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: + :type details: + list[~azure.mgmt.web.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, *, details=None, **kwargs) -> None: + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = details + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class DeletedSite(ProxyOnlyResource): + """A deleted app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar deleted_site_id: Numeric id for the deleted site + :vartype deleted_site_id: int + :ivar deleted_timestamp: Time in UTC when the app was deleted. + :vartype deleted_timestamp: str + :ivar subscription: Subscription containing the deleted site + :vartype subscription: str + :ivar resource_group: ResourceGroup that contained the deleted site + :vartype resource_group: str + :ivar deleted_site_name: Name of the deleted site + :vartype deleted_site_name: str + :ivar slot: Slot of the deleted site + :vartype slot: str + :ivar deleted_site_kind: Kind of site that was deleted + :vartype deleted_site_kind: str + :ivar geo_region_name: Geo Region of the deleted site + :vartype geo_region_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'deleted_site_id': {'readonly': True}, + 'deleted_timestamp': {'readonly': True}, + 'subscription': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'deleted_site_name': {'readonly': True}, + 'slot': {'readonly': True}, + 'deleted_site_kind': {'readonly': True}, + 'geo_region_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'deleted_site_id': {'key': 'properties.deletedSiteId', 'type': 'int'}, + 'deleted_timestamp': {'key': 'properties.deletedTimestamp', 'type': 'str'}, + 'subscription': {'key': 'properties.subscription', 'type': 'str'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'deleted_site_name': {'key': 'properties.deletedSiteName', 'type': 'str'}, + 'slot': {'key': 'properties.slot', 'type': 'str'}, + 'deleted_site_kind': {'key': 'properties.kind', 'type': 'str'}, + 'geo_region_name': {'key': 'properties.geoRegionName', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(DeletedSite, self).__init__(kind=kind, **kwargs) + self.deleted_site_id = None + self.deleted_timestamp = None + self.subscription = None + self.resource_group = None + self.deleted_site_name = None + self.slot = None + self.deleted_site_kind = None + self.geo_region_name = None + + +class Experiments(Model): + """Routing rules in production experiments. + + :param ramp_up_rules: List of ramp-up rules. + :type ramp_up_rules: list[~azure.mgmt.web.models.RampUpRule] + """ + + _attribute_map = { + 'ramp_up_rules': {'key': 'rampUpRules', 'type': '[RampUpRule]'}, + } + + def __init__(self, *, ramp_up_rules=None, **kwargs) -> None: + super(Experiments, self).__init__(**kwargs) + self.ramp_up_rules = ramp_up_rules + + +class GeoDistribution(Model): + """A global distribution definition. + + :param location: Location. + :type location: str + :param number_of_workers: NumberOfWorkers. + :type number_of_workers: int + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + } + + def __init__(self, *, location: str=None, number_of_workers: int=None, **kwargs) -> None: + super(GeoDistribution, self).__init__(**kwargs) + self.location = location + self.number_of_workers = number_of_workers + + +class HandlerMapping(Model): + """The IIS handler mappings used to define which handler processes HTTP + requests with certain extension. + For example, it is used to configure php-cgi.exe process to handle all HTTP + requests with *.php extension. + + :param extension: Requests with this extension will be handled using the + specified FastCGI application. + :type extension: str + :param script_processor: The absolute path to the FastCGI application. + :type script_processor: str + :param arguments: Command-line arguments to be passed to the script + processor. + :type arguments: str + """ + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'script_processor': {'key': 'scriptProcessor', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': 'str'}, + } + + def __init__(self, *, extension: str=None, script_processor: str=None, arguments: str=None, **kwargs) -> None: + super(HandlerMapping, self).__init__(**kwargs) + self.extension = extension + self.script_processor = script_processor + self.arguments = arguments + + +class HostingEnvironmentProfile(Model): + """Specification for an App Service Environment to use for this resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID of the App Service Environment. + :type id: str + :ivar name: Name of the App Service Environment. + :vartype name: str + :ivar type: Resource type of the App Service Environment. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(HostingEnvironmentProfile, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + + +class HostNameSslState(Model): + """SSL-enabled hostname. + + :param name: Hostname. + :type name: str + :param ssl_state: SSL type. Possible values include: 'Disabled', + 'SniEnabled', 'IpBasedEnabled' + :type ssl_state: str or ~azure.mgmt.web.models.SslState + :param virtual_ip: Virtual IP address assigned to the hostname if IP based + SSL is enabled. + :type virtual_ip: str + :param thumbprint: SSL certificate thumbprint. + :type thumbprint: str + :param to_update: Set to true to update existing hostname. + :type to_update: bool + :param host_type: Indicates whether the hostname is a standard or + repository hostname. Possible values include: 'Standard', 'Repository' + :type host_type: str or ~azure.mgmt.web.models.HostType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'ssl_state': {'key': 'sslState', 'type': 'SslState'}, + 'virtual_ip': {'key': 'virtualIP', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'to_update': {'key': 'toUpdate', 'type': 'bool'}, + 'host_type': {'key': 'hostType', 'type': 'HostType'}, + } + + def __init__(self, *, name: str=None, ssl_state=None, virtual_ip: str=None, thumbprint: str=None, to_update: bool=None, host_type=None, **kwargs) -> None: + super(HostNameSslState, self).__init__(**kwargs) + self.name = name + self.ssl_state = ssl_state + self.virtual_ip = virtual_ip + self.thumbprint = thumbprint + self.to_update = to_update + self.host_type = host_type + + +class HybridConnection(ProxyOnlyResource): + """Hybrid Connection contract. This is used to configure a Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param service_bus_namespace: The name of the Service Bus namespace. + :type service_bus_namespace: str + :param relay_name: The name of the Service Bus relay. + :type relay_name: str + :param relay_arm_uri: The ARM URI to the Service Bus relay. + :type relay_arm_uri: str + :param hostname: The hostname of the endpoint. + :type hostname: str + :param port: The port of the endpoint. + :type port: int + :param send_key_name: The name of the Service Bus key which has Send + permissions. This is used to authenticate to Service Bus. + :type send_key_name: str + :param send_key_value: The value of the Service Bus key. This is used to + authenticate to Service Bus. In ARM this key will not be returned + normally, use the POST /listKeys API instead. + :type send_key_value: str + :param service_bus_suffix: The suffix for the service bus endpoint. By + default this is .servicebus.windows.net + :type service_bus_suffix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_bus_namespace': {'key': 'properties.serviceBusNamespace', 'type': 'str'}, + 'relay_name': {'key': 'properties.relayName', 'type': 'str'}, + 'relay_arm_uri': {'key': 'properties.relayArmUri', 'type': 'str'}, + 'hostname': {'key': 'properties.hostname', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + 'service_bus_suffix': {'key': 'properties.serviceBusSuffix', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, service_bus_namespace: str=None, relay_name: str=None, relay_arm_uri: str=None, hostname: str=None, port: int=None, send_key_name: str=None, send_key_value: str=None, service_bus_suffix: str=None, **kwargs) -> None: + super(HybridConnection, self).__init__(kind=kind, **kwargs) + self.service_bus_namespace = service_bus_namespace + self.relay_name = relay_name + self.relay_arm_uri = relay_arm_uri + self.hostname = hostname + self.port = port + self.send_key_name = send_key_name + self.send_key_value = send_key_value + self.service_bus_suffix = service_bus_suffix + + +class HybridConnectionKey(ProxyOnlyResource): + """Hybrid Connection key contract. This has the send key name and value for a + Hybrid Connection. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar send_key_name: The name of the send key. + :vartype send_key_name: str + :ivar send_key_value: The value of the send key. + :vartype send_key_value: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'send_key_name': {'readonly': True}, + 'send_key_value': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'send_key_name': {'key': 'properties.sendKeyName', 'type': 'str'}, + 'send_key_value': {'key': 'properties.sendKeyValue', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(HybridConnectionKey, self).__init__(kind=kind, **kwargs) + self.send_key_name = None + self.send_key_value = None + + +class Identifier(ProxyOnlyResource): + """A domain specific resource identifier. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param identifier_id: String representation of the identity. + :type identifier_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identifier_id': {'key': 'properties.id', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, identifier_id: str=None, **kwargs) -> None: + super(Identifier, self).__init__(kind=kind, **kwargs) + self.identifier_id = identifier_id + + +class IpSecurityRestriction(Model): + """IP security restriction on an app. + + :param ip_address: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. + :type ip_address: str + :param subnet_mask: Subnet mask for the range of IP addresses the + restriction is valid for. + :type subnet_mask: str + :param vnet_subnet_resource_id: Virtual network resource id + :type vnet_subnet_resource_id: str + :param vnet_traffic_tag: (internal) Vnet traffic tag + :type vnet_traffic_tag: int + :param subnet_traffic_tag: (internal) Subnet traffic tag + :type subnet_traffic_tag: int + :param action: Allow or Deny access for this IP range. + :type action: str + :param tag: Defines what this IP filter will be used for. This is to + support IP filtering on proxies. Possible values include: 'Default', + 'XffProxy' + :type tag: str or ~azure.mgmt.web.models.IpFilterTag + :param priority: Priority of IP restriction rule. + :type priority: int + :param name: IP restriction rule name. + :type name: str + :param description: IP restriction rule description. + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'vnet_subnet_resource_id': {'key': 'vnetSubnetResourceId', 'type': 'str'}, + 'vnet_traffic_tag': {'key': 'vnetTrafficTag', 'type': 'int'}, + 'subnet_traffic_tag': {'key': 'subnetTrafficTag', 'type': 'int'}, + 'action': {'key': 'action', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'IpFilterTag'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str=None, subnet_mask: str=None, vnet_subnet_resource_id: str=None, vnet_traffic_tag: int=None, subnet_traffic_tag: int=None, action: str=None, tag=None, priority: int=None, name: str=None, description: str=None, **kwargs) -> None: + super(IpSecurityRestriction, self).__init__(**kwargs) + self.ip_address = ip_address + self.subnet_mask = subnet_mask + self.vnet_subnet_resource_id = vnet_subnet_resource_id + self.vnet_traffic_tag = vnet_traffic_tag + self.subnet_traffic_tag = subnet_traffic_tag + self.action = action + self.tag = tag + self.priority = priority + self.name = name + self.description = description + + +class ManagedServiceIdentity(Model): + """Managed service identity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param type: Type of managed service identity. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + :type type: str or ~azure.mgmt.web.models.ManagedServiceIdentityType + :ivar tenant_id: Tenant of managed service identity. + :vartype tenant_id: str + :ivar principal_id: Principal Id of managed service identity. + :vartype principal_id: str + :param user_assigned_identities: The list of user assigned 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.web.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'principal_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.type = type + self.tenant_id = None + self.principal_id = None + self.user_assigned_identities = user_assigned_identities + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: Principal Id of user assigned identity + :vartype principal_id: str + :ivar client_id: 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class NameValuePair(Model): + """Name value pair. + + :param name: Pair name. + :type name: str + :param value: Pair value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(NameValuePair, self).__init__(**kwargs) + self.name = name + self.value = value + + +class PushSettings(ProxyOnlyResource): + """Push settings for the App. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param is_push_enabled: Required. Gets or sets a flag indicating whether + the Push endpoint is enabled. + :type is_push_enabled: bool + :param tag_whitelist_json: Gets or sets a JSON string containing a list of + tags that are whitelisted for use by the push registration endpoint. + :type tag_whitelist_json: str + :param tags_requiring_auth: Gets or sets a JSON string containing a list + of tags that require user authentication to be used in the push + registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + :type tags_requiring_auth: str + :param dynamic_tags_json: Gets or sets a JSON string containing a list of + dynamic tags that will be evaluated from user claims in the push + registration endpoint. + :type dynamic_tags_json: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'is_push_enabled': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'is_push_enabled': {'key': 'properties.isPushEnabled', 'type': 'bool'}, + 'tag_whitelist_json': {'key': 'properties.tagWhitelistJson', 'type': 'str'}, + 'tags_requiring_auth': {'key': 'properties.tagsRequiringAuth', 'type': 'str'}, + 'dynamic_tags_json': {'key': 'properties.dynamicTagsJson', 'type': 'str'}, + } + + def __init__(self, *, is_push_enabled: bool, kind: str=None, tag_whitelist_json: str=None, tags_requiring_auth: str=None, dynamic_tags_json: str=None, **kwargs) -> None: + super(PushSettings, self).__init__(kind=kind, **kwargs) + self.is_push_enabled = is_push_enabled + self.tag_whitelist_json = tag_whitelist_json + self.tags_requiring_auth = tags_requiring_auth + self.dynamic_tags_json = dynamic_tags_json + + +class RampUpRule(Model): + """Routing rules for ramp up testing. This rule allows to redirect static + traffic % to a slot or to gradually change routing % based on performance. + + :param action_host_name: Hostname of a slot to which the traffic will be + redirected if decided to. E.g. myapp-stage.azurewebsites.net. + :type action_host_name: str + :param reroute_percentage: Percentage of the traffic which will be + redirected to ActionHostName. + :type reroute_percentage: float + :param change_step: In auto ramp up scenario this is the step to + add/remove from ReroutePercentage until it reaches + MinReroutePercentage or MaxReroutePercentage. + Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes. + Custom decision algorithm can be provided in TiPCallback site extension + which URL can be specified in ChangeDecisionCallbackUrl. + :type change_step: float + :param change_interval_in_minutes: Specifies interval in minutes to + reevaluate ReroutePercentage. + :type change_interval_in_minutes: int + :param min_reroute_percentage: Specifies lower boundary above which + ReroutePercentage will stay. + :type min_reroute_percentage: float + :param max_reroute_percentage: Specifies upper boundary below which + ReroutePercentage will stay. + :type max_reroute_percentage: float + :param change_decision_callback_url: Custom decision algorithm can be + provided in TiPCallback site extension which URL can be specified. See + TiPCallback site extension for the scaffold and contracts. + https://www.siteextensions.net/packages/TiPCallback/ + :type change_decision_callback_url: str + :param name: Name of the routing rule. The recommended name would be to + point to the slot which will receive the traffic in the experiment. + :type name: str + """ + + _attribute_map = { + 'action_host_name': {'key': 'actionHostName', 'type': 'str'}, + 'reroute_percentage': {'key': 'reroutePercentage', 'type': 'float'}, + 'change_step': {'key': 'changeStep', 'type': 'float'}, + 'change_interval_in_minutes': {'key': 'changeIntervalInMinutes', 'type': 'int'}, + 'min_reroute_percentage': {'key': 'minReroutePercentage', 'type': 'float'}, + 'max_reroute_percentage': {'key': 'maxReroutePercentage', 'type': 'float'}, + 'change_decision_callback_url': {'key': 'changeDecisionCallbackUrl', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, action_host_name: str=None, reroute_percentage: float=None, change_step: float=None, change_interval_in_minutes: int=None, min_reroute_percentage: float=None, max_reroute_percentage: float=None, change_decision_callback_url: str=None, name: str=None, **kwargs) -> None: + super(RampUpRule, self).__init__(**kwargs) + self.action_host_name = action_host_name + self.reroute_percentage = reroute_percentage + self.change_step = change_step + self.change_interval_in_minutes = change_interval_in_minutes + self.min_reroute_percentage = min_reroute_percentage + self.max_reroute_percentage = max_reroute_percentage + self.change_decision_callback_url = change_decision_callback_url + self.name = name + + +class RequestsBasedTrigger(Model): + """Trigger based on total requests. + + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, time_interval: str=None, **kwargs) -> None: + super(RequestsBasedTrigger, self).__init__(**kwargs) + self.count = count + self.time_interval = time_interval + + +class ResourceMetricAvailability(Model): + """Metrics availability and retention. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_grain: Time grain . + :vartype time_grain: str + :ivar retention: Retention period for the current time grain. + :vartype retention: str + """ + + _validation = { + 'time_grain': {'readonly': True}, + 'retention': {'readonly': True}, + } + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ResourceMetricAvailability, self).__init__(**kwargs) + self.time_grain = None + self.retention = None + + +class ResourceMetricDefinition(ProxyOnlyResource): + """Metadata for the metrics. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar unit: Unit of the metric. + :vartype unit: str + :ivar primary_aggregation_type: Primary aggregation type. + :vartype primary_aggregation_type: str + :ivar metric_availabilities: List of time grains supported for the metric + together with retention period. + :vartype metric_availabilities: + list[~azure.mgmt.web.models.ResourceMetricAvailability] + :ivar resource_uri: Resource URI. + :vartype resource_uri: str + :ivar properties: Resource metric definition properties. + :vartype properties: dict[str, str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'unit': {'readonly': True}, + 'primary_aggregation_type': {'readonly': True}, + 'metric_availabilities': {'readonly': True}, + 'resource_uri': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'primary_aggregation_type': {'key': 'properties.primaryAggregationType', 'type': 'str'}, + 'metric_availabilities': {'key': 'properties.metricAvailabilities', 'type': '[ResourceMetricAvailability]'}, + 'resource_uri': {'key': 'properties.resourceUri', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': '{str}'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(ResourceMetricDefinition, self).__init__(kind=kind, **kwargs) + self.unit = None + self.primary_aggregation_type = None + self.metric_availabilities = None + self.resource_uri = None + self.properties = None + + +class Site(Resource): + """A web app, a mobile app backend, or an API app. + + 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 + :param kind: Kind of resource. + :type kind: str + :param location: Required. Resource Location. + :type location: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar state: Current state of the app. + :vartype state: str + :ivar host_names: Hostnames associated with the app. + :vartype host_names: list[str] + :ivar repository_site_name: Name of the repository site. + :vartype repository_site_name: str + :ivar usage_state: State indicating whether the app has exceeded its quota + usage. Read-only. Possible values include: 'Normal', 'Exceeded' + :vartype usage_state: str or ~azure.mgmt.web.models.UsageState + :param enabled: true if the app is enabled; otherwise, + false. Setting this value to false disables the app (takes + the app offline). + :type enabled: bool + :ivar enabled_host_names: Enabled hostnames for the app.Hostnames need to + be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + :vartype enabled_host_names: list[str] + :ivar availability_state: Management information availability state for + the app. Possible values include: 'Normal', 'Limited', + 'DisasterRecoveryMode' + :vartype availability_state: str or + ~azure.mgmt.web.models.SiteAvailabilityState + :param host_name_ssl_states: Hostname SSL states are used to manage the + SSL bindings for app's hostnames. + :type host_name_ssl_states: list[~azure.mgmt.web.models.HostNameSslState] + :param server_farm_id: Resource ID of the associated App Service plan, + formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + :type server_farm_id: str + :param reserved: true if reserved; otherwise, + false. Default value: False . + :type reserved: bool + :param is_xenon: Obsolete: Hyper-V sandbox. Default value: False . + :type is_xenon: bool + :param hyper_v: Hyper-V sandbox. Default value: False . + :type hyper_v: bool + :ivar last_modified_time_utc: Last time the app was modified, in UTC. + Read-only. + :vartype last_modified_time_utc: datetime + :param site_config: Configuration of the app. + :type site_config: ~azure.mgmt.web.models.SiteConfig + :ivar traffic_manager_host_names: Azure Traffic Manager hostnames + associated with the app. Read-only. + :vartype traffic_manager_host_names: list[str] + :param scm_site_also_stopped: true to stop SCM (KUDU) site + when the app is stopped; otherwise, false. The default is + false. Default value: False . + :type scm_site_also_stopped: bool + :ivar target_swap_slot: Specifies which deployment slot this app will swap + into. Read-only. + :vartype target_swap_slot: str + :param hosting_environment_profile: App Service Environment to use for the + app. + :type hosting_environment_profile: + ~azure.mgmt.web.models.HostingEnvironmentProfile + :param client_affinity_enabled: true to enable client + affinity; false to stop sending session affinity cookies, + which route client requests in the same session to the same instance. + Default is true. + :type client_affinity_enabled: bool + :param client_cert_enabled: true to enable client certificate + authentication (TLS mutual authentication); otherwise, false. + Default is false. + :type client_cert_enabled: bool + :param client_cert_exclusion_paths: client certificate authentication + comma-separated exclusion paths + :type client_cert_exclusion_paths: str + :param host_names_disabled: true to disable the public + hostnames of the app; otherwise, false. + If true, the app is only accessible via API management + process. + :type host_names_disabled: bool + :ivar outbound_ip_addresses: List of IP addresses that the app uses for + outbound connections (e.g. database access). Includes VIPs from tenants + that site can be hosted with current settings. Read-only. + :vartype outbound_ip_addresses: str + :ivar possible_outbound_ip_addresses: List of IP addresses that the app + uses for outbound connections (e.g. database access). Includes VIPs from + all tenants. Read-only. + :vartype possible_outbound_ip_addresses: str + :param container_size: Size of the function container. + :type container_size: int + :param daily_memory_time_quota: Maximum allowed daily memory-time quota + (applicable on dynamic apps only). + :type daily_memory_time_quota: int + :ivar suspended_till: App suspended till in case memory-time quota is + exceeded. + :vartype suspended_till: datetime + :ivar max_number_of_workers: Maximum number of workers. + This only applies to Functions container. + :vartype max_number_of_workers: int + :param cloning_info: If specified during app creation, the app is cloned + from a source app. + :type cloning_info: ~azure.mgmt.web.models.CloningInfo + :ivar resource_group: Name of the resource group the app belongs to. + Read-only. + :vartype resource_group: str + :ivar is_default_container: true if the app is a default + container; otherwise, false. + :vartype is_default_container: bool + :ivar default_host_name: Default hostname of the app. Read-only. + :vartype default_host_name: str + :ivar slot_swap_status: Status of the last deployment slot swap operation. + :vartype slot_swap_status: ~azure.mgmt.web.models.SlotSwapStatus + :param https_only: HttpsOnly: configures a web site to accept only https + requests. Issues redirect for + http requests + :type https_only: bool + :param redundancy_mode: Site redundancy mode. Possible values include: + 'None', 'Manual', 'Failover', 'ActiveActive', 'GeoRedundant' + :type redundancy_mode: str or ~azure.mgmt.web.models.RedundancyMode + :ivar in_progress_operation_id: Specifies an operation id if this site has + a pending operation. + :vartype in_progress_operation_id: str + :param geo_distributions: GeoDistributions for this site + :type geo_distributions: list[~azure.mgmt.web.models.GeoDistribution] + :param identity: + :type identity: ~azure.mgmt.web.models.ManagedServiceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'location': {'required': True}, + 'type': {'readonly': True}, + 'state': {'readonly': True}, + 'host_names': {'readonly': True}, + 'repository_site_name': {'readonly': True}, + 'usage_state': {'readonly': True}, + 'enabled_host_names': {'readonly': True}, + 'availability_state': {'readonly': True}, + 'last_modified_time_utc': {'readonly': True}, + 'traffic_manager_host_names': {'readonly': True}, + 'target_swap_slot': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + 'possible_outbound_ip_addresses': {'readonly': True}, + 'suspended_till': {'readonly': True}, + 'max_number_of_workers': {'readonly': True}, + 'resource_group': {'readonly': True}, + 'is_default_container': {'readonly': True}, + 'default_host_name': {'readonly': True}, + 'slot_swap_status': {'readonly': True}, + 'in_progress_operation_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, + 'repository_site_name': {'key': 'properties.repositorySiteName', 'type': 'str'}, + 'usage_state': {'key': 'properties.usageState', 'type': 'UsageState'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'enabled_host_names': {'key': 'properties.enabledHostNames', 'type': '[str]'}, + 'availability_state': {'key': 'properties.availabilityState', 'type': 'SiteAvailabilityState'}, + 'host_name_ssl_states': {'key': 'properties.hostNameSslStates', 'type': '[HostNameSslState]'}, + 'server_farm_id': {'key': 'properties.serverFarmId', 'type': 'str'}, + 'reserved': {'key': 'properties.reserved', 'type': 'bool'}, + 'is_xenon': {'key': 'properties.isXenon', 'type': 'bool'}, + 'hyper_v': {'key': 'properties.hyperV', 'type': 'bool'}, + 'last_modified_time_utc': {'key': 'properties.lastModifiedTimeUtc', 'type': 'iso-8601'}, + 'site_config': {'key': 'properties.siteConfig', 'type': 'SiteConfig'}, + 'traffic_manager_host_names': {'key': 'properties.trafficManagerHostNames', 'type': '[str]'}, + 'scm_site_also_stopped': {'key': 'properties.scmSiteAlsoStopped', 'type': 'bool'}, + 'target_swap_slot': {'key': 'properties.targetSwapSlot', 'type': 'str'}, + 'hosting_environment_profile': {'key': 'properties.hostingEnvironmentProfile', 'type': 'HostingEnvironmentProfile'}, + 'client_affinity_enabled': {'key': 'properties.clientAffinityEnabled', 'type': 'bool'}, + 'client_cert_enabled': {'key': 'properties.clientCertEnabled', 'type': 'bool'}, + 'client_cert_exclusion_paths': {'key': 'properties.clientCertExclusionPaths', 'type': 'str'}, + 'host_names_disabled': {'key': 'properties.hostNamesDisabled', 'type': 'bool'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIpAddresses', 'type': 'str'}, + 'possible_outbound_ip_addresses': {'key': 'properties.possibleOutboundIpAddresses', 'type': 'str'}, + 'container_size': {'key': 'properties.containerSize', 'type': 'int'}, + 'daily_memory_time_quota': {'key': 'properties.dailyMemoryTimeQuota', 'type': 'int'}, + 'suspended_till': {'key': 'properties.suspendedTill', 'type': 'iso-8601'}, + 'max_number_of_workers': {'key': 'properties.maxNumberOfWorkers', 'type': 'int'}, + 'cloning_info': {'key': 'properties.cloningInfo', 'type': 'CloningInfo'}, + 'resource_group': {'key': 'properties.resourceGroup', 'type': 'str'}, + 'is_default_container': {'key': 'properties.isDefaultContainer', 'type': 'bool'}, + 'default_host_name': {'key': 'properties.defaultHostName', 'type': 'str'}, + 'slot_swap_status': {'key': 'properties.slotSwapStatus', 'type': 'SlotSwapStatus'}, + 'https_only': {'key': 'properties.httpsOnly', 'type': 'bool'}, + 'redundancy_mode': {'key': 'properties.redundancyMode', 'type': 'RedundancyMode'}, + 'in_progress_operation_id': {'key': 'properties.inProgressOperationId', 'type': 'str'}, + 'geo_distributions': {'key': 'properties.geoDistributions', 'type': '[GeoDistribution]'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + } + + def __init__(self, *, location: str, kind: str=None, tags=None, enabled: bool=None, host_name_ssl_states=None, server_farm_id: str=None, reserved: bool=False, is_xenon: bool=False, hyper_v: bool=False, site_config=None, scm_site_also_stopped: bool=False, hosting_environment_profile=None, client_affinity_enabled: bool=None, client_cert_enabled: bool=None, client_cert_exclusion_paths: str=None, host_names_disabled: bool=None, container_size: int=None, daily_memory_time_quota: int=None, cloning_info=None, https_only: bool=None, redundancy_mode=None, geo_distributions=None, identity=None, **kwargs) -> None: + super(Site, self).__init__(kind=kind, location=location, tags=tags, **kwargs) + self.state = None + self.host_names = None + self.repository_site_name = None + self.usage_state = None + self.enabled = enabled + self.enabled_host_names = None + self.availability_state = None + self.host_name_ssl_states = host_name_ssl_states + self.server_farm_id = server_farm_id + self.reserved = reserved + self.is_xenon = is_xenon + self.hyper_v = hyper_v + self.last_modified_time_utc = None + self.site_config = site_config + self.traffic_manager_host_names = None + self.scm_site_also_stopped = scm_site_also_stopped + self.target_swap_slot = None + self.hosting_environment_profile = hosting_environment_profile + self.client_affinity_enabled = client_affinity_enabled + self.client_cert_enabled = client_cert_enabled + self.client_cert_exclusion_paths = client_cert_exclusion_paths + self.host_names_disabled = host_names_disabled + self.outbound_ip_addresses = None + self.possible_outbound_ip_addresses = None + self.container_size = container_size + self.daily_memory_time_quota = daily_memory_time_quota + self.suspended_till = None + self.max_number_of_workers = None + self.cloning_info = cloning_info + self.resource_group = None + self.is_default_container = None + self.default_host_name = None + self.slot_swap_status = None + self.https_only = https_only + self.redundancy_mode = redundancy_mode + self.in_progress_operation_id = None + self.geo_distributions = geo_distributions + self.identity = identity + + +class SiteConfig(Model): + """Configuration of an App Service app. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param number_of_workers: Number of workers. + :type number_of_workers: int + :param default_documents: Default documents. + :type default_documents: list[str] + :param net_framework_version: .NET Framework version. Default value: + "v4.6" . + :type net_framework_version: str + :param php_version: Version of PHP. + :type php_version: str + :param python_version: Version of Python. + :type python_version: str + :param node_version: Version of Node.js. + :type node_version: str + :param linux_fx_version: Linux App Framework and version + :type linux_fx_version: str + :param windows_fx_version: Xenon App Framework and version + :type windows_fx_version: str + :param request_tracing_enabled: true if request tracing is + enabled; otherwise, false. + :type request_tracing_enabled: bool + :param request_tracing_expiration_time: Request tracing expiration time. + :type request_tracing_expiration_time: datetime + :param remote_debugging_enabled: true if remote debugging is + enabled; otherwise, false. + :type remote_debugging_enabled: bool + :param remote_debugging_version: Remote debugging version. + :type remote_debugging_version: str + :param http_logging_enabled: true if HTTP logging is enabled; + otherwise, false. + :type http_logging_enabled: bool + :param logs_directory_size_limit: HTTP logs directory size limit. + :type logs_directory_size_limit: int + :param detailed_error_logging_enabled: true if detailed error + logging is enabled; otherwise, false. + :type detailed_error_logging_enabled: bool + :param publishing_username: Publishing user name. + :type publishing_username: str + :param app_settings: Application settings. + :type app_settings: list[~azure.mgmt.web.models.NameValuePair] + :param azure_storage_accounts: User-provided Azure storage accounts. + :type azure_storage_accounts: dict[str, + ~azure.mgmt.web.models.AzureStorageInfoValue] + :param connection_strings: Connection strings. + :type connection_strings: list[~azure.mgmt.web.models.ConnStringInfo] + :ivar machine_key: Site MachineKey. + :vartype machine_key: ~azure.mgmt.web.models.SiteMachineKey + :param handler_mappings: Handler mappings. + :type handler_mappings: list[~azure.mgmt.web.models.HandlerMapping] + :param document_root: Document root. + :type document_root: str + :param scm_type: SCM type. Possible values include: 'None', 'Dropbox', + 'Tfs', 'LocalGit', 'GitHub', 'CodePlexGit', 'CodePlexHg', 'BitbucketGit', + 'BitbucketHg', 'ExternalGit', 'ExternalHg', 'OneDrive', 'VSO' + :type scm_type: str or ~azure.mgmt.web.models.ScmType + :param use32_bit_worker_process: true to use 32-bit worker + process; otherwise, false. + :type use32_bit_worker_process: bool + :param web_sockets_enabled: true if WebSocket is enabled; + otherwise, false. + :type web_sockets_enabled: bool + :param always_on: true if Always On is enabled; otherwise, + false. + :type always_on: bool + :param java_version: Java version. + :type java_version: str + :param java_container: Java container. + :type java_container: str + :param java_container_version: Java container version. + :type java_container_version: str + :param app_command_line: App command line to launch. + :type app_command_line: str + :param managed_pipeline_mode: Managed pipeline mode. Possible values + include: 'Integrated', 'Classic' + :type managed_pipeline_mode: str or + ~azure.mgmt.web.models.ManagedPipelineMode + :param virtual_applications: Virtual applications. + :type virtual_applications: + list[~azure.mgmt.web.models.VirtualApplication] + :param load_balancing: Site load balancing. Possible values include: + 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', + 'WeightedTotalTraffic', 'RequestHash' + :type load_balancing: str or ~azure.mgmt.web.models.SiteLoadBalancing + :param experiments: This is work around for polymorphic types. + :type experiments: ~azure.mgmt.web.models.Experiments + :param limits: Site limits. + :type limits: ~azure.mgmt.web.models.SiteLimits + :param auto_heal_enabled: true if Auto Heal is enabled; + otherwise, false. + :type auto_heal_enabled: bool + :param auto_heal_rules: Auto Heal rules. + :type auto_heal_rules: ~azure.mgmt.web.models.AutoHealRules + :param tracing_options: Tracing options. + :type tracing_options: str + :param vnet_name: Virtual Network name. + :type vnet_name: str + :param cors: Cross-Origin Resource Sharing (CORS) settings. + :type cors: ~azure.mgmt.web.models.CorsSettings + :param push: Push endpoint settings. + :type push: ~azure.mgmt.web.models.PushSettings + :param api_definition: Information about the formal API definition for the + app. + :type api_definition: ~azure.mgmt.web.models.ApiDefinitionInfo + :param auto_swap_slot_name: Auto-swap slot name. + :type auto_swap_slot_name: str + :param local_my_sql_enabled: true to enable local MySQL; + otherwise, false. Default value: False . + :type local_my_sql_enabled: bool + :param managed_service_identity_id: Managed Service Identity Id + :type managed_service_identity_id: int + :param x_managed_service_identity_id: Explicit Managed Service Identity Id + :type x_managed_service_identity_id: int + :param ip_security_restrictions: IP security restrictions for main. + :type ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions: IP security restrictions for scm. + :type scm_ip_security_restrictions: + list[~azure.mgmt.web.models.IpSecurityRestriction] + :param scm_ip_security_restrictions_use_main: IP security restrictions for + scm to use main. + :type scm_ip_security_restrictions_use_main: bool + :param http20_enabled: Http20Enabled: configures a web site to allow + clients to connect over http2.0. Default value: True . + :type http20_enabled: bool + :param min_tls_version: MinTlsVersion: configures the minimum version of + TLS required for SSL requests. Possible values include: '1.0', '1.1', + '1.2' + :type min_tls_version: str or ~azure.mgmt.web.models.SupportedTlsVersions + :param ftps_state: State of FTP / FTPS service. Possible values include: + 'AllAllowed', 'FtpsOnly', 'Disabled' + :type ftps_state: str or ~azure.mgmt.web.models.FtpsState + :param reserved_instance_count: Number of reserved instances. + This setting only applies to the Consumption Plan + :type reserved_instance_count: int + """ + + _validation = { + 'machine_key': {'readonly': True}, + 'reserved_instance_count': {'maximum': 10, 'minimum': 0}, + } + + _attribute_map = { + 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'}, + 'default_documents': {'key': 'defaultDocuments', 'type': '[str]'}, + 'net_framework_version': {'key': 'netFrameworkVersion', 'type': 'str'}, + 'php_version': {'key': 'phpVersion', 'type': 'str'}, + 'python_version': {'key': 'pythonVersion', 'type': 'str'}, + 'node_version': {'key': 'nodeVersion', 'type': 'str'}, + 'linux_fx_version': {'key': 'linuxFxVersion', 'type': 'str'}, + 'windows_fx_version': {'key': 'windowsFxVersion', 'type': 'str'}, + 'request_tracing_enabled': {'key': 'requestTracingEnabled', 'type': 'bool'}, + 'request_tracing_expiration_time': {'key': 'requestTracingExpirationTime', 'type': 'iso-8601'}, + 'remote_debugging_enabled': {'key': 'remoteDebuggingEnabled', 'type': 'bool'}, + 'remote_debugging_version': {'key': 'remoteDebuggingVersion', 'type': 'str'}, + 'http_logging_enabled': {'key': 'httpLoggingEnabled', 'type': 'bool'}, + 'logs_directory_size_limit': {'key': 'logsDirectorySizeLimit', 'type': 'int'}, + 'detailed_error_logging_enabled': {'key': 'detailedErrorLoggingEnabled', 'type': 'bool'}, + 'publishing_username': {'key': 'publishingUsername', 'type': 'str'}, + 'app_settings': {'key': 'appSettings', 'type': '[NameValuePair]'}, + 'azure_storage_accounts': {'key': 'azureStorageAccounts', 'type': '{AzureStorageInfoValue}'}, + 'connection_strings': {'key': 'connectionStrings', 'type': '[ConnStringInfo]'}, + 'machine_key': {'key': 'machineKey', 'type': 'SiteMachineKey'}, + 'handler_mappings': {'key': 'handlerMappings', 'type': '[HandlerMapping]'}, + 'document_root': {'key': 'documentRoot', 'type': 'str'}, + 'scm_type': {'key': 'scmType', 'type': 'str'}, + 'use32_bit_worker_process': {'key': 'use32BitWorkerProcess', 'type': 'bool'}, + 'web_sockets_enabled': {'key': 'webSocketsEnabled', 'type': 'bool'}, + 'always_on': {'key': 'alwaysOn', 'type': 'bool'}, + 'java_version': {'key': 'javaVersion', 'type': 'str'}, + 'java_container': {'key': 'javaContainer', 'type': 'str'}, + 'java_container_version': {'key': 'javaContainerVersion', 'type': 'str'}, + 'app_command_line': {'key': 'appCommandLine', 'type': 'str'}, + 'managed_pipeline_mode': {'key': 'managedPipelineMode', 'type': 'ManagedPipelineMode'}, + 'virtual_applications': {'key': 'virtualApplications', 'type': '[VirtualApplication]'}, + 'load_balancing': {'key': 'loadBalancing', 'type': 'SiteLoadBalancing'}, + 'experiments': {'key': 'experiments', 'type': 'Experiments'}, + 'limits': {'key': 'limits', 'type': 'SiteLimits'}, + 'auto_heal_enabled': {'key': 'autoHealEnabled', 'type': 'bool'}, + 'auto_heal_rules': {'key': 'autoHealRules', 'type': 'AutoHealRules'}, + 'tracing_options': {'key': 'tracingOptions', 'type': 'str'}, + 'vnet_name': {'key': 'vnetName', 'type': 'str'}, + 'cors': {'key': 'cors', 'type': 'CorsSettings'}, + 'push': {'key': 'push', 'type': 'PushSettings'}, + 'api_definition': {'key': 'apiDefinition', 'type': 'ApiDefinitionInfo'}, + 'auto_swap_slot_name': {'key': 'autoSwapSlotName', 'type': 'str'}, + 'local_my_sql_enabled': {'key': 'localMySqlEnabled', 'type': 'bool'}, + 'managed_service_identity_id': {'key': 'managedServiceIdentityId', 'type': 'int'}, + 'x_managed_service_identity_id': {'key': 'xManagedServiceIdentityId', 'type': 'int'}, + 'ip_security_restrictions': {'key': 'ipSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions': {'key': 'scmIpSecurityRestrictions', 'type': '[IpSecurityRestriction]'}, + 'scm_ip_security_restrictions_use_main': {'key': 'scmIpSecurityRestrictionsUseMain', 'type': 'bool'}, + 'http20_enabled': {'key': 'http20Enabled', 'type': 'bool'}, + 'min_tls_version': {'key': 'minTlsVersion', 'type': 'str'}, + 'ftps_state': {'key': 'ftpsState', 'type': 'str'}, + 'reserved_instance_count': {'key': 'reservedInstanceCount', 'type': 'int'}, + } + + def __init__(self, *, number_of_workers: int=None, default_documents=None, net_framework_version: str="v4.6", php_version: str=None, python_version: str=None, node_version: str=None, linux_fx_version: str=None, windows_fx_version: str=None, request_tracing_enabled: bool=None, request_tracing_expiration_time=None, remote_debugging_enabled: bool=None, remote_debugging_version: str=None, http_logging_enabled: bool=None, logs_directory_size_limit: int=None, detailed_error_logging_enabled: bool=None, publishing_username: str=None, app_settings=None, azure_storage_accounts=None, connection_strings=None, handler_mappings=None, document_root: str=None, scm_type=None, use32_bit_worker_process: bool=None, web_sockets_enabled: bool=None, always_on: bool=None, java_version: str=None, java_container: str=None, java_container_version: str=None, app_command_line: str=None, managed_pipeline_mode=None, virtual_applications=None, load_balancing=None, experiments=None, limits=None, auto_heal_enabled: bool=None, auto_heal_rules=None, tracing_options: str=None, vnet_name: str=None, cors=None, push=None, api_definition=None, auto_swap_slot_name: str=None, local_my_sql_enabled: bool=False, managed_service_identity_id: int=None, x_managed_service_identity_id: int=None, ip_security_restrictions=None, scm_ip_security_restrictions=None, scm_ip_security_restrictions_use_main: bool=None, http20_enabled: bool=True, min_tls_version=None, ftps_state=None, reserved_instance_count: int=None, **kwargs) -> None: + super(SiteConfig, self).__init__(**kwargs) + self.number_of_workers = number_of_workers + self.default_documents = default_documents + self.net_framework_version = net_framework_version + self.php_version = php_version + self.python_version = python_version + self.node_version = node_version + self.linux_fx_version = linux_fx_version + self.windows_fx_version = windows_fx_version + self.request_tracing_enabled = request_tracing_enabled + self.request_tracing_expiration_time = request_tracing_expiration_time + self.remote_debugging_enabled = remote_debugging_enabled + self.remote_debugging_version = remote_debugging_version + self.http_logging_enabled = http_logging_enabled + self.logs_directory_size_limit = logs_directory_size_limit + self.detailed_error_logging_enabled = detailed_error_logging_enabled + self.publishing_username = publishing_username + self.app_settings = app_settings + self.azure_storage_accounts = azure_storage_accounts + self.connection_strings = connection_strings + self.machine_key = None + self.handler_mappings = handler_mappings + self.document_root = document_root + self.scm_type = scm_type + self.use32_bit_worker_process = use32_bit_worker_process + self.web_sockets_enabled = web_sockets_enabled + self.always_on = always_on + self.java_version = java_version + self.java_container = java_container + self.java_container_version = java_container_version + self.app_command_line = app_command_line + self.managed_pipeline_mode = managed_pipeline_mode + self.virtual_applications = virtual_applications + self.load_balancing = load_balancing + self.experiments = experiments + self.limits = limits + self.auto_heal_enabled = auto_heal_enabled + self.auto_heal_rules = auto_heal_rules + self.tracing_options = tracing_options + self.vnet_name = vnet_name + self.cors = cors + self.push = push + self.api_definition = api_definition + self.auto_swap_slot_name = auto_swap_slot_name + self.local_my_sql_enabled = local_my_sql_enabled + self.managed_service_identity_id = managed_service_identity_id + self.x_managed_service_identity_id = x_managed_service_identity_id + self.ip_security_restrictions = ip_security_restrictions + self.scm_ip_security_restrictions = scm_ip_security_restrictions + self.scm_ip_security_restrictions_use_main = scm_ip_security_restrictions_use_main + self.http20_enabled = http20_enabled + self.min_tls_version = min_tls_version + self.ftps_state = ftps_state + self.reserved_instance_count = reserved_instance_count + + +class SiteLimits(Model): + """Metric limits set on an app. + + :param max_percentage_cpu: Maximum allowed CPU usage percentage. + :type max_percentage_cpu: float + :param max_memory_in_mb: Maximum allowed memory usage in MB. + :type max_memory_in_mb: long + :param max_disk_size_in_mb: Maximum allowed disk size usage in MB. + :type max_disk_size_in_mb: long + """ + + _attribute_map = { + 'max_percentage_cpu': {'key': 'maxPercentageCpu', 'type': 'float'}, + 'max_memory_in_mb': {'key': 'maxMemoryInMb', 'type': 'long'}, + 'max_disk_size_in_mb': {'key': 'maxDiskSizeInMb', 'type': 'long'}, + } + + def __init__(self, *, max_percentage_cpu: float=None, max_memory_in_mb: int=None, max_disk_size_in_mb: int=None, **kwargs) -> None: + super(SiteLimits, self).__init__(**kwargs) + self.max_percentage_cpu = max_percentage_cpu + self.max_memory_in_mb = max_memory_in_mb + self.max_disk_size_in_mb = max_disk_size_in_mb + + +class SiteMachineKey(Model): + """MachineKey of an app. + + :param validation: MachineKey validation. + :type validation: str + :param validation_key: Validation key. + :type validation_key: str + :param decryption: Algorithm used for decryption. + :type decryption: str + :param decryption_key: Decryption key. + :type decryption_key: str + """ + + _attribute_map = { + 'validation': {'key': 'validation', 'type': 'str'}, + 'validation_key': {'key': 'validationKey', 'type': 'str'}, + 'decryption': {'key': 'decryption', 'type': 'str'}, + 'decryption_key': {'key': 'decryptionKey', 'type': 'str'}, + } + + def __init__(self, *, validation: str=None, validation_key: str=None, decryption: str=None, decryption_key: str=None, **kwargs) -> None: + super(SiteMachineKey, self).__init__(**kwargs) + self.validation = validation + self.validation_key = validation_key + self.decryption = decryption + self.decryption_key = decryption_key + + +class SkuCapacity(Model): + """Description of the App Service plan scale options. + + :param minimum: Minimum number of workers for this App Service plan SKU. + :type minimum: int + :param maximum: Maximum number of workers for this App Service plan SKU. + :type maximum: int + :param default: Default number of workers for this App Service plan SKU. + :type default: int + :param scale_type: Available scale configurations for an App Service plan. + :type scale_type: str + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__(self, *, minimum: int=None, maximum: int=None, default: int=None, scale_type: str=None, **kwargs) -> None: + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SkuDescription(Model): + """Description of a SKU for a scalable resource. + + :param name: Name of the resource SKU. + :type name: str + :param tier: Service tier of the resource SKU. + :type tier: str + :param size: Size specifier of the resource SKU. + :type size: str + :param family: Family code of the resource SKU. + :type family: str + :param capacity: Current number of instances assigned to the resource. + :type capacity: int + :param sku_capacity: Min, max, and default scale values of the SKU. + :type sku_capacity: ~azure.mgmt.web.models.SkuCapacity + :param locations: Locations of the SKU. + :type locations: list[str] + :param capabilities: Capabilities of the SKU, e.g., is traffic manager + enabled? + :type capabilities: list[~azure.mgmt.web.models.Capability] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + 'sku_capacity': {'key': 'skuCapacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, + } + + def __init__(self, *, name: str=None, tier: str=None, size: str=None, family: str=None, capacity: int=None, sku_capacity=None, locations=None, capabilities=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + self.sku_capacity = sku_capacity + self.locations = locations + self.capabilities = capabilities + + +class SlotSwapStatus(Model): + """The status of the last successful slot swap operation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar timestamp_utc: The time the last successful slot swap completed. + :vartype timestamp_utc: datetime + :ivar source_slot_name: The source slot of the last swap operation. + :vartype source_slot_name: str + :ivar destination_slot_name: The destination slot of the last swap + operation. + :vartype destination_slot_name: str + """ + + _validation = { + 'timestamp_utc': {'readonly': True}, + 'source_slot_name': {'readonly': True}, + 'destination_slot_name': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_utc': {'key': 'timestampUtc', 'type': 'iso-8601'}, + 'source_slot_name': {'key': 'sourceSlotName', 'type': 'str'}, + 'destination_slot_name': {'key': 'destinationSlotName', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(SlotSwapStatus, self).__init__(**kwargs) + self.timestamp_utc = None + self.source_slot_name = None + self.destination_slot_name = None + + +class SlowRequestsBasedTrigger(Model): + """Trigger based on request execution time. + + :param time_taken: Time taken. + :type time_taken: str + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'time_taken': {'key': 'timeTaken', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, time_taken: str=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(SlowRequestsBasedTrigger, self).__init__(**kwargs) + self.time_taken = time_taken + self.count = count + self.time_interval = time_interval + + +class Snapshot(ProxyOnlyResource): + """A snapshot of an app. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :ivar time: The time the snapshot was taken. + :vartype time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'time': {'key': 'properties.time', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, **kwargs) -> None: + super(Snapshot, self).__init__(kind=kind, **kwargs) + self.time = None + + +class StatusCodesBasedTrigger(Model): + """Trigger based on status code. + + :param status: HTTP status code. + :type status: int + :param sub_status: Request Sub Status. + :type sub_status: int + :param win32_status: Win32 error code. + :type win32_status: int + :param count: Request Count. + :type count: int + :param time_interval: Time interval. + :type time_interval: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'int'}, + 'sub_status': {'key': 'subStatus', 'type': 'int'}, + 'win32_status': {'key': 'win32Status', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'int'}, + 'time_interval': {'key': 'timeInterval', 'type': 'str'}, + } + + def __init__(self, *, status: int=None, sub_status: int=None, win32_status: int=None, count: int=None, time_interval: str=None, **kwargs) -> None: + super(StatusCodesBasedTrigger, self).__init__(**kwargs) + self.status = status + self.sub_status = sub_status + self.win32_status = win32_status + self.count = count + self.time_interval = time_interval + + +class User(ProxyOnlyResource): + """User credentials used for publishing activity. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param publishing_user_name: Required. Username used for publishing. + :type publishing_user_name: str + :param publishing_password: Password used for publishing. + :type publishing_password: str + :param publishing_password_hash: Password hash used for publishing. + :type publishing_password_hash: str + :param publishing_password_hash_salt: Password hash salt used for + publishing. + :type publishing_password_hash_salt: str + :param scm_uri: Url of SCM site. + :type scm_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'publishing_user_name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'publishing_user_name': {'key': 'properties.publishingUserName', 'type': 'str'}, + 'publishing_password': {'key': 'properties.publishingPassword', 'type': 'str'}, + 'publishing_password_hash': {'key': 'properties.publishingPasswordHash', 'type': 'str'}, + 'publishing_password_hash_salt': {'key': 'properties.publishingPasswordHashSalt', 'type': 'str'}, + 'scm_uri': {'key': 'properties.scmUri', 'type': 'str'}, + } + + def __init__(self, *, publishing_user_name: str, kind: str=None, publishing_password: str=None, publishing_password_hash: str=None, publishing_password_hash_salt: str=None, scm_uri: str=None, **kwargs) -> None: + super(User, self).__init__(kind=kind, **kwargs) + self.publishing_user_name = publishing_user_name + self.publishing_password = publishing_password + self.publishing_password_hash = publishing_password_hash + self.publishing_password_hash_salt = publishing_password_hash_salt + self.scm_uri = scm_uri + + +class VirtualApplication(Model): + """Virtual application in an app. + + :param virtual_path: Virtual path. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + :param preload_enabled: true if preloading is enabled; + otherwise, false. + :type preload_enabled: bool + :param virtual_directories: Virtual directories for virtual application. + :type virtual_directories: list[~azure.mgmt.web.models.VirtualDirectory] + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + 'preload_enabled': {'key': 'preloadEnabled', 'type': 'bool'}, + 'virtual_directories': {'key': 'virtualDirectories', 'type': '[VirtualDirectory]'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, preload_enabled: bool=None, virtual_directories=None, **kwargs) -> None: + super(VirtualApplication, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + self.preload_enabled = preload_enabled + self.virtual_directories = virtual_directories + + +class VirtualDirectory(Model): + """Directory for virtual application. + + :param virtual_path: Path to virtual application. + :type virtual_path: str + :param physical_path: Physical path. + :type physical_path: str + """ + + _attribute_map = { + 'virtual_path': {'key': 'virtualPath', 'type': 'str'}, + 'physical_path': {'key': 'physicalPath', 'type': 'str'}, + } + + def __init__(self, *, virtual_path: str=None, physical_path: str=None, **kwargs) -> None: + super(VirtualDirectory, self).__init__(**kwargs) + self.virtual_path = virtual_path + self.physical_path = physical_path + + +class VnetGateway(ProxyOnlyResource): + """The Virtual Network gateway contract. This is used to give the Virtual + Network gateway access to the VPN package. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_name: The Virtual Network name. + :type vnet_name: str + :param vpn_package_uri: Required. The URI where the VPN package can be + downloaded. + :type vpn_package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'vpn_package_uri': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_name': {'key': 'properties.vnetName', 'type': 'str'}, + 'vpn_package_uri': {'key': 'properties.vpnPackageUri', 'type': 'str'}, + } + + def __init__(self, *, vpn_package_uri: str, kind: str=None, vnet_name: str=None, **kwargs) -> None: + super(VnetGateway, self).__init__(kind=kind, **kwargs) + self.vnet_name = vnet_name + self.vpn_package_uri = vpn_package_uri + + +class VnetInfo(ProxyOnlyResource): + """Virtual Network information contract. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param vnet_resource_id: The Virtual Network's resource ID. + :type vnet_resource_id: str + :ivar cert_thumbprint: The client certificate thumbprint. + :vartype cert_thumbprint: str + :param cert_blob: A certificate file (.cer) blob containing the public key + of the private key used to authenticate a + Point-To-Site VPN connection. + :type cert_blob: str + :ivar routes: The routes that this Virtual Network connection uses. + :vartype routes: list[~azure.mgmt.web.models.VnetRoute] + :ivar resync_required: true if a resync is required; + otherwise, false. + :vartype resync_required: bool + :param dns_servers: DNS servers to be used by this Virtual Network. This + should be a comma-separated list of IP addresses. + :type dns_servers: str + :param is_swift: Flag that is used to denote if this is VNET injection + :type is_swift: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'cert_thumbprint': {'readonly': True}, + 'routes': {'readonly': True}, + 'resync_required': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'vnet_resource_id': {'key': 'properties.vnetResourceId', 'type': 'str'}, + 'cert_thumbprint': {'key': 'properties.certThumbprint', 'type': 'str'}, + 'cert_blob': {'key': 'properties.certBlob', 'type': 'str'}, + 'routes': {'key': 'properties.routes', 'type': '[VnetRoute]'}, + 'resync_required': {'key': 'properties.resyncRequired', 'type': 'bool'}, + 'dns_servers': {'key': 'properties.dnsServers', 'type': 'str'}, + 'is_swift': {'key': 'properties.isSwift', 'type': 'bool'}, + } + + def __init__(self, *, kind: str=None, vnet_resource_id: str=None, cert_blob: str=None, dns_servers: str=None, is_swift: bool=None, **kwargs) -> None: + super(VnetInfo, self).__init__(kind=kind, **kwargs) + self.vnet_resource_id = vnet_resource_id + self.cert_thumbprint = None + self.cert_blob = cert_blob + self.routes = None + self.resync_required = None + self.dns_servers = dns_servers + self.is_swift = is_swift + + +class VnetRoute(ProxyOnlyResource): + """Virtual Network route contract used to pass routing information for a + Virtual Network. + + 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 + :param kind: Kind of resource. + :type kind: str + :ivar type: Resource type. + :vartype type: str + :param start_address: The starting address for this route. This may also + include a CIDR notation, in which case the end address must not be + specified. + :type start_address: str + :param end_address: The ending address for this route. If the start + address is specified in CIDR notation, this must be omitted. + :type end_address: str + :param route_type: The type of route this is: + DEFAULT - By default, every app has routes to the local address ranges + specified by RFC1918 + INHERITED - Routes inherited from the real Virtual Network routes + STATIC - Static route set on the app only + These values will be used for syncing an app's routes with those from a + Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + :type route_type: str or ~azure.mgmt.web.models.RouteType + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_address': {'key': 'properties.startAddress', 'type': 'str'}, + 'end_address': {'key': 'properties.endAddress', 'type': 'str'}, + 'route_type': {'key': 'properties.routeType', 'type': 'str'}, + } + + def __init__(self, *, kind: str=None, start_address: str=None, end_address: str=None, route_type=None, **kwargs) -> None: + super(VnetRoute, self).__init__(kind=kind, **kwargs) + self.start_address = start_address + self.end_address = end_address + self.route_type = route_type diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_paged.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_paged_models.py similarity index 100% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/models/certificate_paged.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_paged_models.py diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_web_site_management_client_enums.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_web_site_management_client_enums.py new file mode 100644 index 000000000000..13703438d9ea --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/models/_web_site_management_client_enums.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. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class KeyVaultSecretStatus(str, Enum): + + initialized = "Initialized" + waiting_on_certificate_order = "WaitingOnCertificateOrder" + succeeded = "Succeeded" + certificate_order_failed = "CertificateOrderFailed" + operation_not_permitted_on_key_vault = "OperationNotPermittedOnKeyVault" + azure_service_unauthorized_to_access_key_vault = "AzureServiceUnauthorizedToAccessKeyVault" + key_vault_does_not_exist = "KeyVaultDoesNotExist" + key_vault_secret_does_not_exist = "KeyVaultSecretDoesNotExist" + unknown_error = "UnknownError" + external_private_key = "ExternalPrivateKey" + unknown = "Unknown" + + +class RouteType(str, Enum): + + default = "DEFAULT" + inherited = "INHERITED" + static = "STATIC" + + +class ManagedServiceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned, UserAssigned" + none = "None" + + +class IpFilterTag(str, Enum): + + default = "Default" + xff_proxy = "XffProxy" + + +class AutoHealActionType(str, Enum): + + recycle = "Recycle" + log_event = "LogEvent" + custom_action = "CustomAction" + + +class ConnectionStringType(str, Enum): + + my_sql = "MySql" + sql_server = "SQLServer" + sql_azure = "SQLAzure" + custom = "Custom" + notification_hub = "NotificationHub" + service_bus = "ServiceBus" + event_hub = "EventHub" + api_hub = "ApiHub" + doc_db = "DocDb" + redis_cache = "RedisCache" + postgre_sql = "PostgreSQL" + + +class AzureStorageType(str, Enum): + + azure_files = "AzureFiles" + azure_blob = "AzureBlob" + + +class AzureStorageState(str, Enum): + + ok = "Ok" + invalid_credentials = "InvalidCredentials" + invalid_share = "InvalidShare" + + +class ScmType(str, Enum): + + none = "None" + dropbox = "Dropbox" + tfs = "Tfs" + local_git = "LocalGit" + git_hub = "GitHub" + code_plex_git = "CodePlexGit" + code_plex_hg = "CodePlexHg" + bitbucket_git = "BitbucketGit" + bitbucket_hg = "BitbucketHg" + external_git = "ExternalGit" + external_hg = "ExternalHg" + one_drive = "OneDrive" + vso = "VSO" + + +class ManagedPipelineMode(str, Enum): + + integrated = "Integrated" + classic = "Classic" + + +class SiteLoadBalancing(str, Enum): + + weighted_round_robin = "WeightedRoundRobin" + least_requests = "LeastRequests" + least_response_time = "LeastResponseTime" + weighted_total_traffic = "WeightedTotalTraffic" + request_hash = "RequestHash" + + +class SupportedTlsVersions(str, Enum): + + one_full_stop_zero = "1.0" + one_full_stop_one = "1.1" + one_full_stop_two = "1.2" + + +class FtpsState(str, Enum): + + all_allowed = "AllAllowed" + ftps_only = "FtpsOnly" + disabled = "Disabled" + + +class SslState(str, Enum): + + disabled = "Disabled" + sni_enabled = "SniEnabled" + ip_based_enabled = "IpBasedEnabled" + + +class HostType(str, Enum): + + standard = "Standard" + repository = "Repository" + + +class UsageState(str, Enum): + + normal = "Normal" + exceeded = "Exceeded" + + +class SiteAvailabilityState(str, Enum): + + normal = "Normal" + limited = "Limited" + disaster_recovery_mode = "DisasterRecoveryMode" + + +class RedundancyMode(str, Enum): + + none = "None" + manual = "Manual" + failover = "Failover" + active_active = "ActiveActive" + geo_redundant = "GeoRedundant" + + +class StatusOptions(str, Enum): + + ready = "Ready" + pending = "Pending" + creating = "Creating" + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + canceled = "Canceled" + in_progress = "InProgress" + deleting = "Deleting" diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/operations/__init__.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/operations/__init__.py new file mode 100644 index 000000000000..4ae1c5953295 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_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 ._certificates_operations import CertificatesOperations + +__all__ = [ + 'CertificatesOperations', +] diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificates_operations.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/operations/_certificates_operations.py similarity index 96% rename from sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificates_operations.py rename to sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/operations/_certificates_operations.py index c6f8977ac099..affed9da9560 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/operations/certificates_operations.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/operations/_certificates_operations.py @@ -19,6 +19,8 @@ class CertificatesOperations(object): """CertificatesOperations operations. + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -54,8 +56,7 @@ def list( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list.metadata['url'] @@ -84,6 +85,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -92,12 +98,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates'} @@ -122,8 +126,7 @@ def list_by_resource_group( :raises: :class:`DefaultErrorResponseException` """ - def internal_paging(next_link=None, raw=False): - + def prepare_request(next_link=None): if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] @@ -153,6 +156,11 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + response = self._client.send(request, stream=False, **operation_config) if response.status_code not in [200]: @@ -161,12 +169,10 @@ def internal_paging(next_link=None, raw=False): return response # Deserialize response - deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies) - + header_dict = None if raw: header_dict = {} - client_raw_response = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response + deserialized = models.CertificatePaged(internal_paging, self._deserialize.dependencies, header_dict) return deserialized list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates'} @@ -224,7 +230,6 @@ def get( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Certificate', response) @@ -295,7 +300,6 @@ def create_or_update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Certificate', response) @@ -423,7 +427,6 @@ def update( raise models.DefaultErrorResponseException(self._deserialize, response) deserialized = None - if response.status_code == 200: deserialized = self._deserialize('Certificate', response) diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_01/version.py new file mode 100644 index 000000000000..ecde0bf79400 --- /dev/null +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/v2018_11_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 = "0.42.0" + diff --git a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/version.py b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/version.py index ecde0bf79400..5f49d7f1f9b5 100644 --- a/sdk/appservice/azure-mgmt-web/azure/mgmt/web/version.py +++ b/sdk/appservice/azure-mgmt-web/azure/mgmt/web/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.42.0" +VERSION = "0.43.0" diff --git a/sdk/appservice/azure-mgmt-web/setup.py b/sdk/appservice/azure-mgmt-web/setup.py index 8a7646d3300b..94c78a9a6443 100644 --- a/sdk/appservice/azure-mgmt-web/setup.py +++ b/sdk/appservice/azure-mgmt-web/setup.py @@ -64,7 +64,6 @@ 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7',