Source code for azure.mgmt.apimanagement.models._models_py3

# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by 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


[docs]class AccessInformationContract(Model): """Tenant access information contract of the API Management service. :param id: Identifier. :type id: str :param primary_key: Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type primary_key: str :param secondary_key: Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type secondary_key: str :param enabled: Determines whether direct access is enabled. :type enabled: bool """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'primary_key': {'key': 'primaryKey', 'type': 'str'}, 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, 'enabled': {'key': 'enabled', 'type': 'bool'}, } def __init__(self, *, id: str=None, primary_key: str=None, secondary_key: str=None, enabled: bool=None, **kwargs) -> None: super(AccessInformationContract, self).__init__(**kwargs) self.id = id self.primary_key = primary_key self.secondary_key = secondary_key self.enabled = enabled
[docs]class AccessInformationUpdateParameters(Model): """Tenant access information update parameters. :param enabled: Determines whether direct access is enabled. :type enabled: bool """ _attribute_map = { 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } def __init__(self, *, enabled: bool=None, **kwargs) -> None: super(AccessInformationUpdateParameters, self).__init__(**kwargs) self.enabled = enabled
[docs]class AdditionalLocation(Model): """Description of an additional API Management resource location. Variables are only 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 location: Required. The location name of the additional region among Azure Data center regions. :type location: str :param sku: Required. SKU properties of the API Management service. :type sku: ~azure.mgmt.apimanagement.models.ApiManagementServiceSkuProperties :ivar public_ip_addresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU. :vartype public_ip_addresses: list[str] :ivar private_ip_addresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard and Premium SKU. :vartype private_ip_addresses: list[str] :param virtual_network_configuration: Virtual network configuration for the location. :type virtual_network_configuration: ~azure.mgmt.apimanagement.models.VirtualNetworkConfiguration :ivar gateway_regional_url: Gateway URL of the API Management service in the Region. :vartype gateway_regional_url: str :param disable_gateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location. Default value: False . :type disable_gateway: bool """ _validation = { 'location': {'required': True}, 'sku': {'required': True}, 'public_ip_addresses': {'readonly': True}, 'private_ip_addresses': {'readonly': True}, 'gateway_regional_url': {'readonly': True}, } _attribute_map = { 'location': {'key': 'location', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'ApiManagementServiceSkuProperties'}, 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[str]'}, 'private_ip_addresses': {'key': 'privateIPAddresses', 'type': '[str]'}, 'virtual_network_configuration': {'key': 'virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, 'gateway_regional_url': {'key': 'gatewayRegionalUrl', 'type': 'str'}, 'disable_gateway': {'key': 'disableGateway', 'type': 'bool'}, } def __init__(self, *, location: str, sku, virtual_network_configuration=None, disable_gateway: bool=False, **kwargs) -> None: super(AdditionalLocation, self).__init__(**kwargs) self.location = location self.sku = sku self.public_ip_addresses = None self.private_ip_addresses = None self.virtual_network_configuration = virtual_network_configuration self.gateway_regional_url = None self.disable_gateway = disable_gateway
[docs]class Resource(Model): """The Resource 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 :ivar type: Resource type for API Management resource. :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'}, 'type': {'key': 'type', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None
[docs]class ApiContract(Resource): """Api details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool :param source_api_id: API identifier of the source API. :type source_api_id: str :param display_name: API name. Must be 1 to 300 characters long. :type display_name: str :param service_url: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. :type service_url: str :param path: Required. Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. :type path: str :param protocols: Describes on which protocols the operations in this API can be invoked. :type protocols: list[str or ~azure.mgmt.apimanagement.models.Protocol] :param api_version_set: Version set details :type api_version_set: ~azure.mgmt.apimanagement.models.ApiVersionSetContractDetails """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, 'display_name': {'max_length': 300, 'min_length': 1}, 'service_url': {'max_length': 2000, 'min_length': 0}, 'path': {'required': True, 'max_length': 400, 'min_length': 0}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'authentication_settings': {'key': 'properties.authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'properties.subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'properties.type', 'type': 'str'}, 'api_revision': {'key': 'properties.apiRevision', 'type': 'str'}, 'api_version': {'key': 'properties.apiVersion', 'type': 'str'}, 'is_current': {'key': 'properties.isCurrent', 'type': 'bool'}, 'is_online': {'key': 'properties.isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'properties.apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'properties.apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'properties.apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'properties.subscriptionRequired', 'type': 'bool'}, 'source_api_id': {'key': 'properties.sourceApiId', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'service_url': {'key': 'properties.serviceUrl', 'type': 'str'}, 'path': {'key': 'properties.path', 'type': 'str'}, 'protocols': {'key': 'properties.protocols', 'type': '[Protocol]'}, 'api_version_set': {'key': 'properties.apiVersionSet', 'type': 'ApiVersionSetContractDetails'}, } def __init__(self, *, path: str, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, source_api_id: str=None, display_name: str=None, service_url: str=None, protocols=None, api_version_set=None, **kwargs) -> None: super(ApiContract, self).__init__(**kwargs) self.description = description self.authentication_settings = authentication_settings self.subscription_key_parameter_names = subscription_key_parameter_names self.api_type = api_type self.api_revision = api_revision self.api_version = api_version self.is_current = is_current self.is_online = None self.api_revision_description = api_revision_description self.api_version_description = api_version_description self.api_version_set_id = api_version_set_id self.subscription_required = subscription_required self.source_api_id = source_api_id self.display_name = display_name self.service_url = service_url self.path = path self.protocols = protocols self.api_version_set = api_version_set
[docs]class ApiEntityBaseContract(Model): """API base contract details. Variables are only populated by the server, and will be ignored when sending a request. :param description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool """ _validation = { 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'authentication_settings': {'key': 'authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'type', 'type': 'str'}, 'api_revision': {'key': 'apiRevision', 'type': 'str'}, 'api_version': {'key': 'apiVersion', 'type': 'str'}, 'is_current': {'key': 'isCurrent', 'type': 'bool'}, 'is_online': {'key': 'isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'subscriptionRequired', 'type': 'bool'}, } def __init__(self, *, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, **kwargs) -> None: super(ApiEntityBaseContract, self).__init__(**kwargs) self.description = description self.authentication_settings = authentication_settings self.subscription_key_parameter_names = subscription_key_parameter_names self.api_type = api_type self.api_revision = api_revision self.api_version = api_version self.is_current = is_current self.is_online = None self.api_revision_description = api_revision_description self.api_version_description = api_version_description self.api_version_set_id = api_version_set_id self.subscription_required = subscription_required
[docs]class ApiContractProperties(ApiEntityBaseContract): """Api Entity Properties. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :param description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool :param source_api_id: API identifier of the source API. :type source_api_id: str :param display_name: API name. Must be 1 to 300 characters long. :type display_name: str :param service_url: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. :type service_url: str :param path: Required. Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. :type path: str :param protocols: Describes on which protocols the operations in this API can be invoked. :type protocols: list[str or ~azure.mgmt.apimanagement.models.Protocol] :param api_version_set: Version set details :type api_version_set: ~azure.mgmt.apimanagement.models.ApiVersionSetContractDetails """ _validation = { 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, 'display_name': {'max_length': 300, 'min_length': 1}, 'service_url': {'max_length': 2000, 'min_length': 0}, 'path': {'required': True, 'max_length': 400, 'min_length': 0}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'authentication_settings': {'key': 'authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'type', 'type': 'str'}, 'api_revision': {'key': 'apiRevision', 'type': 'str'}, 'api_version': {'key': 'apiVersion', 'type': 'str'}, 'is_current': {'key': 'isCurrent', 'type': 'bool'}, 'is_online': {'key': 'isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'subscriptionRequired', 'type': 'bool'}, 'source_api_id': {'key': 'sourceApiId', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'service_url': {'key': 'serviceUrl', 'type': 'str'}, 'path': {'key': 'path', 'type': 'str'}, 'protocols': {'key': 'protocols', 'type': '[Protocol]'}, 'api_version_set': {'key': 'apiVersionSet', 'type': 'ApiVersionSetContractDetails'}, } def __init__(self, *, path: str, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, source_api_id: str=None, display_name: str=None, service_url: str=None, protocols=None, api_version_set=None, **kwargs) -> None: super(ApiContractProperties, self).__init__(description=description, authentication_settings=authentication_settings, subscription_key_parameter_names=subscription_key_parameter_names, api_type=api_type, api_revision=api_revision, api_version=api_version, is_current=is_current, api_revision_description=api_revision_description, api_version_description=api_version_description, api_version_set_id=api_version_set_id, subscription_required=subscription_required, **kwargs) self.source_api_id = source_api_id self.display_name = display_name self.service_url = service_url self.path = path self.protocols = protocols self.api_version_set = api_version_set
[docs]class ApiCreateOrUpdateParameter(Model): """API Create or Update Parameters. Variables are only 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 description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool :param source_api_id: API identifier of the source API. :type source_api_id: str :param display_name: API name. Must be 1 to 300 characters long. :type display_name: str :param service_url: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long. :type service_url: str :param path: Required. Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. :type path: str :param protocols: Describes on which protocols the operations in this API can be invoked. :type protocols: list[str or ~azure.mgmt.apimanagement.models.Protocol] :param api_version_set: Version set details :type api_version_set: ~azure.mgmt.apimanagement.models.ApiVersionSetContractDetails :param value: Content value when Importing an API. :type value: str :param format: Format of the Content in which the API is getting imported. Possible values include: 'wadl-xml', 'wadl-link-json', 'swagger-json', 'swagger-link-json', 'wsdl', 'wsdl-link', 'openapi', 'openapi+json', 'openapi-link', 'openapi+json-link' :type format: str or ~azure.mgmt.apimanagement.models.ContentFormat :param wsdl_selector: Criteria to limit import of WSDL to a subset of the document. :type wsdl_selector: ~azure.mgmt.apimanagement.models.ApiCreateOrUpdatePropertiesWsdlSelector :param soap_api_type: Type of Api to create. * `http` creates a SOAP to REST API * `soap` creates a SOAP pass-through API. Possible values include: 'SoapToRest', 'SoapPassThrough' :type soap_api_type: str or ~azure.mgmt.apimanagement.models.SoapApiType """ _validation = { 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, 'display_name': {'max_length': 300, 'min_length': 1}, 'service_url': {'max_length': 2000, 'min_length': 0}, 'path': {'required': True, 'max_length': 400, 'min_length': 0}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'authentication_settings': {'key': 'properties.authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'properties.subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'properties.type', 'type': 'str'}, 'api_revision': {'key': 'properties.apiRevision', 'type': 'str'}, 'api_version': {'key': 'properties.apiVersion', 'type': 'str'}, 'is_current': {'key': 'properties.isCurrent', 'type': 'bool'}, 'is_online': {'key': 'properties.isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'properties.apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'properties.apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'properties.apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'properties.subscriptionRequired', 'type': 'bool'}, 'source_api_id': {'key': 'properties.sourceApiId', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'service_url': {'key': 'properties.serviceUrl', 'type': 'str'}, 'path': {'key': 'properties.path', 'type': 'str'}, 'protocols': {'key': 'properties.protocols', 'type': '[Protocol]'}, 'api_version_set': {'key': 'properties.apiVersionSet', 'type': 'ApiVersionSetContractDetails'}, 'value': {'key': 'properties.value', 'type': 'str'}, 'format': {'key': 'properties.format', 'type': 'str'}, 'wsdl_selector': {'key': 'properties.wsdlSelector', 'type': 'ApiCreateOrUpdatePropertiesWsdlSelector'}, 'soap_api_type': {'key': 'properties.apiType', 'type': 'str'}, } def __init__(self, *, path: str, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, source_api_id: str=None, display_name: str=None, service_url: str=None, protocols=None, api_version_set=None, value: str=None, format=None, wsdl_selector=None, soap_api_type=None, **kwargs) -> None: super(ApiCreateOrUpdateParameter, self).__init__(**kwargs) self.description = description self.authentication_settings = authentication_settings self.subscription_key_parameter_names = subscription_key_parameter_names self.api_type = api_type self.api_revision = api_revision self.api_version = api_version self.is_current = is_current self.is_online = None self.api_revision_description = api_revision_description self.api_version_description = api_version_description self.api_version_set_id = api_version_set_id self.subscription_required = subscription_required self.source_api_id = source_api_id self.display_name = display_name self.service_url = service_url self.path = path self.protocols = protocols self.api_version_set = api_version_set self.value = value self.format = format self.wsdl_selector = wsdl_selector self.soap_api_type = soap_api_type
[docs]class ApiCreateOrUpdatePropertiesWsdlSelector(Model): """Criteria to limit import of WSDL to a subset of the document. :param wsdl_service_name: Name of service to import from WSDL :type wsdl_service_name: str :param wsdl_endpoint_name: Name of endpoint(port) to import from WSDL :type wsdl_endpoint_name: str """ _attribute_map = { 'wsdl_service_name': {'key': 'wsdlServiceName', 'type': 'str'}, 'wsdl_endpoint_name': {'key': 'wsdlEndpointName', 'type': 'str'}, } def __init__(self, *, wsdl_service_name: str=None, wsdl_endpoint_name: str=None, **kwargs) -> None: super(ApiCreateOrUpdatePropertiesWsdlSelector, self).__init__(**kwargs) self.wsdl_service_name = wsdl_service_name self.wsdl_endpoint_name = wsdl_endpoint_name
[docs]class ApiExportResult(Model): """API Export result. :param id: ResourceId of the API which was exported. :type id: str :param export_result_format: Format in which the Api Details are exported to the Storage Blob with Sas Key valid for 5 minutes. Possible values include: 'Swagger', 'Wsdl', 'Wadl', 'OpenApi' :type export_result_format: str or ~azure.mgmt.apimanagement.models.ExportResultFormat :param value: The object defining the schema of the exported Api Detail :type value: ~azure.mgmt.apimanagement.models.ApiExportResultValue """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'export_result_format': {'key': 'format', 'type': 'str'}, 'value': {'key': 'value', 'type': 'ApiExportResultValue'}, } def __init__(self, *, id: str=None, export_result_format=None, value=None, **kwargs) -> None: super(ApiExportResult, self).__init__(**kwargs) self.id = id self.export_result_format = export_result_format self.value = value
[docs]class ApiExportResultValue(Model): """The object defining the schema of the exported Api Detail. :param link: Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes. :type link: str """ _attribute_map = { 'link': {'key': 'link', 'type': 'str'}, } def __init__(self, *, link: str=None, **kwargs) -> None: super(ApiExportResultValue, self).__init__(**kwargs) self.link = link
[docs]class ApiManagementServiceApplyNetworkConfigurationParameters(Model): """Parameter supplied to the Apply Network configuration operation. :param location: Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required. :type location: str """ _attribute_map = { 'location': {'key': 'location', 'type': 'str'}, } def __init__(self, *, location: str=None, **kwargs) -> None: super(ApiManagementServiceApplyNetworkConfigurationParameters, self).__init__(**kwargs) self.location = location
[docs]class ApiManagementServiceBackupRestoreParameters(Model): """Parameters supplied to the Backup/Restore of an API Management service operation. All required parameters must be populated in order to send to Azure. :param storage_account: Required. Azure Cloud Storage account (used to place/retrieve the backup) name. :type storage_account: str :param access_key: Required. Azure Cloud Storage account (used to place/retrieve the backup) access key. :type access_key: str :param container_name: Required. Azure Cloud Storage blob container name used to place/retrieve the backup. :type container_name: str :param backup_name: Required. The name of the backup file to create. :type backup_name: str """ _validation = { 'storage_account': {'required': True}, 'access_key': {'required': True}, 'container_name': {'required': True}, 'backup_name': {'required': True}, } _attribute_map = { 'storage_account': {'key': 'storageAccount', 'type': 'str'}, 'access_key': {'key': 'accessKey', 'type': 'str'}, 'container_name': {'key': 'containerName', 'type': 'str'}, 'backup_name': {'key': 'backupName', 'type': 'str'}, } def __init__(self, *, storage_account: str, access_key: str, container_name: str, backup_name: str, **kwargs) -> None: super(ApiManagementServiceBackupRestoreParameters, self).__init__(**kwargs) self.storage_account = storage_account self.access_key = access_key self.container_name = container_name self.backup_name = backup_name
[docs]class ApiManagementServiceBaseProperties(Model): """Base Properties of an API Management service resource description. Variables are only populated by the server, and will be ignored when sending a request. :param notification_sender_email: Email address from which the notification will be sent. :type notification_sender_email: str :ivar provisioning_state: The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. :vartype provisioning_state: str :ivar target_provisioning_state: The provisioning state of the API Management service, which is targeted by the long running operation started on the service. :vartype target_provisioning_state: str :ivar created_at_utc: Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :vartype created_at_utc: datetime :ivar gateway_url: Gateway URL of the API Management service. :vartype gateway_url: str :ivar gateway_regional_url: Gateway URL of the API Management service in the Default Region. :vartype gateway_regional_url: str :ivar portal_url: Publisher portal endpoint Url of the API Management service. :vartype portal_url: str :ivar management_api_url: Management API endpoint URL of the API Management service. :vartype management_api_url: str :ivar scm_url: SCM endpoint URL of the API Management service. :vartype scm_url: str :ivar developer_portal_url: DEveloper Portal endpoint URL of the API Management service. :vartype developer_portal_url: str :param hostname_configurations: Custom hostname configuration of the API Management service. :type hostname_configurations: list[~azure.mgmt.apimanagement.models.HostnameConfiguration] :ivar public_ip_addresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium SKU. :vartype public_ip_addresses: list[str] :ivar private_ip_addresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard and Premium SKU. :vartype private_ip_addresses: list[str] :param virtual_network_configuration: Virtual network configuration of the API Management service. :type virtual_network_configuration: ~azure.mgmt.apimanagement.models.VirtualNetworkConfiguration :param additional_locations: Additional datacenter locations of the API Management service. :type additional_locations: list[~azure.mgmt.apimanagement.models.AdditionalLocation] :param custom_properties: Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384 :type custom_properties: dict[str, str] :param certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. :type certificates: list[~azure.mgmt.apimanagement.models.CertificateConfiguration] :param enable_client_certificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. Default value: False . :type enable_client_certificate: bool :param disable_gateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. Default value: False . :type disable_gateway: bool :param virtual_network_type: The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. Possible values include: 'None', 'External', 'Internal'. Default value: "None" . :type virtual_network_type: str or ~azure.mgmt.apimanagement.models.VirtualNetworkType :param api_version_constraint: Control Plane Apis version constraint for the API Management service. :type api_version_constraint: ~azure.mgmt.apimanagement.models.ApiVersionConstraint """ _validation = { 'notification_sender_email': {'max_length': 100}, 'provisioning_state': {'readonly': True}, 'target_provisioning_state': {'readonly': True}, 'created_at_utc': {'readonly': True}, 'gateway_url': {'readonly': True}, 'gateway_regional_url': {'readonly': True}, 'portal_url': {'readonly': True}, 'management_api_url': {'readonly': True}, 'scm_url': {'readonly': True}, 'developer_portal_url': {'readonly': True}, 'public_ip_addresses': {'readonly': True}, 'private_ip_addresses': {'readonly': True}, } _attribute_map = { 'notification_sender_email': {'key': 'notificationSenderEmail', 'type': 'str'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'target_provisioning_state': {'key': 'targetProvisioningState', 'type': 'str'}, 'created_at_utc': {'key': 'createdAtUtc', 'type': 'iso-8601'}, 'gateway_url': {'key': 'gatewayUrl', 'type': 'str'}, 'gateway_regional_url': {'key': 'gatewayRegionalUrl', 'type': 'str'}, 'portal_url': {'key': 'portalUrl', 'type': 'str'}, 'management_api_url': {'key': 'managementApiUrl', 'type': 'str'}, 'scm_url': {'key': 'scmUrl', 'type': 'str'}, 'developer_portal_url': {'key': 'developerPortalUrl', 'type': 'str'}, 'hostname_configurations': {'key': 'hostnameConfigurations', 'type': '[HostnameConfiguration]'}, 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[str]'}, 'private_ip_addresses': {'key': 'privateIPAddresses', 'type': '[str]'}, 'virtual_network_configuration': {'key': 'virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, 'additional_locations': {'key': 'additionalLocations', 'type': '[AdditionalLocation]'}, 'custom_properties': {'key': 'customProperties', 'type': '{str}'}, 'certificates': {'key': 'certificates', 'type': '[CertificateConfiguration]'}, 'enable_client_certificate': {'key': 'enableClientCertificate', 'type': 'bool'}, 'disable_gateway': {'key': 'disableGateway', 'type': 'bool'}, 'virtual_network_type': {'key': 'virtualNetworkType', 'type': 'str'}, 'api_version_constraint': {'key': 'apiVersionConstraint', 'type': 'ApiVersionConstraint'}, } def __init__(self, *, notification_sender_email: str=None, hostname_configurations=None, virtual_network_configuration=None, additional_locations=None, custom_properties=None, certificates=None, enable_client_certificate: bool=False, disable_gateway: bool=False, virtual_network_type="None", api_version_constraint=None, **kwargs) -> None: super(ApiManagementServiceBaseProperties, self).__init__(**kwargs) self.notification_sender_email = notification_sender_email self.provisioning_state = None self.target_provisioning_state = None self.created_at_utc = None self.gateway_url = None self.gateway_regional_url = None self.portal_url = None self.management_api_url = None self.scm_url = None self.developer_portal_url = None self.hostname_configurations = hostname_configurations self.public_ip_addresses = None self.private_ip_addresses = None self.virtual_network_configuration = virtual_network_configuration self.additional_locations = additional_locations self.custom_properties = custom_properties self.certificates = certificates self.enable_client_certificate = enable_client_certificate self.disable_gateway = disable_gateway self.virtual_network_type = virtual_network_type self.api_version_constraint = api_version_constraint
[docs]class ApiManagementServiceCheckNameAvailabilityParameters(Model): """Parameters supplied to the CheckNameAvailability operation. All required parameters must be populated in order to send to Azure. :param name: Required. The name to check for availability. :type name: str """ _validation = { 'name': {'required': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, name: str, **kwargs) -> None: super(ApiManagementServiceCheckNameAvailabilityParameters, self).__init__(**kwargs) self.name = name
[docs]class ApiManagementServiceGetSsoTokenResult(Model): """The response of the GetSsoToken operation. :param redirect_uri: Redirect URL to the Publisher Portal containing the SSO token. :type redirect_uri: str """ _attribute_map = { 'redirect_uri': {'key': 'redirectUri', 'type': 'str'}, } def __init__(self, *, redirect_uri: str=None, **kwargs) -> None: super(ApiManagementServiceGetSsoTokenResult, self).__init__(**kwargs) self.redirect_uri = redirect_uri
[docs]class ApiManagementServiceIdentity(Model): """Identity properties of the Api Management service 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. :param type: Required. The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' :type type: str or ~azure.mgmt.apimanagement.models.ApimIdentityType :ivar principal_id: The principal id of the identity. :vartype principal_id: str :ivar tenant_id: The client tenant id of the identity. :vartype tenant_id: str :param user_assigned_identities: The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. :type user_assigned_identities: dict[str, ~azure.mgmt.apimanagement.models.UserIdentityProperties] """ _validation = { 'type': {'required': True}, 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, } _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserIdentityProperties}'}, } def __init__(self, *, type, user_assigned_identities=None, **kwargs) -> None: super(ApiManagementServiceIdentity, self).__init__(**kwargs) self.type = type self.principal_id = None self.tenant_id = None self.user_assigned_identities = user_assigned_identities
[docs]class ApiManagementServiceNameAvailabilityResult(Model): """Response of the CheckNameAvailability operation. Variables are only populated by the server, and will be ignored when sending a request. :ivar name_available: True if the name is available and can be used to create a new API Management service; otherwise false. :vartype name_available: bool :ivar 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 <resourceName> is already in use, and direct them to select a different name. :vartype message: str :param reason: Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable. Possible values include: 'Valid', 'Invalid', 'AlreadyExists' :type reason: str or ~azure.mgmt.apimanagement.models.NameAvailabilityReason """ _validation = { 'name_available': {'readonly': True}, 'message': {'readonly': True}, } _attribute_map = { 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, 'message': {'key': 'message', 'type': 'str'}, 'reason': {'key': 'reason', 'type': 'NameAvailabilityReason'}, } def __init__(self, *, reason=None, **kwargs) -> None: super(ApiManagementServiceNameAvailabilityResult, self).__init__(**kwargs) self.name_available = None self.message = None self.reason = reason
[docs]class ApimResource(Model): """The Resource 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 :ivar type: Resource type for API Management resource is set to Microsoft.ApiManagement. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, tags=None, **kwargs) -> None: super(ApimResource, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.tags = tags
[docs]class ApiManagementServiceResource(ApimResource): """A single API Management service resource in List or Get response. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource is set to Microsoft.ApiManagement. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] :param notification_sender_email: Email address from which the notification will be sent. :type notification_sender_email: str :ivar provisioning_state: The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. :vartype provisioning_state: str :ivar target_provisioning_state: The provisioning state of the API Management service, which is targeted by the long running operation started on the service. :vartype target_provisioning_state: str :ivar created_at_utc: Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :vartype created_at_utc: datetime :ivar gateway_url: Gateway URL of the API Management service. :vartype gateway_url: str :ivar gateway_regional_url: Gateway URL of the API Management service in the Default Region. :vartype gateway_regional_url: str :ivar portal_url: Publisher portal endpoint Url of the API Management service. :vartype portal_url: str :ivar management_api_url: Management API endpoint URL of the API Management service. :vartype management_api_url: str :ivar scm_url: SCM endpoint URL of the API Management service. :vartype scm_url: str :ivar developer_portal_url: DEveloper Portal endpoint URL of the API Management service. :vartype developer_portal_url: str :param hostname_configurations: Custom hostname configuration of the API Management service. :type hostname_configurations: list[~azure.mgmt.apimanagement.models.HostnameConfiguration] :ivar public_ip_addresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium SKU. :vartype public_ip_addresses: list[str] :ivar private_ip_addresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard and Premium SKU. :vartype private_ip_addresses: list[str] :param virtual_network_configuration: Virtual network configuration of the API Management service. :type virtual_network_configuration: ~azure.mgmt.apimanagement.models.VirtualNetworkConfiguration :param additional_locations: Additional datacenter locations of the API Management service. :type additional_locations: list[~azure.mgmt.apimanagement.models.AdditionalLocation] :param custom_properties: Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384 :type custom_properties: dict[str, str] :param certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. :type certificates: list[~azure.mgmt.apimanagement.models.CertificateConfiguration] :param enable_client_certificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. Default value: False . :type enable_client_certificate: bool :param disable_gateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. Default value: False . :type disable_gateway: bool :param virtual_network_type: The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. Possible values include: 'None', 'External', 'Internal'. Default value: "None" . :type virtual_network_type: str or ~azure.mgmt.apimanagement.models.VirtualNetworkType :param api_version_constraint: Control Plane Apis version constraint for the API Management service. :type api_version_constraint: ~azure.mgmt.apimanagement.models.ApiVersionConstraint :param publisher_email: Required. Publisher email. :type publisher_email: str :param publisher_name: Required. Publisher name. :type publisher_name: str :param sku: Required. SKU properties of the API Management service. :type sku: ~azure.mgmt.apimanagement.models.ApiManagementServiceSkuProperties :param identity: Managed service identity of the Api Management service. :type identity: ~azure.mgmt.apimanagement.models.ApiManagementServiceIdentity :param location: Required. Resource location. :type location: str :ivar etag: ETag of the resource. :vartype etag: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'notification_sender_email': {'max_length': 100}, 'provisioning_state': {'readonly': True}, 'target_provisioning_state': {'readonly': True}, 'created_at_utc': {'readonly': True}, 'gateway_url': {'readonly': True}, 'gateway_regional_url': {'readonly': True}, 'portal_url': {'readonly': True}, 'management_api_url': {'readonly': True}, 'scm_url': {'readonly': True}, 'developer_portal_url': {'readonly': True}, 'public_ip_addresses': {'readonly': True}, 'private_ip_addresses': {'readonly': True}, 'publisher_email': {'required': True, 'max_length': 100}, 'publisher_name': {'required': True, 'max_length': 100}, 'sku': {'required': True}, 'location': {'required': True}, 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'notification_sender_email': {'key': 'properties.notificationSenderEmail', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'target_provisioning_state': {'key': 'properties.targetProvisioningState', 'type': 'str'}, 'created_at_utc': {'key': 'properties.createdAtUtc', 'type': 'iso-8601'}, 'gateway_url': {'key': 'properties.gatewayUrl', 'type': 'str'}, 'gateway_regional_url': {'key': 'properties.gatewayRegionalUrl', 'type': 'str'}, 'portal_url': {'key': 'properties.portalUrl', 'type': 'str'}, 'management_api_url': {'key': 'properties.managementApiUrl', 'type': 'str'}, 'scm_url': {'key': 'properties.scmUrl', 'type': 'str'}, 'developer_portal_url': {'key': 'properties.developerPortalUrl', 'type': 'str'}, 'hostname_configurations': {'key': 'properties.hostnameConfigurations', 'type': '[HostnameConfiguration]'}, 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[str]'}, 'private_ip_addresses': {'key': 'properties.privateIPAddresses', 'type': '[str]'}, 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, 'additional_locations': {'key': 'properties.additionalLocations', 'type': '[AdditionalLocation]'}, 'custom_properties': {'key': 'properties.customProperties', 'type': '{str}'}, 'certificates': {'key': 'properties.certificates', 'type': '[CertificateConfiguration]'}, 'enable_client_certificate': {'key': 'properties.enableClientCertificate', 'type': 'bool'}, 'disable_gateway': {'key': 'properties.disableGateway', 'type': 'bool'}, 'virtual_network_type': {'key': 'properties.virtualNetworkType', 'type': 'str'}, 'api_version_constraint': {'key': 'properties.apiVersionConstraint', 'type': 'ApiVersionConstraint'}, 'publisher_email': {'key': 'properties.publisherEmail', 'type': 'str'}, 'publisher_name': {'key': 'properties.publisherName', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'ApiManagementServiceSkuProperties'}, 'identity': {'key': 'identity', 'type': 'ApiManagementServiceIdentity'}, 'location': {'key': 'location', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } def __init__(self, *, publisher_email: str, publisher_name: str, sku, location: str, tags=None, notification_sender_email: str=None, hostname_configurations=None, virtual_network_configuration=None, additional_locations=None, custom_properties=None, certificates=None, enable_client_certificate: bool=False, disable_gateway: bool=False, virtual_network_type="None", api_version_constraint=None, identity=None, **kwargs) -> None: super(ApiManagementServiceResource, self).__init__(tags=tags, **kwargs) self.notification_sender_email = notification_sender_email self.provisioning_state = None self.target_provisioning_state = None self.created_at_utc = None self.gateway_url = None self.gateway_regional_url = None self.portal_url = None self.management_api_url = None self.scm_url = None self.developer_portal_url = None self.hostname_configurations = hostname_configurations self.public_ip_addresses = None self.private_ip_addresses = None self.virtual_network_configuration = virtual_network_configuration self.additional_locations = additional_locations self.custom_properties = custom_properties self.certificates = certificates self.enable_client_certificate = enable_client_certificate self.disable_gateway = disable_gateway self.virtual_network_type = virtual_network_type self.api_version_constraint = api_version_constraint self.publisher_email = publisher_email self.publisher_name = publisher_name self.sku = sku self.identity = identity self.location = location self.etag = None
[docs]class ApiManagementServiceSkuProperties(Model): """API Management service resource SKU properties. All required parameters must be populated in order to send to Azure. :param name: Required. Name of the Sku. Possible values include: 'Developer', 'Standard', 'Premium', 'Basic', 'Consumption' :type name: str or ~azure.mgmt.apimanagement.models.SkuType :param capacity: Required. Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0. :type capacity: int """ _validation = { 'name': {'required': True}, 'capacity': {'required': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'capacity': {'key': 'capacity', 'type': 'int'}, } def __init__(self, *, name, capacity: int, **kwargs) -> None: super(ApiManagementServiceSkuProperties, self).__init__(**kwargs) self.name = name self.capacity = capacity
[docs]class ApiManagementServiceUpdateParameters(ApimResource): """Parameter supplied to Update Api Management Service. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource is set to Microsoft.ApiManagement. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] :param notification_sender_email: Email address from which the notification will be sent. :type notification_sender_email: str :ivar provisioning_state: The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. :vartype provisioning_state: str :ivar target_provisioning_state: The provisioning state of the API Management service, which is targeted by the long running operation started on the service. :vartype target_provisioning_state: str :ivar created_at_utc: Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :vartype created_at_utc: datetime :ivar gateway_url: Gateway URL of the API Management service. :vartype gateway_url: str :ivar gateway_regional_url: Gateway URL of the API Management service in the Default Region. :vartype gateway_regional_url: str :ivar portal_url: Publisher portal endpoint Url of the API Management service. :vartype portal_url: str :ivar management_api_url: Management API endpoint URL of the API Management service. :vartype management_api_url: str :ivar scm_url: SCM endpoint URL of the API Management service. :vartype scm_url: str :ivar developer_portal_url: DEveloper Portal endpoint URL of the API Management service. :vartype developer_portal_url: str :param hostname_configurations: Custom hostname configuration of the API Management service. :type hostname_configurations: list[~azure.mgmt.apimanagement.models.HostnameConfiguration] :ivar public_ip_addresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium SKU. :vartype public_ip_addresses: list[str] :ivar private_ip_addresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard and Premium SKU. :vartype private_ip_addresses: list[str] :param virtual_network_configuration: Virtual network configuration of the API Management service. :type virtual_network_configuration: ~azure.mgmt.apimanagement.models.VirtualNetworkConfiguration :param additional_locations: Additional datacenter locations of the API Management service. :type additional_locations: list[~azure.mgmt.apimanagement.models.AdditionalLocation] :param custom_properties: Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384 :type custom_properties: dict[str, str] :param certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10. :type certificates: list[~azure.mgmt.apimanagement.models.CertificateConfiguration] :param enable_client_certificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway. Default value: False . :type enable_client_certificate: bool :param disable_gateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region. Default value: False . :type disable_gateway: bool :param virtual_network_type: The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only. Possible values include: 'None', 'External', 'Internal'. Default value: "None" . :type virtual_network_type: str or ~azure.mgmt.apimanagement.models.VirtualNetworkType :param api_version_constraint: Control Plane Apis version constraint for the API Management service. :type api_version_constraint: ~azure.mgmt.apimanagement.models.ApiVersionConstraint :param publisher_email: Publisher email. :type publisher_email: str :param publisher_name: Publisher name. :type publisher_name: str :param sku: SKU properties of the API Management service. :type sku: ~azure.mgmt.apimanagement.models.ApiManagementServiceSkuProperties :param identity: Managed service identity of the Api Management service. :type identity: ~azure.mgmt.apimanagement.models.ApiManagementServiceIdentity :ivar etag: ETag of the resource. :vartype etag: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'notification_sender_email': {'max_length': 100}, 'provisioning_state': {'readonly': True}, 'target_provisioning_state': {'readonly': True}, 'created_at_utc': {'readonly': True}, 'gateway_url': {'readonly': True}, 'gateway_regional_url': {'readonly': True}, 'portal_url': {'readonly': True}, 'management_api_url': {'readonly': True}, 'scm_url': {'readonly': True}, 'developer_portal_url': {'readonly': True}, 'public_ip_addresses': {'readonly': True}, 'private_ip_addresses': {'readonly': True}, 'publisher_email': {'max_length': 100}, 'publisher_name': {'max_length': 100}, 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'notification_sender_email': {'key': 'properties.notificationSenderEmail', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'target_provisioning_state': {'key': 'properties.targetProvisioningState', 'type': 'str'}, 'created_at_utc': {'key': 'properties.createdAtUtc', 'type': 'iso-8601'}, 'gateway_url': {'key': 'properties.gatewayUrl', 'type': 'str'}, 'gateway_regional_url': {'key': 'properties.gatewayRegionalUrl', 'type': 'str'}, 'portal_url': {'key': 'properties.portalUrl', 'type': 'str'}, 'management_api_url': {'key': 'properties.managementApiUrl', 'type': 'str'}, 'scm_url': {'key': 'properties.scmUrl', 'type': 'str'}, 'developer_portal_url': {'key': 'properties.developerPortalUrl', 'type': 'str'}, 'hostname_configurations': {'key': 'properties.hostnameConfigurations', 'type': '[HostnameConfiguration]'}, 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[str]'}, 'private_ip_addresses': {'key': 'properties.privateIPAddresses', 'type': '[str]'}, 'virtual_network_configuration': {'key': 'properties.virtualNetworkConfiguration', 'type': 'VirtualNetworkConfiguration'}, 'additional_locations': {'key': 'properties.additionalLocations', 'type': '[AdditionalLocation]'}, 'custom_properties': {'key': 'properties.customProperties', 'type': '{str}'}, 'certificates': {'key': 'properties.certificates', 'type': '[CertificateConfiguration]'}, 'enable_client_certificate': {'key': 'properties.enableClientCertificate', 'type': 'bool'}, 'disable_gateway': {'key': 'properties.disableGateway', 'type': 'bool'}, 'virtual_network_type': {'key': 'properties.virtualNetworkType', 'type': 'str'}, 'api_version_constraint': {'key': 'properties.apiVersionConstraint', 'type': 'ApiVersionConstraint'}, 'publisher_email': {'key': 'properties.publisherEmail', 'type': 'str'}, 'publisher_name': {'key': 'properties.publisherName', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'ApiManagementServiceSkuProperties'}, 'identity': {'key': 'identity', 'type': 'ApiManagementServiceIdentity'}, 'etag': {'key': 'etag', 'type': 'str'}, } def __init__(self, *, tags=None, notification_sender_email: str=None, hostname_configurations=None, virtual_network_configuration=None, additional_locations=None, custom_properties=None, certificates=None, enable_client_certificate: bool=False, disable_gateway: bool=False, virtual_network_type="None", api_version_constraint=None, publisher_email: str=None, publisher_name: str=None, sku=None, identity=None, **kwargs) -> None: super(ApiManagementServiceUpdateParameters, self).__init__(tags=tags, **kwargs) self.notification_sender_email = notification_sender_email self.provisioning_state = None self.target_provisioning_state = None self.created_at_utc = None self.gateway_url = None self.gateway_regional_url = None self.portal_url = None self.management_api_url = None self.scm_url = None self.developer_portal_url = None self.hostname_configurations = hostname_configurations self.public_ip_addresses = None self.private_ip_addresses = None self.virtual_network_configuration = virtual_network_configuration self.additional_locations = additional_locations self.custom_properties = custom_properties self.certificates = certificates self.enable_client_certificate = enable_client_certificate self.disable_gateway = disable_gateway self.virtual_network_type = virtual_network_type self.api_version_constraint = api_version_constraint self.publisher_email = publisher_email self.publisher_name = publisher_name self.sku = sku self.identity = identity self.etag = None
[docs]class ApiReleaseContract(Resource): """ApiRelease details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param api_id: Identifier of the API the release belongs to. :type api_id: str :ivar created_date_time: The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. :vartype created_date_time: datetime :ivar updated_date_time: The time the API release was updated. :vartype updated_date_time: datetime :param notes: Release Notes :type notes: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date_time': {'readonly': True}, 'updated_date_time': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'api_id': {'key': 'properties.apiId', 'type': 'str'}, 'created_date_time': {'key': 'properties.createdDateTime', 'type': 'iso-8601'}, 'updated_date_time': {'key': 'properties.updatedDateTime', 'type': 'iso-8601'}, 'notes': {'key': 'properties.notes', 'type': 'str'}, } def __init__(self, *, api_id: str=None, notes: str=None, **kwargs) -> None: super(ApiReleaseContract, self).__init__(**kwargs) self.api_id = api_id self.created_date_time = None self.updated_date_time = None self.notes = notes
[docs]class ApiRevisionContract(Model): """Summary of revision metadata. Variables are only populated by the server, and will be ignored when sending a request. :ivar api_id: Identifier of the API Revision. :vartype api_id: str :ivar api_revision: Revision number of API. :vartype api_revision: str :ivar created_date_time: The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. :vartype created_date_time: datetime :ivar updated_date_time: The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. :vartype updated_date_time: datetime :ivar description: Description of the API Revision. :vartype description: str :ivar private_url: Gateway URL for accessing the non-current API Revision. :vartype private_url: str :ivar is_online: Indicates if API revision is the current api revision. :vartype is_online: bool :ivar is_current: Indicates if API revision is accessible via the gateway. :vartype is_current: bool """ _validation = { 'api_id': {'readonly': True}, 'api_revision': {'readonly': True, 'max_length': 100, 'min_length': 1}, 'created_date_time': {'readonly': True}, 'updated_date_time': {'readonly': True}, 'description': {'readonly': True, 'max_length': 256}, 'private_url': {'readonly': True}, 'is_online': {'readonly': True}, 'is_current': {'readonly': True}, } _attribute_map = { 'api_id': {'key': 'apiId', 'type': 'str'}, 'api_revision': {'key': 'apiRevision', 'type': 'str'}, 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 'updated_date_time': {'key': 'updatedDateTime', 'type': 'iso-8601'}, 'description': {'key': 'description', 'type': 'str'}, 'private_url': {'key': 'privateUrl', 'type': 'str'}, 'is_online': {'key': 'isOnline', 'type': 'bool'}, 'is_current': {'key': 'isCurrent', 'type': 'bool'}, } def __init__(self, **kwargs) -> None: super(ApiRevisionContract, self).__init__(**kwargs) self.api_id = None self.api_revision = None self.created_date_time = None self.updated_date_time = None self.description = None self.private_url = None self.is_online = None self.is_current = None
[docs]class ApiRevisionInfoContract(Model): """Object used to create an API Revision or Version based on an existing API Revision. :param source_api_id: Resource identifier of API to be used to create the revision from. :type source_api_id: str :param api_version_name: Version identifier for the new API Version. :type api_version_name: str :param api_revision_description: Description of new API Revision. :type api_revision_description: str :param api_version_set: Version set details :type api_version_set: ~azure.mgmt.apimanagement.models.ApiVersionSetContractDetails """ _validation = { 'api_version_name': {'max_length': 100}, 'api_revision_description': {'max_length': 256}, } _attribute_map = { 'source_api_id': {'key': 'sourceApiId', 'type': 'str'}, 'api_version_name': {'key': 'apiVersionName', 'type': 'str'}, 'api_revision_description': {'key': 'apiRevisionDescription', 'type': 'str'}, 'api_version_set': {'key': 'apiVersionSet', 'type': 'ApiVersionSetContractDetails'}, } def __init__(self, *, source_api_id: str=None, api_version_name: str=None, api_revision_description: str=None, api_version_set=None, **kwargs) -> None: super(ApiRevisionInfoContract, self).__init__(**kwargs) self.source_api_id = source_api_id self.api_version_name = api_version_name self.api_revision_description = api_revision_description self.api_version_set = api_version_set
[docs]class ApiTagResourceContractProperties(ApiEntityBaseContract): """API contract properties for the Tag Resources. Variables are only populated by the server, and will be ignored when sending a request. :param description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool :param id: API identifier in the form /apis/{apiId}. :type id: str :param name: API name. :type name: str :param service_url: Absolute URL of the backend service implementing this API. :type service_url: str :param path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. :type path: str :param protocols: Describes on which protocols the operations in this API can be invoked. :type protocols: list[str or ~azure.mgmt.apimanagement.models.Protocol] """ _validation = { 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, 'name': {'max_length': 300, 'min_length': 1}, 'service_url': {'max_length': 2000, 'min_length': 1}, 'path': {'max_length': 400, 'min_length': 0}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'authentication_settings': {'key': 'authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'type', 'type': 'str'}, 'api_revision': {'key': 'apiRevision', 'type': 'str'}, 'api_version': {'key': 'apiVersion', 'type': 'str'}, 'is_current': {'key': 'isCurrent', 'type': 'bool'}, 'is_online': {'key': 'isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'subscriptionRequired', 'type': 'bool'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'service_url': {'key': 'serviceUrl', 'type': 'str'}, 'path': {'key': 'path', 'type': 'str'}, 'protocols': {'key': 'protocols', 'type': '[Protocol]'}, } def __init__(self, *, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, id: str=None, name: str=None, service_url: str=None, path: str=None, protocols=None, **kwargs) -> None: super(ApiTagResourceContractProperties, self).__init__(description=description, authentication_settings=authentication_settings, subscription_key_parameter_names=subscription_key_parameter_names, api_type=api_type, api_revision=api_revision, api_version=api_version, is_current=is_current, api_revision_description=api_revision_description, api_version_description=api_version_description, api_version_set_id=api_version_set_id, subscription_required=subscription_required, **kwargs) self.id = id self.name = name self.service_url = service_url self.path = path self.protocols = protocols
[docs]class ApiUpdateContract(Model): """API update contract details. Variables are only populated by the server, and will be ignored when sending a request. :param description: Description of the API. May include HTML formatting tags. :type description: str :param authentication_settings: Collection of authentication settings included into this API. :type authentication_settings: ~azure.mgmt.apimanagement.models.AuthenticationSettingsContract :param subscription_key_parameter_names: Protocols over which API is made available. :type subscription_key_parameter_names: ~azure.mgmt.apimanagement.models.SubscriptionKeyParameterNamesContract :param api_type: Type of API. Possible values include: 'http', 'soap' :type api_type: str or ~azure.mgmt.apimanagement.models.ApiType :param api_revision: Describes the Revision of the Api. If no value is provided, default revision 1 is created :type api_revision: str :param api_version: Indicates the Version identifier of the API if the API is versioned :type api_version: str :param is_current: Indicates if API revision is current api revision. :type is_current: bool :ivar is_online: Indicates if API revision is accessible via the gateway. :vartype is_online: bool :param api_revision_description: Description of the Api Revision. :type api_revision_description: str :param api_version_description: Description of the Api Version. :type api_version_description: str :param api_version_set_id: A resource identifier for the related ApiVersionSet. :type api_version_set_id: str :param subscription_required: Specifies whether an API or Product subscription is required for accessing the API. :type subscription_required: bool :param display_name: API name. :type display_name: str :param service_url: Absolute URL of the backend service implementing this API. :type service_url: str :param path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API. :type path: str :param protocols: Describes on which protocols the operations in this API can be invoked. :type protocols: list[str or ~azure.mgmt.apimanagement.models.Protocol] """ _validation = { 'api_revision': {'max_length': 100, 'min_length': 1}, 'api_version': {'max_length': 100}, 'is_online': {'readonly': True}, 'api_revision_description': {'max_length': 256}, 'api_version_description': {'max_length': 256}, 'display_name': {'max_length': 300, 'min_length': 1}, 'service_url': {'max_length': 2000, 'min_length': 1}, 'path': {'max_length': 400, 'min_length': 0}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'authentication_settings': {'key': 'properties.authenticationSettings', 'type': 'AuthenticationSettingsContract'}, 'subscription_key_parameter_names': {'key': 'properties.subscriptionKeyParameterNames', 'type': 'SubscriptionKeyParameterNamesContract'}, 'api_type': {'key': 'properties.type', 'type': 'str'}, 'api_revision': {'key': 'properties.apiRevision', 'type': 'str'}, 'api_version': {'key': 'properties.apiVersion', 'type': 'str'}, 'is_current': {'key': 'properties.isCurrent', 'type': 'bool'}, 'is_online': {'key': 'properties.isOnline', 'type': 'bool'}, 'api_revision_description': {'key': 'properties.apiRevisionDescription', 'type': 'str'}, 'api_version_description': {'key': 'properties.apiVersionDescription', 'type': 'str'}, 'api_version_set_id': {'key': 'properties.apiVersionSetId', 'type': 'str'}, 'subscription_required': {'key': 'properties.subscriptionRequired', 'type': 'bool'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'service_url': {'key': 'properties.serviceUrl', 'type': 'str'}, 'path': {'key': 'properties.path', 'type': 'str'}, 'protocols': {'key': 'properties.protocols', 'type': '[Protocol]'}, } def __init__(self, *, description: str=None, authentication_settings=None, subscription_key_parameter_names=None, api_type=None, api_revision: str=None, api_version: str=None, is_current: bool=None, api_revision_description: str=None, api_version_description: str=None, api_version_set_id: str=None, subscription_required: bool=None, display_name: str=None, service_url: str=None, path: str=None, protocols=None, **kwargs) -> None: super(ApiUpdateContract, self).__init__(**kwargs) self.description = description self.authentication_settings = authentication_settings self.subscription_key_parameter_names = subscription_key_parameter_names self.api_type = api_type self.api_revision = api_revision self.api_version = api_version self.is_current = is_current self.is_online = None self.api_revision_description = api_revision_description self.api_version_description = api_version_description self.api_version_set_id = api_version_set_id self.subscription_required = subscription_required self.display_name = display_name self.service_url = service_url self.path = path self.protocols = protocols
[docs]class ApiVersionConstraint(Model): """Control Plane Apis version constraint for the API Management service. :param min_api_version: Limit control plane API calls to API Management service with version equal to or newer than this value. :type min_api_version: str """ _attribute_map = { 'min_api_version': {'key': 'minApiVersion', 'type': 'str'}, } def __init__(self, *, min_api_version: str=None, **kwargs) -> None: super(ApiVersionConstraint, self).__init__(**kwargs) self.min_api_version = min_api_version
[docs]class ApiVersionSetContract(Resource): """Api Version Set Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Description of API Version Set. :type description: str :param version_query_name: Name of query parameter that indicates the API Version if versioningScheme is set to `query`. :type version_query_name: str :param version_header_name: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`. :type version_header_name: str :param display_name: Required. Name of API Version Set :type display_name: str :param versioning_scheme: Required. An value that determines where the API Version identifer will be located in a HTTP request. Possible values include: 'Segment', 'Query', 'Header' :type versioning_scheme: str or ~azure.mgmt.apimanagement.models.VersioningScheme """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'version_query_name': {'max_length': 100, 'min_length': 1}, 'version_header_name': {'max_length': 100, 'min_length': 1}, 'display_name': {'required': True, 'max_length': 100, 'min_length': 1}, 'versioning_scheme': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'version_query_name': {'key': 'properties.versionQueryName', 'type': 'str'}, 'version_header_name': {'key': 'properties.versionHeaderName', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'versioning_scheme': {'key': 'properties.versioningScheme', 'type': 'str'}, } def __init__(self, *, display_name: str, versioning_scheme, description: str=None, version_query_name: str=None, version_header_name: str=None, **kwargs) -> None: super(ApiVersionSetContract, self).__init__(**kwargs) self.description = description self.version_query_name = version_query_name self.version_header_name = version_header_name self.display_name = display_name self.versioning_scheme = versioning_scheme
[docs]class ApiVersionSetContractDetails(Model): """An API Version Set contains the common configuration for a set of API Versions relating . :param id: Identifier for existing API Version Set. Omit this value to create a new Version Set. :type id: str :param name: The display Name of the API Version Set. :type name: str :param description: Description of API Version Set. :type description: str :param versioning_scheme: An value that determines where the API Version identifer will be located in a HTTP request. Possible values include: 'Segment', 'Query', 'Header' :type versioning_scheme: str or ~azure.mgmt.apimanagement.models.enum :param version_query_name: Name of query parameter that indicates the API Version if versioningScheme is set to `query`. :type version_query_name: str :param version_header_name: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`. :type version_header_name: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'versioning_scheme': {'key': 'versioningScheme', 'type': 'str'}, 'version_query_name': {'key': 'versionQueryName', 'type': 'str'}, 'version_header_name': {'key': 'versionHeaderName', 'type': 'str'}, } def __init__(self, *, id: str=None, name: str=None, description: str=None, versioning_scheme=None, version_query_name: str=None, version_header_name: str=None, **kwargs) -> None: super(ApiVersionSetContractDetails, self).__init__(**kwargs) self.id = id self.name = name self.description = description self.versioning_scheme = versioning_scheme self.version_query_name = version_query_name self.version_header_name = version_header_name
[docs]class ApiVersionSetEntityBase(Model): """Api Version set base parameters. :param description: Description of API Version Set. :type description: str :param version_query_name: Name of query parameter that indicates the API Version if versioningScheme is set to `query`. :type version_query_name: str :param version_header_name: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`. :type version_header_name: str """ _validation = { 'version_query_name': {'max_length': 100, 'min_length': 1}, 'version_header_name': {'max_length': 100, 'min_length': 1}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'version_query_name': {'key': 'versionQueryName', 'type': 'str'}, 'version_header_name': {'key': 'versionHeaderName', 'type': 'str'}, } def __init__(self, *, description: str=None, version_query_name: str=None, version_header_name: str=None, **kwargs) -> None: super(ApiVersionSetEntityBase, self).__init__(**kwargs) self.description = description self.version_query_name = version_query_name self.version_header_name = version_header_name
[docs]class ApiVersionSetUpdateParameters(Model): """Parameters to update or create an Api Version Set Contract. :param description: Description of API Version Set. :type description: str :param version_query_name: Name of query parameter that indicates the API Version if versioningScheme is set to `query`. :type version_query_name: str :param version_header_name: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`. :type version_header_name: str :param display_name: Name of API Version Set :type display_name: str :param versioning_scheme: An value that determines where the API Version identifer will be located in a HTTP request. Possible values include: 'Segment', 'Query', 'Header' :type versioning_scheme: str or ~azure.mgmt.apimanagement.models.VersioningScheme """ _validation = { 'version_query_name': {'max_length': 100, 'min_length': 1}, 'version_header_name': {'max_length': 100, 'min_length': 1}, 'display_name': {'max_length': 100, 'min_length': 1}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'version_query_name': {'key': 'properties.versionQueryName', 'type': 'str'}, 'version_header_name': {'key': 'properties.versionHeaderName', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'versioning_scheme': {'key': 'properties.versioningScheme', 'type': 'str'}, } def __init__(self, *, description: str=None, version_query_name: str=None, version_header_name: str=None, display_name: str=None, versioning_scheme=None, **kwargs) -> None: super(ApiVersionSetUpdateParameters, self).__init__(**kwargs) self.description = description self.version_query_name = version_query_name self.version_header_name = version_header_name self.display_name = display_name self.versioning_scheme = versioning_scheme
[docs]class AssociationContract(Resource): """Association entity details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param provisioning_state: Provisioning state. Possible values include: 'created' :type provisioning_state: str or ~azure.mgmt.apimanagement.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'}, } def __init__(self, *, provisioning_state=None, **kwargs) -> None: super(AssociationContract, self).__init__(**kwargs) self.provisioning_state = provisioning_state
[docs]class AuthenticationSettingsContract(Model): """API Authentication Settings. :param o_auth2: OAuth2 Authentication settings :type o_auth2: ~azure.mgmt.apimanagement.models.OAuth2AuthenticationSettingsContract :param openid: OpenID Connect Authentication Settings :type openid: ~azure.mgmt.apimanagement.models.OpenIdAuthenticationSettingsContract """ _attribute_map = { 'o_auth2': {'key': 'oAuth2', 'type': 'OAuth2AuthenticationSettingsContract'}, 'openid': {'key': 'openid', 'type': 'OpenIdAuthenticationSettingsContract'}, } def __init__(self, *, o_auth2=None, openid=None, **kwargs) -> None: super(AuthenticationSettingsContract, self).__init__(**kwargs) self.o_auth2 = o_auth2 self.openid = openid
[docs]class AuthorizationServerContract(Resource): """External OAuth authorization server settings. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Description of the authorization server. Can contain HTML formatting tags. :type description: str :param authorization_methods: HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. :type authorization_methods: list[str or ~azure.mgmt.apimanagement.models.AuthorizationMethod] :param client_authentication_method: Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format. :type client_authentication_method: list[str or ~azure.mgmt.apimanagement.models.ClientAuthenticationMethod] :param token_body_parameters: Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}. :type token_body_parameters: list[~azure.mgmt.apimanagement.models.TokenBodyParameterContract] :param token_endpoint: OAuth token endpoint. Contains absolute URI to entity being referenced. :type token_endpoint: str :param support_state: If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security. :type support_state: bool :param default_scope: Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values. :type default_scope: str :param bearer_token_sending_methods: Specifies the mechanism by which access token is passed to the API. :type bearer_token_sending_methods: list[str or ~azure.mgmt.apimanagement.models.BearerTokenSendingMethod] :param resource_owner_username: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. :type resource_owner_username: str :param resource_owner_password: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. :type resource_owner_password: str :param display_name: Required. User-friendly authorization server name. :type display_name: str :param client_registration_endpoint: Required. Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced. :type client_registration_endpoint: str :param authorization_endpoint: Required. OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. :type authorization_endpoint: str :param grant_types: Required. Form of an authorization grant, which the client uses to request the access token. :type grant_types: list[str or ~azure.mgmt.apimanagement.models.GrantType] :param client_id: Required. Client or app id registered with this authorization server. :type client_id: str :param client_secret: Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type client_secret: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'required': True, 'max_length': 50, 'min_length': 1}, 'client_registration_endpoint': {'required': True}, 'authorization_endpoint': {'required': True}, 'grant_types': {'required': True}, 'client_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'authorization_methods': {'key': 'properties.authorizationMethods', 'type': '[AuthorizationMethod]'}, 'client_authentication_method': {'key': 'properties.clientAuthenticationMethod', 'type': '[str]'}, 'token_body_parameters': {'key': 'properties.tokenBodyParameters', 'type': '[TokenBodyParameterContract]'}, 'token_endpoint': {'key': 'properties.tokenEndpoint', 'type': 'str'}, 'support_state': {'key': 'properties.supportState', 'type': 'bool'}, 'default_scope': {'key': 'properties.defaultScope', 'type': 'str'}, 'bearer_token_sending_methods': {'key': 'properties.bearerTokenSendingMethods', 'type': '[str]'}, 'resource_owner_username': {'key': 'properties.resourceOwnerUsername', 'type': 'str'}, 'resource_owner_password': {'key': 'properties.resourceOwnerPassword', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'client_registration_endpoint': {'key': 'properties.clientRegistrationEndpoint', 'type': 'str'}, 'authorization_endpoint': {'key': 'properties.authorizationEndpoint', 'type': 'str'}, 'grant_types': {'key': 'properties.grantTypes', 'type': '[str]'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, display_name: str, client_registration_endpoint: str, authorization_endpoint: str, grant_types, client_id: str, description: str=None, authorization_methods=None, client_authentication_method=None, token_body_parameters=None, token_endpoint: str=None, support_state: bool=None, default_scope: str=None, bearer_token_sending_methods=None, resource_owner_username: str=None, resource_owner_password: str=None, client_secret: str=None, **kwargs) -> None: super(AuthorizationServerContract, self).__init__(**kwargs) self.description = description self.authorization_methods = authorization_methods self.client_authentication_method = client_authentication_method self.token_body_parameters = token_body_parameters self.token_endpoint = token_endpoint self.support_state = support_state self.default_scope = default_scope self.bearer_token_sending_methods = bearer_token_sending_methods self.resource_owner_username = resource_owner_username self.resource_owner_password = resource_owner_password self.display_name = display_name self.client_registration_endpoint = client_registration_endpoint self.authorization_endpoint = authorization_endpoint self.grant_types = grant_types self.client_id = client_id self.client_secret = client_secret
[docs]class AuthorizationServerContractBaseProperties(Model): """External OAuth authorization server Update settings contract. :param description: Description of the authorization server. Can contain HTML formatting tags. :type description: str :param authorization_methods: HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. :type authorization_methods: list[str or ~azure.mgmt.apimanagement.models.AuthorizationMethod] :param client_authentication_method: Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format. :type client_authentication_method: list[str or ~azure.mgmt.apimanagement.models.ClientAuthenticationMethod] :param token_body_parameters: Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}. :type token_body_parameters: list[~azure.mgmt.apimanagement.models.TokenBodyParameterContract] :param token_endpoint: OAuth token endpoint. Contains absolute URI to entity being referenced. :type token_endpoint: str :param support_state: If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security. :type support_state: bool :param default_scope: Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values. :type default_scope: str :param bearer_token_sending_methods: Specifies the mechanism by which access token is passed to the API. :type bearer_token_sending_methods: list[str or ~azure.mgmt.apimanagement.models.BearerTokenSendingMethod] :param resource_owner_username: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. :type resource_owner_username: str :param resource_owner_password: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. :type resource_owner_password: str """ _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'authorization_methods': {'key': 'authorizationMethods', 'type': '[AuthorizationMethod]'}, 'client_authentication_method': {'key': 'clientAuthenticationMethod', 'type': '[str]'}, 'token_body_parameters': {'key': 'tokenBodyParameters', 'type': '[TokenBodyParameterContract]'}, 'token_endpoint': {'key': 'tokenEndpoint', 'type': 'str'}, 'support_state': {'key': 'supportState', 'type': 'bool'}, 'default_scope': {'key': 'defaultScope', 'type': 'str'}, 'bearer_token_sending_methods': {'key': 'bearerTokenSendingMethods', 'type': '[str]'}, 'resource_owner_username': {'key': 'resourceOwnerUsername', 'type': 'str'}, 'resource_owner_password': {'key': 'resourceOwnerPassword', 'type': 'str'}, } def __init__(self, *, description: str=None, authorization_methods=None, client_authentication_method=None, token_body_parameters=None, token_endpoint: str=None, support_state: bool=None, default_scope: str=None, bearer_token_sending_methods=None, resource_owner_username: str=None, resource_owner_password: str=None, **kwargs) -> None: super(AuthorizationServerContractBaseProperties, self).__init__(**kwargs) self.description = description self.authorization_methods = authorization_methods self.client_authentication_method = client_authentication_method self.token_body_parameters = token_body_parameters self.token_endpoint = token_endpoint self.support_state = support_state self.default_scope = default_scope self.bearer_token_sending_methods = bearer_token_sending_methods self.resource_owner_username = resource_owner_username self.resource_owner_password = resource_owner_password
[docs]class AuthorizationServerUpdateContract(Resource): """External OAuth authorization server 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 :ivar type: Resource type for API Management resource. :vartype type: str :param description: Description of the authorization server. Can contain HTML formatting tags. :type description: str :param authorization_methods: HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional. :type authorization_methods: list[str or ~azure.mgmt.apimanagement.models.AuthorizationMethod] :param client_authentication_method: Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format. :type client_authentication_method: list[str or ~azure.mgmt.apimanagement.models.ClientAuthenticationMethod] :param token_body_parameters: Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {"name" : "name value", "value": "a value"}. :type token_body_parameters: list[~azure.mgmt.apimanagement.models.TokenBodyParameterContract] :param token_endpoint: OAuth token endpoint. Contains absolute URI to entity being referenced. :type token_endpoint: str :param support_state: If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security. :type support_state: bool :param default_scope: Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values. :type default_scope: str :param bearer_token_sending_methods: Specifies the mechanism by which access token is passed to the API. :type bearer_token_sending_methods: list[str or ~azure.mgmt.apimanagement.models.BearerTokenSendingMethod] :param resource_owner_username: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username. :type resource_owner_username: str :param resource_owner_password: Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password. :type resource_owner_password: str :param display_name: User-friendly authorization server name. :type display_name: str :param client_registration_endpoint: Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced. :type client_registration_endpoint: str :param authorization_endpoint: OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2. :type authorization_endpoint: str :param grant_types: Form of an authorization grant, which the client uses to request the access token. :type grant_types: list[str or ~azure.mgmt.apimanagement.models.GrantType] :param client_id: Client or app id registered with this authorization server. :type client_id: str :param client_secret: Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type client_secret: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'max_length': 50, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'authorization_methods': {'key': 'properties.authorizationMethods', 'type': '[AuthorizationMethod]'}, 'client_authentication_method': {'key': 'properties.clientAuthenticationMethod', 'type': '[str]'}, 'token_body_parameters': {'key': 'properties.tokenBodyParameters', 'type': '[TokenBodyParameterContract]'}, 'token_endpoint': {'key': 'properties.tokenEndpoint', 'type': 'str'}, 'support_state': {'key': 'properties.supportState', 'type': 'bool'}, 'default_scope': {'key': 'properties.defaultScope', 'type': 'str'}, 'bearer_token_sending_methods': {'key': 'properties.bearerTokenSendingMethods', 'type': '[str]'}, 'resource_owner_username': {'key': 'properties.resourceOwnerUsername', 'type': 'str'}, 'resource_owner_password': {'key': 'properties.resourceOwnerPassword', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'client_registration_endpoint': {'key': 'properties.clientRegistrationEndpoint', 'type': 'str'}, 'authorization_endpoint': {'key': 'properties.authorizationEndpoint', 'type': 'str'}, 'grant_types': {'key': 'properties.grantTypes', 'type': '[str]'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, description: str=None, authorization_methods=None, client_authentication_method=None, token_body_parameters=None, token_endpoint: str=None, support_state: bool=None, default_scope: str=None, bearer_token_sending_methods=None, resource_owner_username: str=None, resource_owner_password: str=None, display_name: str=None, client_registration_endpoint: str=None, authorization_endpoint: str=None, grant_types=None, client_id: str=None, client_secret: str=None, **kwargs) -> None: super(AuthorizationServerUpdateContract, self).__init__(**kwargs) self.description = description self.authorization_methods = authorization_methods self.client_authentication_method = client_authentication_method self.token_body_parameters = token_body_parameters self.token_endpoint = token_endpoint self.support_state = support_state self.default_scope = default_scope self.bearer_token_sending_methods = bearer_token_sending_methods self.resource_owner_username = resource_owner_username self.resource_owner_password = resource_owner_password self.display_name = display_name self.client_registration_endpoint = client_registration_endpoint self.authorization_endpoint = authorization_endpoint self.grant_types = grant_types self.client_id = client_id self.client_secret = client_secret
[docs]class BackendAuthorizationHeaderCredentials(Model): """Authorization header information. All required parameters must be populated in order to send to Azure. :param scheme: Required. Authentication Scheme name. :type scheme: str :param parameter: Required. Authentication Parameter value. :type parameter: str """ _validation = { 'scheme': {'required': True, 'max_length': 100, 'min_length': 1}, 'parameter': {'required': True, 'max_length': 300, 'min_length': 1}, } _attribute_map = { 'scheme': {'key': 'scheme', 'type': 'str'}, 'parameter': {'key': 'parameter', 'type': 'str'}, } def __init__(self, *, scheme: str, parameter: str, **kwargs) -> None: super(BackendAuthorizationHeaderCredentials, self).__init__(**kwargs) self.scheme = scheme self.parameter = parameter
[docs]class BackendBaseParameters(Model): """Backend entity base Parameter set. :param title: Backend Title. :type title: str :param description: Backend Description. :type description: str :param resource_id: Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps. :type resource_id: str :param properties: Backend Properties contract :type properties: ~azure.mgmt.apimanagement.models.BackendProperties :param credentials: Backend Credentials Contract Properties :type credentials: ~azure.mgmt.apimanagement.models.BackendCredentialsContract :param proxy: Backend Proxy Contract Properties :type proxy: ~azure.mgmt.apimanagement.models.BackendProxyContract :param tls: Backend TLS Properties :type tls: ~azure.mgmt.apimanagement.models.BackendTlsProperties """ _validation = { 'title': {'max_length': 300, 'min_length': 1}, 'description': {'max_length': 2000, 'min_length': 1}, 'resource_id': {'max_length': 2000, 'min_length': 1}, } _attribute_map = { 'title': {'key': 'title', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'BackendProperties'}, 'credentials': {'key': 'credentials', 'type': 'BackendCredentialsContract'}, 'proxy': {'key': 'proxy', 'type': 'BackendProxyContract'}, 'tls': {'key': 'tls', 'type': 'BackendTlsProperties'}, } def __init__(self, *, title: str=None, description: str=None, resource_id: str=None, properties=None, credentials=None, proxy=None, tls=None, **kwargs) -> None: super(BackendBaseParameters, self).__init__(**kwargs) self.title = title self.description = description self.resource_id = resource_id self.properties = properties self.credentials = credentials self.proxy = proxy self.tls = tls
[docs]class BackendContract(Resource): """Backend details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param title: Backend Title. :type title: str :param description: Backend Description. :type description: str :param resource_id: Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps. :type resource_id: str :param properties: Backend Properties contract :type properties: ~azure.mgmt.apimanagement.models.BackendProperties :param credentials: Backend Credentials Contract Properties :type credentials: ~azure.mgmt.apimanagement.models.BackendCredentialsContract :param proxy: Backend Proxy Contract Properties :type proxy: ~azure.mgmt.apimanagement.models.BackendProxyContract :param tls: Backend TLS Properties :type tls: ~azure.mgmt.apimanagement.models.BackendTlsProperties :param url: Required. Runtime Url of the Backend. :type url: str :param protocol: Required. Backend communication protocol. Possible values include: 'http', 'soap' :type protocol: str or ~azure.mgmt.apimanagement.models.BackendProtocol """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'title': {'max_length': 300, 'min_length': 1}, 'description': {'max_length': 2000, 'min_length': 1}, 'resource_id': {'max_length': 2000, 'min_length': 1}, 'url': {'required': True, 'max_length': 2000, 'min_length': 1}, 'protocol': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'properties': {'key': 'properties.properties', 'type': 'BackendProperties'}, 'credentials': {'key': 'properties.credentials', 'type': 'BackendCredentialsContract'}, 'proxy': {'key': 'properties.proxy', 'type': 'BackendProxyContract'}, 'tls': {'key': 'properties.tls', 'type': 'BackendTlsProperties'}, 'url': {'key': 'properties.url', 'type': 'str'}, 'protocol': {'key': 'properties.protocol', 'type': 'str'}, } def __init__(self, *, url: str, protocol, title: str=None, description: str=None, resource_id: str=None, properties=None, credentials=None, proxy=None, tls=None, **kwargs) -> None: super(BackendContract, self).__init__(**kwargs) self.title = title self.description = description self.resource_id = resource_id self.properties = properties self.credentials = credentials self.proxy = proxy self.tls = tls self.url = url self.protocol = protocol
[docs]class BackendCredentialsContract(Model): """Details of the Credentials used to connect to Backend. :param certificate: List of Client Certificate Thumbprint. :type certificate: list[str] :param query: Query Parameter description. :type query: dict[str, list[str]] :param header: Header Parameter description. :type header: dict[str, list[str]] :param authorization: Authorization header authentication :type authorization: ~azure.mgmt.apimanagement.models.BackendAuthorizationHeaderCredentials """ _validation = { 'certificate': {'max_items': 32}, } _attribute_map = { 'certificate': {'key': 'certificate', 'type': '[str]'}, 'query': {'key': 'query', 'type': '{[str]}'}, 'header': {'key': 'header', 'type': '{[str]}'}, 'authorization': {'key': 'authorization', 'type': 'BackendAuthorizationHeaderCredentials'}, } def __init__(self, *, certificate=None, query=None, header=None, authorization=None, **kwargs) -> None: super(BackendCredentialsContract, self).__init__(**kwargs) self.certificate = certificate self.query = query self.header = header self.authorization = authorization
[docs]class BackendProperties(Model): """Properties specific to the Backend Type. :param service_fabric_cluster: Backend Service Fabric Cluster Properties :type service_fabric_cluster: ~azure.mgmt.apimanagement.models.BackendServiceFabricClusterProperties """ _attribute_map = { 'service_fabric_cluster': {'key': 'serviceFabricCluster', 'type': 'BackendServiceFabricClusterProperties'}, } def __init__(self, *, service_fabric_cluster=None, **kwargs) -> None: super(BackendProperties, self).__init__(**kwargs) self.service_fabric_cluster = service_fabric_cluster
[docs]class BackendProxyContract(Model): """Details of the Backend WebProxy Server to use in the Request to Backend. All required parameters must be populated in order to send to Azure. :param url: Required. WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings. :type url: str :param username: Username to connect to the WebProxy server :type username: str :param password: Password to connect to the WebProxy Server :type password: str """ _validation = { 'url': {'required': True, 'max_length': 2000, 'min_length': 1}, } _attribute_map = { 'url': {'key': 'url', 'type': 'str'}, 'username': {'key': 'username', 'type': 'str'}, 'password': {'key': 'password', 'type': 'str'}, } def __init__(self, *, url: str, username: str=None, password: str=None, **kwargs) -> None: super(BackendProxyContract, self).__init__(**kwargs) self.url = url self.username = username self.password = password
[docs]class BackendReconnectContract(Resource): """Reconnect request parameters. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param after: Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M. :type after: timedelta """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'after': {'key': 'properties.after', 'type': 'duration'}, } def __init__(self, *, after=None, **kwargs) -> None: super(BackendReconnectContract, self).__init__(**kwargs) self.after = after
[docs]class BackendServiceFabricClusterProperties(Model): """Properties of the Service Fabric Type Backend. All required parameters must be populated in order to send to Azure. :param client_certificatethumbprint: Required. The client certificate thumbprint for the management endpoint. :type client_certificatethumbprint: str :param max_partition_resolution_retries: Maximum number of retries while attempting resolve the partition. :type max_partition_resolution_retries: int :param management_endpoints: Required. The cluster management endpoint. :type management_endpoints: list[str] :param server_certificate_thumbprints: Thumbprints of certificates cluster management service uses for tls communication :type server_certificate_thumbprints: list[str] :param server_x509_names: Server X509 Certificate Names Collection :type server_x509_names: list[~azure.mgmt.apimanagement.models.X509CertificateName] """ _validation = { 'client_certificatethumbprint': {'required': True}, 'management_endpoints': {'required': True}, } _attribute_map = { 'client_certificatethumbprint': {'key': 'clientCertificatethumbprint', 'type': 'str'}, 'max_partition_resolution_retries': {'key': 'maxPartitionResolutionRetries', 'type': 'int'}, 'management_endpoints': {'key': 'managementEndpoints', 'type': '[str]'}, 'server_certificate_thumbprints': {'key': 'serverCertificateThumbprints', 'type': '[str]'}, 'server_x509_names': {'key': 'serverX509Names', 'type': '[X509CertificateName]'}, } def __init__(self, *, client_certificatethumbprint: str, management_endpoints, max_partition_resolution_retries: int=None, server_certificate_thumbprints=None, server_x509_names=None, **kwargs) -> None: super(BackendServiceFabricClusterProperties, self).__init__(**kwargs) self.client_certificatethumbprint = client_certificatethumbprint self.max_partition_resolution_retries = max_partition_resolution_retries self.management_endpoints = management_endpoints self.server_certificate_thumbprints = server_certificate_thumbprints self.server_x509_names = server_x509_names
[docs]class BackendTlsProperties(Model): """Properties controlling TLS Certificate Validation. :param validate_certificate_chain: Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host. Default value: True . :type validate_certificate_chain: bool :param validate_certificate_name: Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host. Default value: True . :type validate_certificate_name: bool """ _attribute_map = { 'validate_certificate_chain': {'key': 'validateCertificateChain', 'type': 'bool'}, 'validate_certificate_name': {'key': 'validateCertificateName', 'type': 'bool'}, } def __init__(self, *, validate_certificate_chain: bool=True, validate_certificate_name: bool=True, **kwargs) -> None: super(BackendTlsProperties, self).__init__(**kwargs) self.validate_certificate_chain = validate_certificate_chain self.validate_certificate_name = validate_certificate_name
[docs]class BackendUpdateParameters(Model): """Backend update parameters. :param title: Backend Title. :type title: str :param description: Backend Description. :type description: str :param resource_id: Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps. :type resource_id: str :param properties: Backend Properties contract :type properties: ~azure.mgmt.apimanagement.models.BackendProperties :param credentials: Backend Credentials Contract Properties :type credentials: ~azure.mgmt.apimanagement.models.BackendCredentialsContract :param proxy: Backend Proxy Contract Properties :type proxy: ~azure.mgmt.apimanagement.models.BackendProxyContract :param tls: Backend TLS Properties :type tls: ~azure.mgmt.apimanagement.models.BackendTlsProperties :param url: Runtime Url of the Backend. :type url: str :param protocol: Backend communication protocol. Possible values include: 'http', 'soap' :type protocol: str or ~azure.mgmt.apimanagement.models.BackendProtocol """ _validation = { 'title': {'max_length': 300, 'min_length': 1}, 'description': {'max_length': 2000, 'min_length': 1}, 'resource_id': {'max_length': 2000, 'min_length': 1}, 'url': {'max_length': 2000, 'min_length': 1}, } _attribute_map = { 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'properties': {'key': 'properties.properties', 'type': 'BackendProperties'}, 'credentials': {'key': 'properties.credentials', 'type': 'BackendCredentialsContract'}, 'proxy': {'key': 'properties.proxy', 'type': 'BackendProxyContract'}, 'tls': {'key': 'properties.tls', 'type': 'BackendTlsProperties'}, 'url': {'key': 'properties.url', 'type': 'str'}, 'protocol': {'key': 'properties.protocol', 'type': 'str'}, } def __init__(self, *, title: str=None, description: str=None, resource_id: str=None, properties=None, credentials=None, proxy=None, tls=None, url: str=None, protocol=None, **kwargs) -> None: super(BackendUpdateParameters, self).__init__(**kwargs) self.title = title self.description = description self.resource_id = resource_id self.properties = properties self.credentials = credentials self.proxy = proxy self.tls = tls self.url = url self.protocol = protocol
[docs]class BodyDiagnosticSettings(Model): """Body logging settings. :param bytes: Number of request body bytes to log. :type bytes: int """ _validation = { 'bytes': {'maximum': 8192}, } _attribute_map = { 'bytes': {'key': 'bytes', 'type': 'int'}, } def __init__(self, *, bytes: int=None, **kwargs) -> None: super(BodyDiagnosticSettings, self).__init__(**kwargs) self.bytes = bytes
[docs]class CacheContract(Resource): """Cache details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Cache description :type description: str :param connection_string: Required. Runtime connection string to cache :type connection_string: str :param resource_id: Original uri of entity in external system cache points to :type resource_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'description': {'max_length': 2000}, 'connection_string': {'required': True, 'max_length': 300}, 'resource_id': {'max_length': 2000}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, } def __init__(self, *, connection_string: str, description: str=None, resource_id: str=None, **kwargs) -> None: super(CacheContract, self).__init__(**kwargs) self.description = description self.connection_string = connection_string self.resource_id = resource_id
[docs]class CacheUpdateParameters(Model): """Cache update details. :param description: Cache description :type description: str :param connection_string: Runtime connection string to cache :type connection_string: str :param resource_id: Original uri of entity in external system cache points to :type resource_id: str """ _validation = { 'description': {'max_length': 2000}, 'connection_string': {'max_length': 300}, 'resource_id': {'max_length': 2000}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'connection_string': {'key': 'properties.connectionString', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, } def __init__(self, *, description: str=None, connection_string: str=None, resource_id: str=None, **kwargs) -> None: super(CacheUpdateParameters, self).__init__(**kwargs) self.description = description self.connection_string = connection_string self.resource_id = resource_id
[docs]class CertificateConfiguration(Model): """Certificate configuration which consist of non-trusted intermediates and root certificates. All required parameters must be populated in order to send to Azure. :param encoded_certificate: Base64 Encoded certificate. :type encoded_certificate: str :param certificate_password: Certificate Password. :type certificate_password: str :param store_name: Required. The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations. Possible values include: 'CertificateAuthority', 'Root' :type store_name: str or ~azure.mgmt.apimanagement.models.enum :param certificate: Certificate information. :type certificate: ~azure.mgmt.apimanagement.models.CertificateInformation """ _validation = { 'store_name': {'required': True}, } _attribute_map = { 'encoded_certificate': {'key': 'encodedCertificate', 'type': 'str'}, 'certificate_password': {'key': 'certificatePassword', 'type': 'str'}, 'store_name': {'key': 'storeName', 'type': 'str'}, 'certificate': {'key': 'certificate', 'type': 'CertificateInformation'}, } def __init__(self, *, store_name, encoded_certificate: str=None, certificate_password: str=None, certificate=None, **kwargs) -> None: super(CertificateConfiguration, self).__init__(**kwargs) self.encoded_certificate = encoded_certificate self.certificate_password = certificate_password self.store_name = store_name self.certificate = certificate
[docs]class CertificateContract(Resource): """Certificate details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param subject: Required. Subject attribute of the certificate. :type subject: str :param thumbprint: Required. Thumbprint of the certificate. :type thumbprint: str :param expiration_date: Required. Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiration_date: datetime """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'subject': {'required': True}, 'thumbprint': {'required': True}, 'expiration_date': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'subject': {'key': 'properties.subject', 'type': 'str'}, 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, } def __init__(self, *, subject: str, thumbprint: str, expiration_date, **kwargs) -> None: super(CertificateContract, self).__init__(**kwargs) self.subject = subject self.thumbprint = thumbprint self.expiration_date = expiration_date
[docs]class CertificateCreateOrUpdateParameters(Model): """Certificate create or update details. All required parameters must be populated in order to send to Azure. :param data: Required. Base 64 encoded certificate using the application/x-pkcs12 representation. :type data: str :param password: Required. Password for the Certificate :type password: str """ _validation = { 'data': {'required': True}, 'password': {'required': True}, } _attribute_map = { 'data': {'key': 'properties.data', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, } def __init__(self, *, data: str, password: str, **kwargs) -> None: super(CertificateCreateOrUpdateParameters, self).__init__(**kwargs) self.data = data self.password = password
[docs]class CertificateInformation(Model): """SSL certificate information. All required parameters must be populated in order to send to Azure. :param expiry: Required. Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiry: datetime :param thumbprint: Required. Thumbprint of the certificate. :type thumbprint: str :param subject: Required. Subject of the certificate. :type subject: str """ _validation = { 'expiry': {'required': True}, 'thumbprint': {'required': True}, 'subject': {'required': True}, } _attribute_map = { 'expiry': {'key': 'expiry', 'type': 'iso-8601'}, 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 'subject': {'key': 'subject', 'type': 'str'}, } def __init__(self, *, expiry, thumbprint: str, subject: str, **kwargs) -> None: super(CertificateInformation, self).__init__(**kwargs) self.expiry = expiry self.thumbprint = thumbprint self.subject = subject
[docs]class ClientSecretContract(Model): """Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. :param client_secret: Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. :type client_secret: str """ _attribute_map = { 'client_secret': {'key': 'clientSecret', 'type': 'str'}, } def __init__(self, *, client_secret: str=None, **kwargs) -> None: super(ClientSecretContract, self).__init__(**kwargs) self.client_secret = client_secret
class CloudError(Model): """CloudError. """ _attribute_map = { }
[docs]class ConnectivityStatusContract(Model): """Details about connectivity to a resource. All required parameters must be populated in order to send to Azure. :param name: Required. The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service depends upon. :type name: str :param status: Required. Resource Connectivity Status Type identifier. Possible values include: 'initializing', 'success', 'failure' :type status: str or ~azure.mgmt.apimanagement.models.ConnectivityStatusType :param error: Error details of the connectivity to the resource. :type error: str :param last_updated: Required. The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type last_updated: datetime :param last_status_change: Required. The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type last_status_change: datetime """ _validation = { 'name': {'required': True, 'min_length': 1}, 'status': {'required': True}, 'last_updated': {'required': True}, 'last_status_change': {'required': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'status': {'key': 'status', 'type': 'str'}, 'error': {'key': 'error', 'type': 'str'}, 'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'}, 'last_status_change': {'key': 'lastStatusChange', 'type': 'iso-8601'}, } def __init__(self, *, name: str, status, last_updated, last_status_change, error: str=None, **kwargs) -> None: super(ConnectivityStatusContract, self).__init__(**kwargs) self.name = name self.status = status self.error = error self.last_updated = last_updated self.last_status_change = last_status_change
[docs]class DeployConfigurationParameters(Model): """Deploy Tenant Configuration Contract. All required parameters must be populated in order to send to Azure. :param branch: Required. The name of the Git branch from which the configuration is to be deployed to the configuration database. :type branch: str :param force: The value enforcing deleting subscriptions to products that are deleted in this update. :type force: bool """ _validation = { 'branch': {'required': True}, } _attribute_map = { 'branch': {'key': 'properties.branch', 'type': 'str'}, 'force': {'key': 'properties.force', 'type': 'bool'}, } def __init__(self, *, branch: str, force: bool=None, **kwargs) -> None: super(DeployConfigurationParameters, self).__init__(**kwargs) self.branch = branch self.force = force
[docs]class DiagnosticContract(Resource): """Diagnostic details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param always_log: Specifies for what type of messages sampling settings should not apply. Possible values include: 'allErrors' :type always_log: str or ~azure.mgmt.apimanagement.models.AlwaysLog :param logger_id: Required. Resource Id of a target logger. :type logger_id: str :param sampling: Sampling settings for Diagnostic. :type sampling: ~azure.mgmt.apimanagement.models.SamplingSettings :param frontend: Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. :type frontend: ~azure.mgmt.apimanagement.models.PipelineDiagnosticSettings :param backend: Diagnostic settings for incoming/outgoing HTTP messages to the Backend :type backend: ~azure.mgmt.apimanagement.models.PipelineDiagnosticSettings :param log_client_ip: Log the ClientIP. Default is false. :type log_client_ip: bool :param http_correlation_protocol: Sets correlation protocol to use for Application Insights diagnostics. Possible values include: 'None', 'Legacy', 'W3C' :type http_correlation_protocol: str or ~azure.mgmt.apimanagement.models.HttpCorrelationProtocol :param verbosity: The verbosity level applied to traces emitted by trace policies. Possible values include: 'verbose', 'information', 'error' :type verbosity: str or ~azure.mgmt.apimanagement.models.Verbosity """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'logger_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'always_log': {'key': 'properties.alwaysLog', 'type': 'str'}, 'logger_id': {'key': 'properties.loggerId', 'type': 'str'}, 'sampling': {'key': 'properties.sampling', 'type': 'SamplingSettings'}, 'frontend': {'key': 'properties.frontend', 'type': 'PipelineDiagnosticSettings'}, 'backend': {'key': 'properties.backend', 'type': 'PipelineDiagnosticSettings'}, 'log_client_ip': {'key': 'properties.logClientIp', 'type': 'bool'}, 'http_correlation_protocol': {'key': 'properties.httpCorrelationProtocol', 'type': 'str'}, 'verbosity': {'key': 'properties.verbosity', 'type': 'str'}, } def __init__(self, *, logger_id: str, always_log=None, sampling=None, frontend=None, backend=None, log_client_ip: bool=None, http_correlation_protocol=None, verbosity=None, **kwargs) -> None: super(DiagnosticContract, self).__init__(**kwargs) self.always_log = always_log self.logger_id = logger_id self.sampling = sampling self.frontend = frontend self.backend = backend self.log_client_ip = log_client_ip self.http_correlation_protocol = http_correlation_protocol self.verbosity = verbosity
[docs]class EmailTemplateContract(Resource): """Email Template details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param subject: Required. Subject of the Template. :type subject: str :param body: Required. Email Template Body. This should be a valid XDocument :type body: str :param title: Title of the Template. :type title: str :param description: Description of the Email Template. :type description: str :ivar is_default: Whether the template is the default template provided by Api Management or has been edited. :vartype is_default: bool :param parameters: Email Template Parameter values. :type parameters: list[~azure.mgmt.apimanagement.models.EmailTemplateParametersContractProperties] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'subject': {'required': True, 'max_length': 1000, 'min_length': 1}, 'body': {'required': True, 'min_length': 1}, 'is_default': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'subject': {'key': 'properties.subject', 'type': 'str'}, 'body': {'key': 'properties.body', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'is_default': {'key': 'properties.isDefault', 'type': 'bool'}, 'parameters': {'key': 'properties.parameters', 'type': '[EmailTemplateParametersContractProperties]'}, } def __init__(self, *, subject: str, body: str, title: str=None, description: str=None, parameters=None, **kwargs) -> None: super(EmailTemplateContract, self).__init__(**kwargs) self.subject = subject self.body = body self.title = title self.description = description self.is_default = None self.parameters = parameters
[docs]class EmailTemplateParametersContractProperties(Model): """Email Template Parameter contract. :param name: Template parameter name. :type name: str :param title: Template parameter title. :type title: str :param description: Template parameter description. :type description: str """ _validation = { 'name': {'max_length': 256, 'min_length': 1, 'pattern': r'^[A-Za-z0-9-._]+$'}, 'title': {'max_length': 4096, 'min_length': 1}, 'description': {'max_length': 256, 'min_length': 1, 'pattern': r'^[A-Za-z0-9-._]+$'}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'title': {'key': 'title', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, } def __init__(self, *, name: str=None, title: str=None, description: str=None, **kwargs) -> None: super(EmailTemplateParametersContractProperties, self).__init__(**kwargs) self.name = name self.title = title self.description = description
[docs]class EmailTemplateUpdateParameters(Model): """Email Template update Parameters. :param subject: Subject of the Template. :type subject: str :param title: Title of the Template. :type title: str :param description: Description of the Email Template. :type description: str :param body: Email Template Body. This should be a valid XDocument :type body: str :param parameters: Email Template Parameter values. :type parameters: list[~azure.mgmt.apimanagement.models.EmailTemplateParametersContractProperties] """ _validation = { 'subject': {'max_length': 1000, 'min_length': 1}, 'body': {'min_length': 1}, } _attribute_map = { 'subject': {'key': 'properties.subject', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'body': {'key': 'properties.body', 'type': 'str'}, 'parameters': {'key': 'properties.parameters', 'type': '[EmailTemplateParametersContractProperties]'}, } def __init__(self, *, subject: str=None, title: str=None, description: str=None, body: str=None, parameters=None, **kwargs) -> None: super(EmailTemplateUpdateParameters, self).__init__(**kwargs) self.subject = subject self.title = title self.description = description self.body = body self.parameters = parameters
[docs]class ErrorFieldContract(Model): """Error Field contract. :param code: Property level error code. :type code: str :param message: Human-readable representation of property-level error. :type message: str :param target: Property name. :type target: str """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, 'target': {'key': 'target', 'type': 'str'}, } def __init__(self, *, code: str=None, message: str=None, target: str=None, **kwargs) -> None: super(ErrorFieldContract, self).__init__(**kwargs) self.code = code self.message = message self.target = target
[docs]class ErrorResponse(Model): """Error Response. :param code: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response. :type code: str :param message: Human-readable representation of the error. :type message: str :param details: The list of invalid fields send in request, in case of validation error. :type details: list[~azure.mgmt.apimanagement.models.ErrorFieldContract] """ _attribute_map = { 'code': {'key': 'error.code', 'type': 'str'}, 'message': {'key': 'error.message', 'type': 'str'}, 'details': {'key': 'error.details', 'type': '[ErrorFieldContract]'}, } def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: super(ErrorResponse, self).__init__(**kwargs) self.code = code self.message = message self.details = details
[docs]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)
[docs]class ErrorResponseBody(Model): """Error Body contract. :param code: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response. :type code: str :param message: Human-readable representation of the error. :type message: str :param details: The list of invalid fields send in request, in case of validation error. :type details: list[~azure.mgmt.apimanagement.models.ErrorFieldContract] """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, 'details': {'key': 'details', 'type': '[ErrorFieldContract]'}, } def __init__(self, *, code: str=None, message: str=None, details=None, **kwargs) -> None: super(ErrorResponseBody, self).__init__(**kwargs) self.code = code self.message = message self.details = details
[docs]class GatewayContract(Resource): """Gateway details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param location_data: Gateway location. :type location_data: ~azure.mgmt.apimanagement.models.ResourceLocationDataContract :param description: Gateway description :type description: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'description': {'max_length': 1000}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location_data': {'key': 'properties.locationData', 'type': 'ResourceLocationDataContract'}, 'description': {'key': 'properties.description', 'type': 'str'}, } def __init__(self, *, location_data=None, description: str=None, **kwargs) -> None: super(GatewayContract, self).__init__(**kwargs) self.location_data = location_data self.description = description
[docs]class GatewayHostnameConfigurationContract(Resource): """Gateway hostname configuration details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param hostname: Hostname value. Supports valid domain name, partial or full wildcard :type hostname: str :param certificate_id: Identifier of Certificate entity that will be used for TLS connection establishment :type certificate_id: str :param negotiate_client_certificate: Determines whether gateway requests client certificate :type negotiate_client_certificate: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'hostname': {'key': 'properties.hostname', 'type': 'str'}, 'certificate_id': {'key': 'properties.certificateId', 'type': 'str'}, 'negotiate_client_certificate': {'key': 'properties.negotiateClientCertificate', 'type': 'bool'}, } def __init__(self, *, hostname: str=None, certificate_id: str=None, negotiate_client_certificate: bool=None, **kwargs) -> None: super(GatewayHostnameConfigurationContract, self).__init__(**kwargs) self.hostname = hostname self.certificate_id = certificate_id self.negotiate_client_certificate = negotiate_client_certificate
[docs]class GatewayKeyRegenerationRequestContract(Model): """Gateway key regeneration request contract properties. All required parameters must be populated in order to send to Azure. :param key_type: Required. The Key being regenerated. Possible values include: 'primary', 'secondary' :type key_type: str or ~azure.mgmt.apimanagement.models.KeyType """ _validation = { 'key_type': {'required': True}, } _attribute_map = { 'key_type': {'key': 'keyType', 'type': 'KeyType'}, } def __init__(self, *, key_type, **kwargs) -> None: super(GatewayKeyRegenerationRequestContract, self).__init__(**kwargs) self.key_type = key_type
[docs]class GatewayKeysContract(Model): """Gateway authentication keys. :param primary: Primary gateway key. :type primary: str :param secondary: Secondary gateway key. :type secondary: str """ _attribute_map = { 'primary': {'key': 'primary', 'type': 'str'}, 'secondary': {'key': 'secondary', 'type': 'str'}, } def __init__(self, *, primary: str=None, secondary: str=None, **kwargs) -> None: super(GatewayKeysContract, self).__init__(**kwargs) self.primary = primary self.secondary = secondary
[docs]class GatewayTokenContract(Model): """Gateway access token. :param value: Shared Access Authentication token value for the Gateway. :type value: str """ _attribute_map = { 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, value: str=None, **kwargs) -> None: super(GatewayTokenContract, self).__init__(**kwargs) self.value = value
[docs]class GatewayTokenRequestContract(Model): """Gateway token request contract properties. All required parameters must be populated in order to send to Azure. :param key_type: Required. The Key to be used to generate gateway token. Possible values include: 'primary', 'secondary'. Default value: "primary" . :type key_type: str or ~azure.mgmt.apimanagement.models.KeyType :param expiry: Required. The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiry: datetime """ _validation = { 'key_type': {'required': True}, 'expiry': {'required': True}, } _attribute_map = { 'key_type': {'key': 'keyType', 'type': 'KeyType'}, 'expiry': {'key': 'expiry', 'type': 'iso-8601'}, } def __init__(self, *, expiry, key_type="primary", **kwargs) -> None: super(GatewayTokenRequestContract, self).__init__(**kwargs) self.key_type = key_type self.expiry = expiry
[docs]class GenerateSsoUrlResult(Model): """Generate SSO Url operations response details. :param value: Redirect Url containing the SSO URL value. :type value: str """ _attribute_map = { 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, value: str=None, **kwargs) -> None: super(GenerateSsoUrlResult, self).__init__(**kwargs) self.value = value
[docs]class GroupContract(Resource): """Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param display_name: Required. Group name. :type display_name: str :param description: Group description. Can contain HTML formatting tags. :type description: str :ivar built_in: true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false. :vartype built_in: bool :param group_contract_type: Group type. Possible values include: 'custom', 'system', 'external' :type group_contract_type: str or ~azure.mgmt.apimanagement.models.GroupType :param external_id: For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. :type external_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'required': True, 'max_length': 300, 'min_length': 1}, 'description': {'max_length': 1000}, 'built_in': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'built_in': {'key': 'properties.builtIn', 'type': 'bool'}, 'group_contract_type': {'key': 'properties.type', 'type': 'GroupType'}, 'external_id': {'key': 'properties.externalId', 'type': 'str'}, } def __init__(self, *, display_name: str, description: str=None, group_contract_type=None, external_id: str=None, **kwargs) -> None: super(GroupContract, self).__init__(**kwargs) self.display_name = display_name self.description = description self.built_in = None self.group_contract_type = group_contract_type self.external_id = external_id
[docs]class GroupContractProperties(Model): """Group contract Properties. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :param display_name: Required. Group name. :type display_name: str :param description: Group description. Can contain HTML formatting tags. :type description: str :ivar built_in: true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false. :vartype built_in: bool :param type: Group type. Possible values include: 'custom', 'system', 'external' :type type: str or ~azure.mgmt.apimanagement.models.GroupType :param external_id: For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. :type external_id: str """ _validation = { 'display_name': {'required': True, 'max_length': 300, 'min_length': 1}, 'description': {'max_length': 1000}, 'built_in': {'readonly': True}, } _attribute_map = { 'display_name': {'key': 'displayName', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'built_in': {'key': 'builtIn', 'type': 'bool'}, 'type': {'key': 'type', 'type': 'GroupType'}, 'external_id': {'key': 'externalId', 'type': 'str'}, } def __init__(self, *, display_name: str, description: str=None, type=None, external_id: str=None, **kwargs) -> None: super(GroupContractProperties, self).__init__(**kwargs) self.display_name = display_name self.description = description self.built_in = None self.type = type self.external_id = external_id
[docs]class GroupCreateParameters(Model): """Parameters supplied to the Create Group operation. All required parameters must be populated in order to send to Azure. :param display_name: Required. Group name. :type display_name: str :param description: Group description. :type description: str :param type: Group type. Possible values include: 'custom', 'system', 'external' :type type: str or ~azure.mgmt.apimanagement.models.GroupType :param external_id: Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. :type external_id: str """ _validation = { 'display_name': {'required': True, 'max_length': 300, 'min_length': 1}, } _attribute_map = { 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'type': {'key': 'properties.type', 'type': 'GroupType'}, 'external_id': {'key': 'properties.externalId', 'type': 'str'}, } def __init__(self, *, display_name: str, description: str=None, type=None, external_id: str=None, **kwargs) -> None: super(GroupCreateParameters, self).__init__(**kwargs) self.display_name = display_name self.description = description self.type = type self.external_id = external_id
[docs]class GroupUpdateParameters(Model): """Parameters supplied to the Update Group operation. :param display_name: Group name. :type display_name: str :param description: Group description. :type description: str :param type: Group type. Possible values include: 'custom', 'system', 'external' :type type: str or ~azure.mgmt.apimanagement.models.GroupType :param external_id: Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://<tenant>.onmicrosoft.com/groups/<group object id>`; otherwise the value is null. :type external_id: str """ _validation = { 'display_name': {'max_length': 300, 'min_length': 1}, } _attribute_map = { 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'type': {'key': 'properties.type', 'type': 'GroupType'}, 'external_id': {'key': 'properties.externalId', 'type': 'str'}, } def __init__(self, *, display_name: str=None, description: str=None, type=None, external_id: str=None, **kwargs) -> None: super(GroupUpdateParameters, self).__init__(**kwargs) self.display_name = display_name self.description = description self.type = type self.external_id = external_id
[docs]class HostnameConfiguration(Model): """Custom hostname configuration. All required parameters must be populated in order to send to Azure. :param type: Required. Hostname type. Possible values include: 'Proxy', 'Portal', 'Management', 'Scm', 'DeveloperPortal' :type type: str or ~azure.mgmt.apimanagement.models.HostnameType :param host_name: Required. Hostname to configure on the Api Management service. :type host_name: str :param key_vault_id: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with MSI. The secret should be of type *application/x-pkcs12* :type key_vault_id: str :param encoded_certificate: Base64 Encoded certificate. :type encoded_certificate: str :param certificate_password: Certificate Password. :type certificate_password: str :param default_ssl_binding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type. Default value: False . :type default_ssl_binding: bool :param negotiate_client_certificate: Specify true to always negotiate client certificate on the hostname. Default Value is false. Default value: False . :type negotiate_client_certificate: bool :param certificate: Certificate information. :type certificate: ~azure.mgmt.apimanagement.models.CertificateInformation """ _validation = { 'type': {'required': True}, 'host_name': {'required': True}, } _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'host_name': {'key': 'hostName', 'type': 'str'}, 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, 'encoded_certificate': {'key': 'encodedCertificate', 'type': 'str'}, 'certificate_password': {'key': 'certificatePassword', 'type': 'str'}, 'default_ssl_binding': {'key': 'defaultSslBinding', 'type': 'bool'}, 'negotiate_client_certificate': {'key': 'negotiateClientCertificate', 'type': 'bool'}, 'certificate': {'key': 'certificate', 'type': 'CertificateInformation'}, } def __init__(self, *, type, host_name: str, key_vault_id: str=None, encoded_certificate: str=None, certificate_password: str=None, default_ssl_binding: bool=False, negotiate_client_certificate: bool=False, certificate=None, **kwargs) -> None: super(HostnameConfiguration, self).__init__(**kwargs) self.type = type self.host_name = host_name self.key_vault_id = key_vault_id self.encoded_certificate = encoded_certificate self.certificate_password = certificate_password self.default_ssl_binding = default_ssl_binding self.negotiate_client_certificate = negotiate_client_certificate self.certificate = certificate
[docs]class HttpMessageDiagnostic(Model): """Http message diagnostic settings. :param headers: Array of HTTP Headers to log. :type headers: list[str] :param body: Body logging settings. :type body: ~azure.mgmt.apimanagement.models.BodyDiagnosticSettings """ _attribute_map = { 'headers': {'key': 'headers', 'type': '[str]'}, 'body': {'key': 'body', 'type': 'BodyDiagnosticSettings'}, } def __init__(self, *, headers=None, body=None, **kwargs) -> None: super(HttpMessageDiagnostic, self).__init__(**kwargs) self.headers = headers self.body = body
[docs]class IdentityProviderBaseParameters(Model): """Identity Provider Base Parameter Properties. :param type: Identity Provider Type identifier. Possible values include: 'facebook', 'google', 'microsoft', 'twitter', 'aad', 'aadB2C' :type type: str or ~azure.mgmt.apimanagement.models.IdentityProviderType :param signin_tenant: The TenantId to use instead of Common when logging into Active Directory :type signin_tenant: str :param allowed_tenants: List of Allowed Tenants when configuring Azure Active Directory login. :type allowed_tenants: list[str] :param authority: OpenID Connect discovery endpoint hostname for AAD or AAD B2C. :type authority: str :param signup_policy_name: Signup Policy Name. Only applies to AAD B2C Identity Provider. :type signup_policy_name: str :param signin_policy_name: Signin Policy Name. Only applies to AAD B2C Identity Provider. :type signin_policy_name: str :param profile_editing_policy_name: Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. :type profile_editing_policy_name: str :param password_reset_policy_name: Password Reset Policy Name. Only applies to AAD B2C Identity Provider. :type password_reset_policy_name: str """ _validation = { 'allowed_tenants': {'max_items': 32}, 'signup_policy_name': {'min_length': 1}, 'signin_policy_name': {'min_length': 1}, 'profile_editing_policy_name': {'min_length': 1}, 'password_reset_policy_name': {'min_length': 1}, } _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'signin_tenant': {'key': 'signinTenant', 'type': 'str'}, 'allowed_tenants': {'key': 'allowedTenants', 'type': '[str]'}, 'authority': {'key': 'authority', 'type': 'str'}, 'signup_policy_name': {'key': 'signupPolicyName', 'type': 'str'}, 'signin_policy_name': {'key': 'signinPolicyName', 'type': 'str'}, 'profile_editing_policy_name': {'key': 'profileEditingPolicyName', 'type': 'str'}, 'password_reset_policy_name': {'key': 'passwordResetPolicyName', 'type': 'str'}, } def __init__(self, *, type=None, signin_tenant: str=None, allowed_tenants=None, authority: str=None, signup_policy_name: str=None, signin_policy_name: str=None, profile_editing_policy_name: str=None, password_reset_policy_name: str=None, **kwargs) -> None: super(IdentityProviderBaseParameters, self).__init__(**kwargs) self.type = type self.signin_tenant = signin_tenant self.allowed_tenants = allowed_tenants self.authority = authority self.signup_policy_name = signup_policy_name self.signin_policy_name = signin_policy_name self.profile_editing_policy_name = profile_editing_policy_name self.password_reset_policy_name = password_reset_policy_name
[docs]class IdentityProviderContract(Resource): """Identity Provider details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param identity_provider_contract_type: Identity Provider Type identifier. Possible values include: 'facebook', 'google', 'microsoft', 'twitter', 'aad', 'aadB2C' :type identity_provider_contract_type: str or ~azure.mgmt.apimanagement.models.IdentityProviderType :param signin_tenant: The TenantId to use instead of Common when logging into Active Directory :type signin_tenant: str :param allowed_tenants: List of Allowed Tenants when configuring Azure Active Directory login. :type allowed_tenants: list[str] :param authority: OpenID Connect discovery endpoint hostname for AAD or AAD B2C. :type authority: str :param signup_policy_name: Signup Policy Name. Only applies to AAD B2C Identity Provider. :type signup_policy_name: str :param signin_policy_name: Signin Policy Name. Only applies to AAD B2C Identity Provider. :type signin_policy_name: str :param profile_editing_policy_name: Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. :type profile_editing_policy_name: str :param password_reset_policy_name: Password Reset Policy Name. Only applies to AAD B2C Identity Provider. :type password_reset_policy_name: str :param client_id: Required. Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. :type client_id: str :param client_secret: Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type client_secret: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'allowed_tenants': {'max_items': 32}, 'signup_policy_name': {'min_length': 1}, 'signin_policy_name': {'min_length': 1}, 'profile_editing_policy_name': {'min_length': 1}, 'password_reset_policy_name': {'min_length': 1}, 'client_id': {'required': True, 'min_length': 1}, 'client_secret': {'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'identity_provider_contract_type': {'key': 'properties.type', 'type': 'str'}, 'signin_tenant': {'key': 'properties.signinTenant', 'type': 'str'}, 'allowed_tenants': {'key': 'properties.allowedTenants', 'type': '[str]'}, 'authority': {'key': 'properties.authority', 'type': 'str'}, 'signup_policy_name': {'key': 'properties.signupPolicyName', 'type': 'str'}, 'signin_policy_name': {'key': 'properties.signinPolicyName', 'type': 'str'}, 'profile_editing_policy_name': {'key': 'properties.profileEditingPolicyName', 'type': 'str'}, 'password_reset_policy_name': {'key': 'properties.passwordResetPolicyName', 'type': 'str'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, client_id: str, identity_provider_contract_type=None, signin_tenant: str=None, allowed_tenants=None, authority: str=None, signup_policy_name: str=None, signin_policy_name: str=None, profile_editing_policy_name: str=None, password_reset_policy_name: str=None, client_secret: str=None, **kwargs) -> None: super(IdentityProviderContract, self).__init__(**kwargs) self.identity_provider_contract_type = identity_provider_contract_type self.signin_tenant = signin_tenant self.allowed_tenants = allowed_tenants self.authority = authority self.signup_policy_name = signup_policy_name self.signin_policy_name = signin_policy_name self.profile_editing_policy_name = profile_editing_policy_name self.password_reset_policy_name = password_reset_policy_name self.client_id = client_id self.client_secret = client_secret
[docs]class IdentityProviderCreateContract(Resource): """Identity Provider details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param identity_provider_create_contract_type: Identity Provider Type identifier. Possible values include: 'facebook', 'google', 'microsoft', 'twitter', 'aad', 'aadB2C' :type identity_provider_create_contract_type: str or ~azure.mgmt.apimanagement.models.IdentityProviderType :param signin_tenant: The TenantId to use instead of Common when logging into Active Directory :type signin_tenant: str :param allowed_tenants: List of Allowed Tenants when configuring Azure Active Directory login. :type allowed_tenants: list[str] :param authority: OpenID Connect discovery endpoint hostname for AAD or AAD B2C. :type authority: str :param signup_policy_name: Signup Policy Name. Only applies to AAD B2C Identity Provider. :type signup_policy_name: str :param signin_policy_name: Signin Policy Name. Only applies to AAD B2C Identity Provider. :type signin_policy_name: str :param profile_editing_policy_name: Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. :type profile_editing_policy_name: str :param password_reset_policy_name: Password Reset Policy Name. Only applies to AAD B2C Identity Provider. :type password_reset_policy_name: str :param client_id: Required. Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. :type client_id: str :param client_secret: Required. Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type client_secret: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'allowed_tenants': {'max_items': 32}, 'signup_policy_name': {'min_length': 1}, 'signin_policy_name': {'min_length': 1}, 'profile_editing_policy_name': {'min_length': 1}, 'password_reset_policy_name': {'min_length': 1}, 'client_id': {'required': True, 'min_length': 1}, 'client_secret': {'required': True, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'identity_provider_create_contract_type': {'key': 'properties.type', 'type': 'str'}, 'signin_tenant': {'key': 'properties.signinTenant', 'type': 'str'}, 'allowed_tenants': {'key': 'properties.allowedTenants', 'type': '[str]'}, 'authority': {'key': 'properties.authority', 'type': 'str'}, 'signup_policy_name': {'key': 'properties.signupPolicyName', 'type': 'str'}, 'signin_policy_name': {'key': 'properties.signinPolicyName', 'type': 'str'}, 'profile_editing_policy_name': {'key': 'properties.profileEditingPolicyName', 'type': 'str'}, 'password_reset_policy_name': {'key': 'properties.passwordResetPolicyName', 'type': 'str'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, client_id: str, client_secret: str, identity_provider_create_contract_type=None, signin_tenant: str=None, allowed_tenants=None, authority: str=None, signup_policy_name: str=None, signin_policy_name: str=None, profile_editing_policy_name: str=None, password_reset_policy_name: str=None, **kwargs) -> None: super(IdentityProviderCreateContract, self).__init__(**kwargs) self.identity_provider_create_contract_type = identity_provider_create_contract_type self.signin_tenant = signin_tenant self.allowed_tenants = allowed_tenants self.authority = authority self.signup_policy_name = signup_policy_name self.signin_policy_name = signin_policy_name self.profile_editing_policy_name = profile_editing_policy_name self.password_reset_policy_name = password_reset_policy_name self.client_id = client_id self.client_secret = client_secret
[docs]class IdentityProviderUpdateParameters(Model): """Parameters supplied to update Identity Provider. :param type: Identity Provider Type identifier. Possible values include: 'facebook', 'google', 'microsoft', 'twitter', 'aad', 'aadB2C' :type type: str or ~azure.mgmt.apimanagement.models.IdentityProviderType :param signin_tenant: The TenantId to use instead of Common when logging into Active Directory :type signin_tenant: str :param allowed_tenants: List of Allowed Tenants when configuring Azure Active Directory login. :type allowed_tenants: list[str] :param authority: OpenID Connect discovery endpoint hostname for AAD or AAD B2C. :type authority: str :param signup_policy_name: Signup Policy Name. Only applies to AAD B2C Identity Provider. :type signup_policy_name: str :param signin_policy_name: Signin Policy Name. Only applies to AAD B2C Identity Provider. :type signin_policy_name: str :param profile_editing_policy_name: Profile Editing Policy Name. Only applies to AAD B2C Identity Provider. :type profile_editing_policy_name: str :param password_reset_policy_name: Password Reset Policy Name. Only applies to AAD B2C Identity Provider. :type password_reset_policy_name: str :param client_id: Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft. :type client_id: str :param client_secret: Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. :type client_secret: str """ _validation = { 'allowed_tenants': {'max_items': 32}, 'signup_policy_name': {'min_length': 1}, 'signin_policy_name': {'min_length': 1}, 'profile_editing_policy_name': {'min_length': 1}, 'password_reset_policy_name': {'min_length': 1}, 'client_id': {'min_length': 1}, 'client_secret': {'min_length': 1}, } _attribute_map = { 'type': {'key': 'properties.type', 'type': 'str'}, 'signin_tenant': {'key': 'properties.signinTenant', 'type': 'str'}, 'allowed_tenants': {'key': 'properties.allowedTenants', 'type': '[str]'}, 'authority': {'key': 'properties.authority', 'type': 'str'}, 'signup_policy_name': {'key': 'properties.signupPolicyName', 'type': 'str'}, 'signin_policy_name': {'key': 'properties.signinPolicyName', 'type': 'str'}, 'profile_editing_policy_name': {'key': 'properties.profileEditingPolicyName', 'type': 'str'}, 'password_reset_policy_name': {'key': 'properties.passwordResetPolicyName', 'type': 'str'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, type=None, signin_tenant: str=None, allowed_tenants=None, authority: str=None, signup_policy_name: str=None, signin_policy_name: str=None, profile_editing_policy_name: str=None, password_reset_policy_name: str=None, client_id: str=None, client_secret: str=None, **kwargs) -> None: super(IdentityProviderUpdateParameters, self).__init__(**kwargs) self.type = type self.signin_tenant = signin_tenant self.allowed_tenants = allowed_tenants self.authority = authority self.signup_policy_name = signup_policy_name self.signin_policy_name = signin_policy_name self.profile_editing_policy_name = profile_editing_policy_name self.password_reset_policy_name = password_reset_policy_name self.client_id = client_id self.client_secret = client_secret
[docs]class IssueAttachmentContract(Resource): """Issue Attachment Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param title: Required. Filename by which the binary data will be saved. :type title: str :param content_format: Required. Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property. :type content_format: str :param content: Required. An HTTP link or Base64-encoded binary data. :type content: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'title': {'required': True}, 'content_format': {'required': True}, 'content': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'content_format': {'key': 'properties.contentFormat', 'type': 'str'}, 'content': {'key': 'properties.content', 'type': 'str'}, } def __init__(self, *, title: str, content_format: str, content: str, **kwargs) -> None: super(IssueAttachmentContract, self).__init__(**kwargs) self.title = title self.content_format = content_format self.content = content
[docs]class IssueCommentContract(Resource): """Issue Comment Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param text: Required. Comment text. :type text: str :param created_date: Date and time when the comment was created. :type created_date: datetime :param user_id: Required. A resource identifier for the user who left the comment. :type user_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'text': {'required': True}, 'user_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'text': {'key': 'properties.text', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'user_id': {'key': 'properties.userId', 'type': 'str'}, } def __init__(self, *, text: str, user_id: str, created_date=None, **kwargs) -> None: super(IssueCommentContract, self).__init__(**kwargs) self.text = text self.created_date = created_date self.user_id = user_id
[docs]class IssueContract(Resource): """Issue Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param created_date: Date and time when the issue was created. :type created_date: datetime :param state: Status of the issue. Possible values include: 'proposed', 'open', 'removed', 'resolved', 'closed' :type state: str or ~azure.mgmt.apimanagement.models.State :param api_id: A resource identifier for the API the issue was created for. :type api_id: str :param title: Required. The issue title. :type title: str :param description: Required. Text describing the issue. :type description: str :param user_id: Required. A resource identifier for the user created the issue. :type user_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'title': {'required': True}, 'description': {'required': True}, 'user_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'state': {'key': 'properties.state', 'type': 'str'}, 'api_id': {'key': 'properties.apiId', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'user_id': {'key': 'properties.userId', 'type': 'str'}, } def __init__(self, *, title: str, description: str, user_id: str, created_date=None, state=None, api_id: str=None, **kwargs) -> None: super(IssueContract, self).__init__(**kwargs) self.created_date = created_date self.state = state self.api_id = api_id self.title = title self.description = description self.user_id = user_id
[docs]class IssueContractBaseProperties(Model): """Issue contract Base Properties. :param created_date: Date and time when the issue was created. :type created_date: datetime :param state: Status of the issue. Possible values include: 'proposed', 'open', 'removed', 'resolved', 'closed' :type state: str or ~azure.mgmt.apimanagement.models.State :param api_id: A resource identifier for the API the issue was created for. :type api_id: str """ _attribute_map = { 'created_date': {'key': 'createdDate', 'type': 'iso-8601'}, 'state': {'key': 'state', 'type': 'str'}, 'api_id': {'key': 'apiId', 'type': 'str'}, } def __init__(self, *, created_date=None, state=None, api_id: str=None, **kwargs) -> None: super(IssueContractBaseProperties, self).__init__(**kwargs) self.created_date = created_date self.state = state self.api_id = api_id
[docs]class IssueUpdateContract(Model): """Issue update Parameters. :param created_date: Date and time when the issue was created. :type created_date: datetime :param state: Status of the issue. Possible values include: 'proposed', 'open', 'removed', 'resolved', 'closed' :type state: str or ~azure.mgmt.apimanagement.models.State :param api_id: A resource identifier for the API the issue was created for. :type api_id: str :param title: The issue title. :type title: str :param description: Text describing the issue. :type description: str :param user_id: A resource identifier for the user created the issue. :type user_id: str """ _attribute_map = { 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'state': {'key': 'properties.state', 'type': 'str'}, 'api_id': {'key': 'properties.apiId', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'user_id': {'key': 'properties.userId', 'type': 'str'}, } def __init__(self, *, created_date=None, state=None, api_id: str=None, title: str=None, description: str=None, user_id: str=None, **kwargs) -> None: super(IssueUpdateContract, self).__init__(**kwargs) self.created_date = created_date self.state = state self.api_id = api_id self.title = title self.description = description self.user_id = user_id
[docs]class LoggerContract(Resource): """Logger details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param logger_type: Required. Logger type. Possible values include: 'azureEventHub', 'applicationInsights' :type logger_type: str or ~azure.mgmt.apimanagement.models.LoggerType :param description: Logger description. :type description: str :param credentials: Required. The name and SendRule connection string of the event hub for azureEventHub logger. Instrumentation key for applicationInsights logger. :type credentials: dict[str, str] :param is_buffered: Whether records are buffered in the logger before publishing. Default is assumed to be true. :type is_buffered: bool :param resource_id: Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource). :type resource_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'logger_type': {'required': True}, 'description': {'max_length': 256}, 'credentials': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'logger_type': {'key': 'properties.loggerType', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'credentials': {'key': 'properties.credentials', 'type': '{str}'}, 'is_buffered': {'key': 'properties.isBuffered', 'type': 'bool'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, } def __init__(self, *, logger_type, credentials, description: str=None, is_buffered: bool=None, resource_id: str=None, **kwargs) -> None: super(LoggerContract, self).__init__(**kwargs) self.logger_type = logger_type self.description = description self.credentials = credentials self.is_buffered = is_buffered self.resource_id = resource_id
[docs]class LoggerUpdateContract(Model): """Logger update contract. :param logger_type: Logger type. Possible values include: 'azureEventHub', 'applicationInsights' :type logger_type: str or ~azure.mgmt.apimanagement.models.LoggerType :param description: Logger description. :type description: str :param credentials: Logger credentials. :type credentials: dict[str, str] :param is_buffered: Whether records are buffered in the logger before publishing. Default is assumed to be true. :type is_buffered: bool """ _attribute_map = { 'logger_type': {'key': 'properties.loggerType', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'credentials': {'key': 'properties.credentials', 'type': '{str}'}, 'is_buffered': {'key': 'properties.isBuffered', 'type': 'bool'}, } def __init__(self, *, logger_type=None, description: str=None, credentials=None, is_buffered: bool=None, **kwargs) -> None: super(LoggerUpdateContract, self).__init__(**kwargs) self.logger_type = logger_type self.description = description self.credentials = credentials self.is_buffered = is_buffered
[docs]class NamedValueContract(Resource): """NamedValue details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param tags: Optional tags that when provided can be used to filter the NamedValue list. :type tags: list[str] :param secret: Determines whether the value is a secret and should be encrypted or not. Default value is false. :type secret: bool :param display_name: Required. Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. :type display_name: str :param value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type value: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'tags': {'max_items': 32}, 'display_name': {'required': True, 'max_length': 256, 'min_length': 1, 'pattern': r'^[A-Za-z0-9-._]+$'}, 'value': {'max_length': 4096, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'properties.tags', 'type': '[str]'}, 'secret': {'key': 'properties.secret', 'type': 'bool'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'value': {'key': 'properties.value', 'type': 'str'}, } def __init__(self, *, display_name: str, tags=None, secret: bool=None, value: str=None, **kwargs) -> None: super(NamedValueContract, self).__init__(**kwargs) self.tags = tags self.secret = secret self.display_name = display_name self.value = value
[docs]class NamedValueCreateContract(Resource): """NamedValue details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param tags: Optional tags that when provided can be used to filter the NamedValue list. :type tags: list[str] :param secret: Determines whether the value is a secret and should be encrypted or not. Default value is false. :type secret: bool :param display_name: Required. Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. :type display_name: str :param value: Required. Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type value: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'tags': {'max_items': 32}, 'display_name': {'required': True, 'max_length': 256, 'min_length': 1, 'pattern': r'^[A-Za-z0-9-._]+$'}, 'value': {'required': True, 'max_length': 4096, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'properties.tags', 'type': '[str]'}, 'secret': {'key': 'properties.secret', 'type': 'bool'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'value': {'key': 'properties.value', 'type': 'str'}, } def __init__(self, *, display_name: str, value: str, tags=None, secret: bool=None, **kwargs) -> None: super(NamedValueCreateContract, self).__init__(**kwargs) self.tags = tags self.secret = secret self.display_name = display_name self.value = value
[docs]class NamedValueEntityBaseParameters(Model): """NamedValue Entity Base Parameters set. :param tags: Optional tags that when provided can be used to filter the NamedValue list. :type tags: list[str] :param secret: Determines whether the value is a secret and should be encrypted or not. Default value is false. :type secret: bool """ _validation = { 'tags': {'max_items': 32}, } _attribute_map = { 'tags': {'key': 'tags', 'type': '[str]'}, 'secret': {'key': 'secret', 'type': 'bool'}, } def __init__(self, *, tags=None, secret: bool=None, **kwargs) -> None: super(NamedValueEntityBaseParameters, self).__init__(**kwargs) self.tags = tags self.secret = secret
[docs]class NamedValueUpdateParameters(Model): """NamedValue update Parameters. :param tags: Optional tags that when provided can be used to filter the NamedValue list. :type tags: list[str] :param secret: Determines whether the value is a secret and should be encrypted or not. Default value is false. :type secret: bool :param display_name: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters. :type display_name: str :param value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. :type value: str """ _validation = { 'tags': {'max_items': 32}, 'display_name': {'max_length': 256, 'min_length': 1, 'pattern': r'^[A-Za-z0-9-._]+$'}, 'value': {'max_length': 4096, 'min_length': 1}, } _attribute_map = { 'tags': {'key': 'properties.tags', 'type': '[str]'}, 'secret': {'key': 'properties.secret', 'type': 'bool'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'value': {'key': 'properties.value', 'type': 'str'}, } def __init__(self, *, tags=None, secret: bool=None, display_name: str=None, value: str=None, **kwargs) -> None: super(NamedValueUpdateParameters, self).__init__(**kwargs) self.tags = tags self.secret = secret self.display_name = display_name self.value = value
[docs]class NetworkStatusContract(Model): """Network Status details. All required parameters must be populated in order to send to Azure. :param dns_servers: Required. Gets the list of DNS servers IPV4 addresses. :type dns_servers: list[str] :param connectivity_status: Required. Gets the list of Connectivity Status to the Resources on which the service depends upon. :type connectivity_status: list[~azure.mgmt.apimanagement.models.ConnectivityStatusContract] """ _validation = { 'dns_servers': {'required': True}, 'connectivity_status': {'required': True}, } _attribute_map = { 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 'connectivity_status': {'key': 'connectivityStatus', 'type': '[ConnectivityStatusContract]'}, } def __init__(self, *, dns_servers, connectivity_status, **kwargs) -> None: super(NetworkStatusContract, self).__init__(**kwargs) self.dns_servers = dns_servers self.connectivity_status = connectivity_status
[docs]class NetworkStatusContractByLocation(Model): """Network Status in the Location. :param location: Location of service :type location: str :param network_status: Network status in Location :type network_status: ~azure.mgmt.apimanagement.models.NetworkStatusContract """ _validation = { 'location': {'min_length': 1}, } _attribute_map = { 'location': {'key': 'location', 'type': 'str'}, 'network_status': {'key': 'networkStatus', 'type': 'NetworkStatusContract'}, } def __init__(self, *, location: str=None, network_status=None, **kwargs) -> None: super(NetworkStatusContractByLocation, self).__init__(**kwargs) self.location = location self.network_status = network_status
[docs]class NotificationContract(Resource): """Notification details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param title: Required. Title of the Notification. :type title: str :param description: Description of the Notification. :type description: str :param recipients: Recipient Parameter values. :type recipients: ~azure.mgmt.apimanagement.models.RecipientsContractProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'title': {'required': True, 'max_length': 1000, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'recipients': {'key': 'properties.recipients', 'type': 'RecipientsContractProperties'}, } def __init__(self, *, title: str, description: str=None, recipients=None, **kwargs) -> None: super(NotificationContract, self).__init__(**kwargs) self.title = title self.description = description self.recipients = recipients
[docs]class OAuth2AuthenticationSettingsContract(Model): """API OAuth2 Authentication settings details. :param authorization_server_id: OAuth authorization server identifier. :type authorization_server_id: str :param scope: operations scope. :type scope: str """ _attribute_map = { 'authorization_server_id': {'key': 'authorizationServerId', 'type': 'str'}, 'scope': {'key': 'scope', 'type': 'str'}, } def __init__(self, *, authorization_server_id: str=None, scope: str=None, **kwargs) -> None: super(OAuth2AuthenticationSettingsContract, self).__init__(**kwargs) self.authorization_server_id = authorization_server_id self.scope = scope
[docs]class OpenIdAuthenticationSettingsContract(Model): """API OAuth2 Authentication settings details. :param openid_provider_id: OAuth authorization server identifier. :type openid_provider_id: str :param bearer_token_sending_methods: How to send token to the server. :type bearer_token_sending_methods: list[str or ~azure.mgmt.apimanagement.models.BearerTokenSendingMethods] """ _attribute_map = { 'openid_provider_id': {'key': 'openidProviderId', 'type': 'str'}, 'bearer_token_sending_methods': {'key': 'bearerTokenSendingMethods', 'type': '[str]'}, } def __init__(self, *, openid_provider_id: str=None, bearer_token_sending_methods=None, **kwargs) -> None: super(OpenIdAuthenticationSettingsContract, self).__init__(**kwargs) self.openid_provider_id = openid_provider_id self.bearer_token_sending_methods = bearer_token_sending_methods
[docs]class OpenidConnectProviderContract(Resource): """OpenId Connect Provider details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param display_name: Required. User-friendly OpenID Connect Provider name. :type display_name: str :param description: User-friendly description of OpenID Connect Provider. :type description: str :param metadata_endpoint: Required. Metadata endpoint URI. :type metadata_endpoint: str :param client_id: Required. Client ID of developer console which is the client application. :type client_id: str :param client_secret: Client Secret of developer console which is the client application. :type client_secret: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'required': True, 'max_length': 50}, 'metadata_endpoint': {'required': True}, 'client_id': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'metadata_endpoint': {'key': 'properties.metadataEndpoint', 'type': 'str'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, display_name: str, metadata_endpoint: str, client_id: str, description: str=None, client_secret: str=None, **kwargs) -> None: super(OpenidConnectProviderContract, self).__init__(**kwargs) self.display_name = display_name self.description = description self.metadata_endpoint = metadata_endpoint self.client_id = client_id self.client_secret = client_secret
[docs]class OpenidConnectProviderUpdateContract(Model): """Parameters supplied to the Update OpenID Connect Provider operation. :param display_name: User-friendly OpenID Connect Provider name. :type display_name: str :param description: User-friendly description of OpenID Connect Provider. :type description: str :param metadata_endpoint: Metadata endpoint URI. :type metadata_endpoint: str :param client_id: Client ID of developer console which is the client application. :type client_id: str :param client_secret: Client Secret of developer console which is the client application. :type client_secret: str """ _validation = { 'display_name': {'max_length': 50}, } _attribute_map = { 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'metadata_endpoint': {'key': 'properties.metadataEndpoint', 'type': 'str'}, 'client_id': {'key': 'properties.clientId', 'type': 'str'}, 'client_secret': {'key': 'properties.clientSecret', 'type': 'str'}, } def __init__(self, *, display_name: str=None, description: str=None, metadata_endpoint: str=None, client_id: str=None, client_secret: str=None, **kwargs) -> None: super(OpenidConnectProviderUpdateContract, self).__init__(**kwargs) self.display_name = display_name self.description = description self.metadata_endpoint = metadata_endpoint self.client_id = client_id self.client_secret = client_secret
[docs]class Operation(Model): """REST API operation. :param name: Operation name: {provider}/{resource}/{operation} :type name: str :param display: The object that describes the operation. :type display: ~azure.mgmt.apimanagement.models.OperationDisplay :param origin: The operation origin. :type origin: str :param properties: The operation properties. :type properties: object """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, 'origin': {'key': 'origin', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'object'}, } def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None: super(Operation, self).__init__(**kwargs) self.name = name self.display = display self.origin = origin self.properties = properties
[docs]class OperationContract(Resource): """Api Operation details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param template_parameters: Collection of URL template parameters. :type template_parameters: list[~azure.mgmt.apimanagement.models.ParameterContract] :param description: Description of the operation. May include HTML formatting tags. :type description: str :param request: An entity containing request details. :type request: ~azure.mgmt.apimanagement.models.RequestContract :param responses: Array of Operation responses. :type responses: list[~azure.mgmt.apimanagement.models.ResponseContract] :param policies: Operation Policies :type policies: str :param display_name: Required. Operation Name. :type display_name: str :param method: Required. A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. :type method: str :param url_template: Required. Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} :type url_template: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'description': {'max_length': 1000}, 'display_name': {'required': True, 'max_length': 300, 'min_length': 1}, 'method': {'required': True}, 'url_template': {'required': True, 'max_length': 1000, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'template_parameters': {'key': 'properties.templateParameters', 'type': '[ParameterContract]'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'request': {'key': 'properties.request', 'type': 'RequestContract'}, 'responses': {'key': 'properties.responses', 'type': '[ResponseContract]'}, 'policies': {'key': 'properties.policies', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'method': {'key': 'properties.method', 'type': 'str'}, 'url_template': {'key': 'properties.urlTemplate', 'type': 'str'}, } def __init__(self, *, display_name: str, method: str, url_template: str, template_parameters=None, description: str=None, request=None, responses=None, policies: str=None, **kwargs) -> None: super(OperationContract, self).__init__(**kwargs) self.template_parameters = template_parameters self.description = description self.request = request self.responses = responses self.policies = policies self.display_name = display_name self.method = method self.url_template = url_template
[docs]class OperationDisplay(Model): """The object that describes the operation. :param provider: Friendly name of the resource provider :type provider: str :param operation: Operation type: read, write, delete, listKeys/action, etc. :type operation: str :param resource: Resource type on which the operation is performed. :type resource: str :param description: Friendly name of the operation :type description: str """ _attribute_map = { 'provider': {'key': 'provider', 'type': 'str'}, 'operation': {'key': 'operation', 'type': 'str'}, 'resource': {'key': 'resource', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, } def __init__(self, *, provider: str=None, operation: str=None, resource: str=None, description: str=None, **kwargs) -> None: super(OperationDisplay, self).__init__(**kwargs) self.provider = provider self.operation = operation self.resource = resource self.description = description
[docs]class OperationEntityBaseContract(Model): """Api Operation Entity Base Contract details. :param template_parameters: Collection of URL template parameters. :type template_parameters: list[~azure.mgmt.apimanagement.models.ParameterContract] :param description: Description of the operation. May include HTML formatting tags. :type description: str :param request: An entity containing request details. :type request: ~azure.mgmt.apimanagement.models.RequestContract :param responses: Array of Operation responses. :type responses: list[~azure.mgmt.apimanagement.models.ResponseContract] :param policies: Operation Policies :type policies: str """ _validation = { 'description': {'max_length': 1000}, } _attribute_map = { 'template_parameters': {'key': 'templateParameters', 'type': '[ParameterContract]'}, 'description': {'key': 'description', 'type': 'str'}, 'request': {'key': 'request', 'type': 'RequestContract'}, 'responses': {'key': 'responses', 'type': '[ResponseContract]'}, 'policies': {'key': 'policies', 'type': 'str'}, } def __init__(self, *, template_parameters=None, description: str=None, request=None, responses=None, policies: str=None, **kwargs) -> None: super(OperationEntityBaseContract, self).__init__(**kwargs) self.template_parameters = template_parameters self.description = description self.request = request self.responses = responses self.policies = policies
[docs]class OperationResultContract(Model): """Operation Result. Variables are only populated by the server, and will be ignored when sending a request. :param id: Operation result identifier. :type id: str :param status: Status of an async operation. Possible values include: 'Started', 'InProgress', 'Succeeded', 'Failed' :type status: str or ~azure.mgmt.apimanagement.models.AsyncOperationStatus :param started: Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type started: datetime :param updated: Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type updated: datetime :param result_info: Optional result info. :type result_info: str :param error: Error Body Contract :type error: ~azure.mgmt.apimanagement.models.ErrorResponseBody :ivar action_log: This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation. :vartype action_log: list[~azure.mgmt.apimanagement.models.OperationResultLogItemContract] """ _validation = { 'action_log': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'status': {'key': 'status', 'type': 'AsyncOperationStatus'}, 'started': {'key': 'started', 'type': 'iso-8601'}, 'updated': {'key': 'updated', 'type': 'iso-8601'}, 'result_info': {'key': 'resultInfo', 'type': 'str'}, 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, 'action_log': {'key': 'actionLog', 'type': '[OperationResultLogItemContract]'}, } def __init__(self, *, id: str=None, status=None, started=None, updated=None, result_info: str=None, error=None, **kwargs) -> None: super(OperationResultContract, self).__init__(**kwargs) self.id = id self.status = status self.started = started self.updated = updated self.result_info = result_info self.error = error self.action_log = None
[docs]class OperationResultLogItemContract(Model): """Log of the entity being created, updated or deleted. :param object_type: The type of entity contract. :type object_type: str :param action: Action like create/update/delete. :type action: str :param object_key: Identifier of the entity being created/updated/deleted. :type object_key: str """ _attribute_map = { 'object_type': {'key': 'objectType', 'type': 'str'}, 'action': {'key': 'action', 'type': 'str'}, 'object_key': {'key': 'objectKey', 'type': 'str'}, } def __init__(self, *, object_type: str=None, action: str=None, object_key: str=None, **kwargs) -> None: super(OperationResultLogItemContract, self).__init__(**kwargs) self.object_type = object_type self.action = action self.object_key = object_key
[docs]class OperationTagResourceContractProperties(Model): """Operation Entity contract Properties. Variables are only populated by the server, and will be ignored when sending a request. :param id: Identifier of the operation in form /operations/{operationId}. :type id: str :ivar name: Operation name. :vartype name: str :ivar api_name: Api Name. :vartype api_name: str :ivar api_revision: Api Revision. :vartype api_revision: str :ivar api_version: Api Version. :vartype api_version: str :ivar description: Operation Description. :vartype description: str :ivar method: A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. :vartype method: str :ivar url_template: Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} :vartype url_template: str """ _validation = { 'name': {'readonly': True}, 'api_name': {'readonly': True}, 'api_revision': {'readonly': True}, 'api_version': {'readonly': True}, 'description': {'readonly': True}, 'method': {'readonly': True}, 'url_template': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'api_name': {'key': 'apiName', 'type': 'str'}, 'api_revision': {'key': 'apiRevision', 'type': 'str'}, 'api_version': {'key': 'apiVersion', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'method': {'key': 'method', 'type': 'str'}, 'url_template': {'key': 'urlTemplate', 'type': 'str'}, } def __init__(self, *, id: str=None, **kwargs) -> None: super(OperationTagResourceContractProperties, self).__init__(**kwargs) self.id = id self.name = None self.api_name = None self.api_revision = None self.api_version = None self.description = None self.method = None self.url_template = None
[docs]class OperationUpdateContract(Model): """Api Operation Update Contract details. :param template_parameters: Collection of URL template parameters. :type template_parameters: list[~azure.mgmt.apimanagement.models.ParameterContract] :param description: Description of the operation. May include HTML formatting tags. :type description: str :param request: An entity containing request details. :type request: ~azure.mgmt.apimanagement.models.RequestContract :param responses: Array of Operation responses. :type responses: list[~azure.mgmt.apimanagement.models.ResponseContract] :param policies: Operation Policies :type policies: str :param display_name: Operation Name. :type display_name: str :param method: A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them. :type method: str :param url_template: Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date} :type url_template: str """ _validation = { 'description': {'max_length': 1000}, 'display_name': {'max_length': 300, 'min_length': 1}, 'url_template': {'max_length': 1000, 'min_length': 1}, } _attribute_map = { 'template_parameters': {'key': 'properties.templateParameters', 'type': '[ParameterContract]'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'request': {'key': 'properties.request', 'type': 'RequestContract'}, 'responses': {'key': 'properties.responses', 'type': '[ResponseContract]'}, 'policies': {'key': 'properties.policies', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'method': {'key': 'properties.method', 'type': 'str'}, 'url_template': {'key': 'properties.urlTemplate', 'type': 'str'}, } def __init__(self, *, template_parameters=None, description: str=None, request=None, responses=None, policies: str=None, display_name: str=None, method: str=None, url_template: str=None, **kwargs) -> None: super(OperationUpdateContract, self).__init__(**kwargs) self.template_parameters = template_parameters self.description = description self.request = request self.responses = responses self.policies = policies self.display_name = display_name self.method = method self.url_template = url_template
[docs]class ParameterContract(Model): """Operation parameters details. All required parameters must be populated in order to send to Azure. :param name: Required. Parameter name. :type name: str :param description: Parameter description. :type description: str :param type: Required. Parameter type. :type type: str :param default_value: Default parameter value. :type default_value: str :param required: Specifies whether parameter is required or not. :type required: bool :param values: Parameter values. :type values: list[str] """ _validation = { 'name': {'required': True}, 'type': {'required': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'default_value': {'key': 'defaultValue', 'type': 'str'}, 'required': {'key': 'required', 'type': 'bool'}, 'values': {'key': 'values', 'type': '[str]'}, } def __init__(self, *, name: str, type: str, description: str=None, default_value: str=None, required: bool=None, values=None, **kwargs) -> None: super(ParameterContract, self).__init__(**kwargs) self.name = name self.description = description self.type = type self.default_value = default_value self.required = required self.values = values
[docs]class PipelineDiagnosticSettings(Model): """Diagnostic settings for incoming/outgoing HTTP messages to the Gateway. :param request: Diagnostic settings for request. :type request: ~azure.mgmt.apimanagement.models.HttpMessageDiagnostic :param response: Diagnostic settings for response. :type response: ~azure.mgmt.apimanagement.models.HttpMessageDiagnostic """ _attribute_map = { 'request': {'key': 'request', 'type': 'HttpMessageDiagnostic'}, 'response': {'key': 'response', 'type': 'HttpMessageDiagnostic'}, } def __init__(self, *, request=None, response=None, **kwargs) -> None: super(PipelineDiagnosticSettings, self).__init__(**kwargs) self.request = request self.response = response
[docs]class PolicyCollection(Model): """The response of the list policy operation. :param value: Policy Contract value. :type value: list[~azure.mgmt.apimanagement.models.PolicyContract] :param next_link: Next page link if any. :type next_link: str """ _attribute_map = { 'value': {'key': 'value', 'type': '[PolicyContract]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: super(PolicyCollection, self).__init__(**kwargs) self.value = value self.next_link = next_link
[docs]class PolicyContract(Resource): """Policy Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param value: Required. Contents of the Policy as defined by the format. :type value: str :param format: Format of the policyContent. Possible values include: 'xml', 'xml-link', 'rawxml', 'rawxml-link'. Default value: "xml" . :type format: str or ~azure.mgmt.apimanagement.models.PolicyContentFormat """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'value': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'value': {'key': 'properties.value', 'type': 'str'}, 'format': {'key': 'properties.format', 'type': 'str'}, } def __init__(self, *, value: str, format="xml", **kwargs) -> None: super(PolicyContract, self).__init__(**kwargs) self.value = value self.format = format
[docs]class PolicyDescriptionCollection(Model): """Descriptions of APIM policies. :param value: Descriptions of APIM policies. :type value: list[~azure.mgmt.apimanagement.models.PolicyDescriptionContract] :param count: Total record count number. :type count: long """ _attribute_map = { 'value': {'key': 'value', 'type': '[PolicyDescriptionContract]'}, 'count': {'key': 'count', 'type': 'long'}, } def __init__(self, *, value=None, count: int=None, **kwargs) -> None: super(PolicyDescriptionCollection, self).__init__(**kwargs) self.value = value self.count = count
[docs]class PolicyDescriptionContract(Resource): """Policy description details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :ivar description: Policy description. :vartype description: str :ivar scope: Binary OR value of the Snippet scope. :vartype scope: int """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'description': {'readonly': True}, 'scope': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'scope': {'key': 'properties.scope', 'type': 'int'}, } def __init__(self, **kwargs) -> None: super(PolicyDescriptionContract, self).__init__(**kwargs) self.description = None self.scope = None
[docs]class PortalDelegationSettings(Resource): """Delegation settings for a developer portal. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param url: A delegation Url. :type url: str :param validation_key: A base64-encoded validation key to validate, that a request is coming from Azure API Management. :type validation_key: str :param subscriptions: Subscriptions delegation settings. :type subscriptions: ~azure.mgmt.apimanagement.models.SubscriptionsDelegationSettingsProperties :param user_registration: User registration delegation settings. :type user_registration: ~azure.mgmt.apimanagement.models.RegistrationDelegationSettingsProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'url': {'key': 'properties.url', 'type': 'str'}, 'validation_key': {'key': 'properties.validationKey', 'type': 'str'}, 'subscriptions': {'key': 'properties.subscriptions', 'type': 'SubscriptionsDelegationSettingsProperties'}, 'user_registration': {'key': 'properties.userRegistration', 'type': 'RegistrationDelegationSettingsProperties'}, } def __init__(self, *, url: str=None, validation_key: str=None, subscriptions=None, user_registration=None, **kwargs) -> None: super(PortalDelegationSettings, self).__init__(**kwargs) self.url = url self.validation_key = validation_key self.subscriptions = subscriptions self.user_registration = user_registration
[docs]class PortalSettingValidationKeyContract(Model): """Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. :param validation_key: This is secret value of the validation key in portal settings. :type validation_key: str """ _attribute_map = { 'validation_key': {'key': 'validationKey', 'type': 'str'}, } def __init__(self, *, validation_key: str=None, **kwargs) -> None: super(PortalSettingValidationKeyContract, self).__init__(**kwargs) self.validation_key = validation_key
[docs]class PortalSigninSettings(Resource): """Sign-In settings for the Developer Portal. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param enabled: Redirect Anonymous users to the Sign-In page. :type enabled: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } def __init__(self, *, enabled: bool=None, **kwargs) -> None: super(PortalSigninSettings, self).__init__(**kwargs) self.enabled = enabled
[docs]class PortalSignupSettings(Resource): """Sign-Up settings for a developer portal. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param enabled: Allow users to sign up on a developer portal. :type enabled: bool :param terms_of_service: Terms of service contract properties. :type terms_of_service: ~azure.mgmt.apimanagement.models.TermsOfServiceProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'terms_of_service': {'key': 'properties.termsOfService', 'type': 'TermsOfServiceProperties'}, } def __init__(self, *, enabled: bool=None, terms_of_service=None, **kwargs) -> None: super(PortalSignupSettings, self).__init__(**kwargs) self.enabled = enabled self.terms_of_service = terms_of_service
[docs]class ProductContract(Resource): """Product details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Product description. May include HTML formatting tags. :type description: str :param terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. :type terms: str :param subscription_required: Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. :type subscription_required: bool :param approval_required: whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. :type approval_required: bool :param subscriptions_limit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. :type subscriptions_limit: int :param state: whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published' :type state: str or ~azure.mgmt.apimanagement.models.ProductState :param display_name: Required. Product name. :type display_name: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'description': {'max_length': 1000, 'min_length': 1}, 'display_name': {'required': True, 'max_length': 300, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'terms': {'key': 'properties.terms', 'type': 'str'}, 'subscription_required': {'key': 'properties.subscriptionRequired', 'type': 'bool'}, 'approval_required': {'key': 'properties.approvalRequired', 'type': 'bool'}, 'subscriptions_limit': {'key': 'properties.subscriptionsLimit', 'type': 'int'}, 'state': {'key': 'properties.state', 'type': 'ProductState'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, } def __init__(self, *, display_name: str, description: str=None, terms: str=None, subscription_required: bool=None, approval_required: bool=None, subscriptions_limit: int=None, state=None, **kwargs) -> None: super(ProductContract, self).__init__(**kwargs) self.description = description self.terms = terms self.subscription_required = subscription_required self.approval_required = approval_required self.subscriptions_limit = subscriptions_limit self.state = state self.display_name = display_name
[docs]class ProductEntityBaseParameters(Model): """Product Entity Base Parameters. :param description: Product description. May include HTML formatting tags. :type description: str :param terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. :type terms: str :param subscription_required: Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. :type subscription_required: bool :param approval_required: whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. :type approval_required: bool :param subscriptions_limit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. :type subscriptions_limit: int :param state: whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published' :type state: str or ~azure.mgmt.apimanagement.models.ProductState """ _validation = { 'description': {'max_length': 1000, 'min_length': 1}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'terms': {'key': 'terms', 'type': 'str'}, 'subscription_required': {'key': 'subscriptionRequired', 'type': 'bool'}, 'approval_required': {'key': 'approvalRequired', 'type': 'bool'}, 'subscriptions_limit': {'key': 'subscriptionsLimit', 'type': 'int'}, 'state': {'key': 'state', 'type': 'ProductState'}, } def __init__(self, *, description: str=None, terms: str=None, subscription_required: bool=None, approval_required: bool=None, subscriptions_limit: int=None, state=None, **kwargs) -> None: super(ProductEntityBaseParameters, self).__init__(**kwargs) self.description = description self.terms = terms self.subscription_required = subscription_required self.approval_required = approval_required self.subscriptions_limit = subscriptions_limit self.state = state
[docs]class ProductTagResourceContractProperties(ProductEntityBaseParameters): """Product profile. All required parameters must be populated in order to send to Azure. :param description: Product description. May include HTML formatting tags. :type description: str :param terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. :type terms: str :param subscription_required: Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. :type subscription_required: bool :param approval_required: whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. :type approval_required: bool :param subscriptions_limit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. :type subscriptions_limit: int :param state: whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published' :type state: str or ~azure.mgmt.apimanagement.models.ProductState :param id: Identifier of the product in the form of /products/{productId} :type id: str :param name: Required. Product name. :type name: str """ _validation = { 'description': {'max_length': 1000, 'min_length': 1}, 'name': {'required': True, 'max_length': 300, 'min_length': 1}, } _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'terms': {'key': 'terms', 'type': 'str'}, 'subscription_required': {'key': 'subscriptionRequired', 'type': 'bool'}, 'approval_required': {'key': 'approvalRequired', 'type': 'bool'}, 'subscriptions_limit': {'key': 'subscriptionsLimit', 'type': 'int'}, 'state': {'key': 'state', 'type': 'ProductState'}, 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, name: str, description: str=None, terms: str=None, subscription_required: bool=None, approval_required: bool=None, subscriptions_limit: int=None, state=None, id: str=None, **kwargs) -> None: super(ProductTagResourceContractProperties, self).__init__(description=description, terms=terms, subscription_required=subscription_required, approval_required=approval_required, subscriptions_limit=subscriptions_limit, state=state, **kwargs) self.id = id self.name = name
[docs]class ProductUpdateParameters(Model): """Product Update parameters. :param description: Product description. May include HTML formatting tags. :type description: str :param terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process. :type terms: str :param subscription_required: Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true. :type subscription_required: bool :param approval_required: whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false. :type approval_required: bool :param subscriptions_limit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false. :type subscriptions_limit: int :param state: whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: 'notPublished', 'published' :type state: str or ~azure.mgmt.apimanagement.models.ProductState :param display_name: Product name. :type display_name: str """ _validation = { 'description': {'max_length': 1000, 'min_length': 1}, 'display_name': {'max_length': 300, 'min_length': 1}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'terms': {'key': 'properties.terms', 'type': 'str'}, 'subscription_required': {'key': 'properties.subscriptionRequired', 'type': 'bool'}, 'approval_required': {'key': 'properties.approvalRequired', 'type': 'bool'}, 'subscriptions_limit': {'key': 'properties.subscriptionsLimit', 'type': 'int'}, 'state': {'key': 'properties.state', 'type': 'ProductState'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, } def __init__(self, *, description: str=None, terms: str=None, subscription_required: bool=None, approval_required: bool=None, subscriptions_limit: int=None, state=None, display_name: str=None, **kwargs) -> None: super(ProductUpdateParameters, self).__init__(**kwargs) self.description = description self.terms = terms self.subscription_required = subscription_required self.approval_required = approval_required self.subscriptions_limit = subscriptions_limit self.state = state self.display_name = display_name
[docs]class PropertyValueContract(Model): """Client or app secret used in IdentityProviders, Aad, OpenID or OAuth. :param value: This is secret value of the NamedValue entity. :type value: str """ _attribute_map = { 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, value: str=None, **kwargs) -> None: super(PropertyValueContract, self).__init__(**kwargs) self.value = value
[docs]class QuotaCounterCollection(Model): """Paged Quota Counter list representation. :param value: Quota counter values. :type value: list[~azure.mgmt.apimanagement.models.QuotaCounterContract] :param count: Total record count number across all pages. :type count: long :param next_link: Next page link if any. :type next_link: str """ _attribute_map = { 'value': {'key': 'value', 'type': '[QuotaCounterContract]'}, 'count': {'key': 'count', 'type': 'long'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__(self, *, value=None, count: int=None, next_link: str=None, **kwargs) -> None: super(QuotaCounterCollection, self).__init__(**kwargs) self.value = value self.count = count self.next_link = next_link
[docs]class QuotaCounterContract(Model): """Quota counter details. All required parameters must be populated in order to send to Azure. :param counter_key: Required. The Key value of the Counter. Must not be empty. :type counter_key: str :param period_key: Required. Identifier of the Period for which the counter was collected. Must not be empty. :type period_key: str :param period_start_time: Required. The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type period_start_time: datetime :param period_end_time: Required. The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type period_end_time: datetime :param value: Quota Value Properties :type value: ~azure.mgmt.apimanagement.models.QuotaCounterValueContractProperties """ _validation = { 'counter_key': {'required': True, 'min_length': 1}, 'period_key': {'required': True, 'min_length': 1}, 'period_start_time': {'required': True}, 'period_end_time': {'required': True}, } _attribute_map = { 'counter_key': {'key': 'counterKey', 'type': 'str'}, 'period_key': {'key': 'periodKey', 'type': 'str'}, 'period_start_time': {'key': 'periodStartTime', 'type': 'iso-8601'}, 'period_end_time': {'key': 'periodEndTime', 'type': 'iso-8601'}, 'value': {'key': 'value', 'type': 'QuotaCounterValueContractProperties'}, } def __init__(self, *, counter_key: str, period_key: str, period_start_time, period_end_time, value=None, **kwargs) -> None: super(QuotaCounterContract, self).__init__(**kwargs) self.counter_key = counter_key self.period_key = period_key self.period_start_time = period_start_time self.period_end_time = period_end_time self.value = value
[docs]class QuotaCounterValueContract(Model): """Quota counter value details. :param calls_count: Number of times Counter was called. :type calls_count: int :param kb_transferred: Data Transferred in KiloBytes. :type kb_transferred: float """ _attribute_map = { 'calls_count': {'key': 'value.callsCount', 'type': 'int'}, 'kb_transferred': {'key': 'value.kbTransferred', 'type': 'float'}, } def __init__(self, *, calls_count: int=None, kb_transferred: float=None, **kwargs) -> None: super(QuotaCounterValueContract, self).__init__(**kwargs) self.calls_count = calls_count self.kb_transferred = kb_transferred
[docs]class QuotaCounterValueContractProperties(Model): """Quota counter value details. :param calls_count: Number of times Counter was called. :type calls_count: int :param kb_transferred: Data Transferred in KiloBytes. :type kb_transferred: float """ _attribute_map = { 'calls_count': {'key': 'callsCount', 'type': 'int'}, 'kb_transferred': {'key': 'kbTransferred', 'type': 'float'}, } def __init__(self, *, calls_count: int=None, kb_transferred: float=None, **kwargs) -> None: super(QuotaCounterValueContractProperties, self).__init__(**kwargs) self.calls_count = calls_count self.kb_transferred = kb_transferred
[docs]class RecipientEmailCollection(Model): """Paged Recipient User list representation. :param value: Page values. :type value: list[~azure.mgmt.apimanagement.models.RecipientEmailContract] :param next_link: Next page link if any. :type next_link: str """ _attribute_map = { 'value': {'key': 'value', 'type': '[RecipientEmailContract]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: super(RecipientEmailCollection, self).__init__(**kwargs) self.value = value self.next_link = next_link
[docs]class RecipientEmailContract(Resource): """Recipient Email details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param email: User Email subscribed to notification. :type email: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'email': {'key': 'properties.email', 'type': 'str'}, } def __init__(self, *, email: str=None, **kwargs) -> None: super(RecipientEmailContract, self).__init__(**kwargs) self.email = email
[docs]class RecipientsContractProperties(Model): """Notification Parameter contract. :param emails: List of Emails subscribed for the notification. :type emails: list[str] :param users: List of Users subscribed for the notification. :type users: list[str] """ _attribute_map = { 'emails': {'key': 'emails', 'type': '[str]'}, 'users': {'key': 'users', 'type': '[str]'}, } def __init__(self, *, emails=None, users=None, **kwargs) -> None: super(RecipientsContractProperties, self).__init__(**kwargs) self.emails = emails self.users = users
[docs]class RecipientUserCollection(Model): """Paged Recipient User list representation. :param value: Page values. :type value: list[~azure.mgmt.apimanagement.models.RecipientUserContract] :param next_link: Next page link if any. :type next_link: str """ _attribute_map = { 'value': {'key': 'value', 'type': '[RecipientUserContract]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: super(RecipientUserCollection, self).__init__(**kwargs) self.value = value self.next_link = next_link
[docs]class RecipientUserContract(Resource): """Recipient User details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param user_id: API Management UserId subscribed to notification. :type user_id: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'user_id': {'key': 'properties.userId', 'type': 'str'}, } def __init__(self, *, user_id: str=None, **kwargs) -> None: super(RecipientUserContract, self).__init__(**kwargs) self.user_id = user_id
[docs]class RegionContract(Model): """Region profile. Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Region name. :vartype name: str :param is_master_region: whether Region is the master region. :type is_master_region: bool :param is_deleted: whether Region is deleted. :type is_deleted: bool """ _validation = { 'name': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'is_master_region': {'key': 'isMasterRegion', 'type': 'bool'}, 'is_deleted': {'key': 'isDeleted', 'type': 'bool'}, } def __init__(self, *, is_master_region: bool=None, is_deleted: bool=None, **kwargs) -> None: super(RegionContract, self).__init__(**kwargs) self.name = None self.is_master_region = is_master_region self.is_deleted = is_deleted
[docs]class RegistrationDelegationSettingsProperties(Model): """User registration delegation settings properties. :param enabled: Enable or disable delegation for user registration. :type enabled: bool """ _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, } def __init__(self, *, enabled: bool=None, **kwargs) -> None: super(RegistrationDelegationSettingsProperties, self).__init__(**kwargs) self.enabled = enabled
[docs]class ReportRecordContract(Model): """Report data. Variables are only populated by the server, and will be ignored when sending a request. :param name: Name depending on report endpoint specifies product, API, operation or developer name. :type name: str :param timestamp: Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type timestamp: datetime :param interval: Length of aggregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). :type interval: str :param country: Country to which this record data is related. :type country: str :param region: Country region to which this record data is related. :type region: str :param zip: Zip code to which this record data is related. :type zip: str :ivar user_id: User identifier path. /users/{userId} :vartype user_id: str :ivar product_id: Product identifier path. /products/{productId} :vartype product_id: str :param api_id: API identifier path. /apis/{apiId} :type api_id: str :param operation_id: Operation identifier path. /apis/{apiId}/operations/{operationId} :type operation_id: str :param api_region: API region identifier. :type api_region: str :param subscription_id: Subscription identifier path. /subscriptions/{subscriptionId} :type subscription_id: str :param call_count_success: Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect :type call_count_success: int :param call_count_blocked: Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorized and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests :type call_count_blocked: int :param call_count_failed: Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600 :type call_count_failed: int :param call_count_other: Number of other calls. :type call_count_other: int :param call_count_total: Total number of calls. :type call_count_total: int :param bandwidth: Bandwidth consumed. :type bandwidth: long :param cache_hit_count: Number of times when content was served from cache policy. :type cache_hit_count: int :param cache_miss_count: Number of times content was fetched from backend. :type cache_miss_count: int :param api_time_avg: Average time it took to process request. :type api_time_avg: float :param api_time_min: Minimum time it took to process request. :type api_time_min: float :param api_time_max: Maximum time it took to process request. :type api_time_max: float :param service_time_avg: Average time it took to process request on backend. :type service_time_avg: float :param service_time_min: Minimum time it took to process request on backend. :type service_time_min: float :param service_time_max: Maximum time it took to process request on backend. :type service_time_max: float """ _validation = { 'user_id': {'readonly': True}, 'product_id': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 'interval': {'key': 'interval', 'type': 'str'}, 'country': {'key': 'country', 'type': 'str'}, 'region': {'key': 'region', 'type': 'str'}, 'zip': {'key': 'zip', 'type': 'str'}, 'user_id': {'key': 'userId', 'type': 'str'}, 'product_id': {'key': 'productId', 'type': 'str'}, 'api_id': {'key': 'apiId', 'type': 'str'}, 'operation_id': {'key': 'operationId', 'type': 'str'}, 'api_region': {'key': 'apiRegion', 'type': 'str'}, 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 'call_count_success': {'key': 'callCountSuccess', 'type': 'int'}, 'call_count_blocked': {'key': 'callCountBlocked', 'type': 'int'}, 'call_count_failed': {'key': 'callCountFailed', 'type': 'int'}, 'call_count_other': {'key': 'callCountOther', 'type': 'int'}, 'call_count_total': {'key': 'callCountTotal', 'type': 'int'}, 'bandwidth': {'key': 'bandwidth', 'type': 'long'}, 'cache_hit_count': {'key': 'cacheHitCount', 'type': 'int'}, 'cache_miss_count': {'key': 'cacheMissCount', 'type': 'int'}, 'api_time_avg': {'key': 'apiTimeAvg', 'type': 'float'}, 'api_time_min': {'key': 'apiTimeMin', 'type': 'float'}, 'api_time_max': {'key': 'apiTimeMax', 'type': 'float'}, 'service_time_avg': {'key': 'serviceTimeAvg', 'type': 'float'}, 'service_time_min': {'key': 'serviceTimeMin', 'type': 'float'}, 'service_time_max': {'key': 'serviceTimeMax', 'type': 'float'}, } def __init__(self, *, name: str=None, timestamp=None, interval: str=None, country: str=None, region: str=None, zip: str=None, api_id: str=None, operation_id: str=None, api_region: str=None, subscription_id: str=None, call_count_success: int=None, call_count_blocked: int=None, call_count_failed: int=None, call_count_other: int=None, call_count_total: int=None, bandwidth: int=None, cache_hit_count: int=None, cache_miss_count: int=None, api_time_avg: float=None, api_time_min: float=None, api_time_max: float=None, service_time_avg: float=None, service_time_min: float=None, service_time_max: float=None, **kwargs) -> None: super(ReportRecordContract, self).__init__(**kwargs) self.name = name self.timestamp = timestamp self.interval = interval self.country = country self.region = region self.zip = zip self.user_id = None self.product_id = None self.api_id = api_id self.operation_id = operation_id self.api_region = api_region self.subscription_id = subscription_id self.call_count_success = call_count_success self.call_count_blocked = call_count_blocked self.call_count_failed = call_count_failed self.call_count_other = call_count_other self.call_count_total = call_count_total self.bandwidth = bandwidth self.cache_hit_count = cache_hit_count self.cache_miss_count = cache_miss_count self.api_time_avg = api_time_avg self.api_time_min = api_time_min self.api_time_max = api_time_max self.service_time_avg = service_time_avg self.service_time_min = service_time_min self.service_time_max = service_time_max
[docs]class RepresentationContract(Model): """Operation request/response representation details. All required parameters must be populated in order to send to Azure. :param content_type: Required. Specifies a registered or custom content type for this representation, e.g. application/xml. :type content_type: str :param sample: An example of the representation. :type sample: str :param schema_id: Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. :type schema_id: str :param type_name: Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'. :type type_name: str :param form_parameters: Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.. :type form_parameters: list[~azure.mgmt.apimanagement.models.ParameterContract] """ _validation = { 'content_type': {'required': True}, } _attribute_map = { 'content_type': {'key': 'contentType', 'type': 'str'}, 'sample': {'key': 'sample', 'type': 'str'}, 'schema_id': {'key': 'schemaId', 'type': 'str'}, 'type_name': {'key': 'typeName', 'type': 'str'}, 'form_parameters': {'key': 'formParameters', 'type': '[ParameterContract]'}, } def __init__(self, *, content_type: str, sample: str=None, schema_id: str=None, type_name: str=None, form_parameters=None, **kwargs) -> None: super(RepresentationContract, self).__init__(**kwargs) self.content_type = content_type self.sample = sample self.schema_id = schema_id self.type_name = type_name self.form_parameters = form_parameters
[docs]class RequestContract(Model): """Operation request details. :param description: Operation request description. :type description: str :param query_parameters: Collection of operation request query parameters. :type query_parameters: list[~azure.mgmt.apimanagement.models.ParameterContract] :param headers: Collection of operation request headers. :type headers: list[~azure.mgmt.apimanagement.models.ParameterContract] :param representations: Collection of operation request representations. :type representations: list[~azure.mgmt.apimanagement.models.RepresentationContract] """ _attribute_map = { 'description': {'key': 'description', 'type': 'str'}, 'query_parameters': {'key': 'queryParameters', 'type': '[ParameterContract]'}, 'headers': {'key': 'headers', 'type': '[ParameterContract]'}, 'representations': {'key': 'representations', 'type': '[RepresentationContract]'}, } def __init__(self, *, description: str=None, query_parameters=None, headers=None, representations=None, **kwargs) -> None: super(RequestContract, self).__init__(**kwargs) self.description = description self.query_parameters = query_parameters self.headers = headers self.representations = representations
[docs]class RequestReportRecordContract(Model): """Request Report data. Variables are only populated by the server, and will be ignored when sending a request. :param api_id: API identifier path. /apis/{apiId} :type api_id: str :param operation_id: Operation identifier path. /apis/{apiId}/operations/{operationId} :type operation_id: str :ivar product_id: Product identifier path. /products/{productId} :vartype product_id: str :ivar user_id: User identifier path. /users/{userId} :vartype user_id: str :param method: The HTTP method associated with this request.. :type method: str :param url: The full URL associated with this request. :type url: str :param ip_address: The client IP address associated with this request. :type ip_address: str :param backend_response_code: The HTTP status code received by the gateway as a result of forwarding this request to the backend. :type backend_response_code: str :param response_code: The HTTP status code returned by the gateway. :type response_code: int :param response_size: The size of the response returned by the gateway. :type response_size: int :param timestamp: The date and time when this request was received by the gateway in ISO 8601 format. :type timestamp: datetime :param cache: Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fulfilled by the backend. :type cache: str :param api_time: The total time it took to process this request. :type api_time: float :param service_time: he time it took to forward this request to the backend and get the response back. :type service_time: float :param api_region: Azure region where the gateway that processed this request is located. :type api_region: str :param subscription_id: Subscription identifier path. /subscriptions/{subscriptionId} :type subscription_id: str :param request_id: Request Identifier. :type request_id: str :param request_size: The size of this request.. :type request_size: int """ _validation = { 'product_id': {'readonly': True}, 'user_id': {'readonly': True}, } _attribute_map = { 'api_id': {'key': 'apiId', 'type': 'str'}, 'operation_id': {'key': 'operationId', 'type': 'str'}, 'product_id': {'key': 'productId', 'type': 'str'}, 'user_id': {'key': 'userId', 'type': 'str'}, 'method': {'key': 'method', 'type': 'str'}, 'url': {'key': 'url', 'type': 'str'}, 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 'backend_response_code': {'key': 'backendResponseCode', 'type': 'str'}, 'response_code': {'key': 'responseCode', 'type': 'int'}, 'response_size': {'key': 'responseSize', 'type': 'int'}, 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, 'cache': {'key': 'cache', 'type': 'str'}, 'api_time': {'key': 'apiTime', 'type': 'float'}, 'service_time': {'key': 'serviceTime', 'type': 'float'}, 'api_region': {'key': 'apiRegion', 'type': 'str'}, 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 'request_id': {'key': 'requestId', 'type': 'str'}, 'request_size': {'key': 'requestSize', 'type': 'int'}, } def __init__(self, *, api_id: str=None, operation_id: str=None, method: str=None, url: str=None, ip_address: str=None, backend_response_code: str=None, response_code: int=None, response_size: int=None, timestamp=None, cache: str=None, api_time: float=None, service_time: float=None, api_region: str=None, subscription_id: str=None, request_id: str=None, request_size: int=None, **kwargs) -> None: super(RequestReportRecordContract, self).__init__(**kwargs) self.api_id = api_id self.operation_id = operation_id self.product_id = None self.user_id = None self.method = method self.url = url self.ip_address = ip_address self.backend_response_code = backend_response_code self.response_code = response_code self.response_size = response_size self.timestamp = timestamp self.cache = cache self.api_time = api_time self.service_time = service_time self.api_region = api_region self.subscription_id = subscription_id self.request_id = request_id self.request_size = request_size
[docs]class ResourceLocationDataContract(Model): """Resource location data properties. All required parameters must be populated in order to send to Azure. :param name: Required. A canonical name for the geographic or physical location. :type name: str :param city: The city or locality where the resource is located. :type city: str :param district: The district, state, or province where the resource is located. :type district: str :param country_or_region: The country or region where the resource is located. :type country_or_region: str """ _validation = { 'name': {'required': True, 'max_length': 256}, 'city': {'max_length': 256}, 'district': {'max_length': 256}, 'country_or_region': {'max_length': 256}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'city': {'key': 'city', 'type': 'str'}, 'district': {'key': 'district', 'type': 'str'}, 'country_or_region': {'key': 'countryOrRegion', 'type': 'str'}, } def __init__(self, *, name: str, city: str=None, district: str=None, country_or_region: str=None, **kwargs) -> None: super(ResourceLocationDataContract, self).__init__(**kwargs) self.name = name self.city = city self.district = district self.country_or_region = country_or_region
[docs]class ResourceSku(Model): """Describes an available API Management SKU. :param name: Name of the Sku. Possible values include: 'Developer', 'Standard', 'Premium', 'Basic', 'Consumption' :type name: str or ~azure.mgmt.apimanagement.models.SkuType """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, name=None, **kwargs) -> None: super(ResourceSku, self).__init__(**kwargs) self.name = name
[docs]class ResourceSkuCapacity(Model): """Describes scaling information of a SKU. Variables are only populated by the server, and will be ignored when sending a request. :ivar minimum: The minimum capacity. :vartype minimum: int :ivar maximum: The maximum capacity that can be set. :vartype maximum: int :ivar default: The default capacity. :vartype default: int :ivar scale_type: The scale type applicable to the sku. Possible values include: 'automatic', 'manual', 'none' :vartype scale_type: str or ~azure.mgmt.apimanagement.models.ResourceSkuCapacityScaleType """ _validation = { 'minimum': {'readonly': True}, 'maximum': {'readonly': True}, 'default': {'readonly': True}, 'scale_type': {'readonly': True}, } _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) -> None: super(ResourceSkuCapacity, self).__init__(**kwargs) self.minimum = None self.maximum = None self.default = None self.scale_type = None
[docs]class ResourceSkuResult(Model): """Describes an available API Management service SKU. Variables are only populated by the server, and will be ignored when sending a request. :ivar resource_type: The type of resource the SKU applies to. :vartype resource_type: str :ivar sku: Specifies API Management SKU. :vartype sku: ~azure.mgmt.apimanagement.models.ResourceSku :ivar capacity: Specifies the number of API Management units. :vartype capacity: ~azure.mgmt.apimanagement.models.ResourceSkuCapacity """ _validation = { 'resource_type': {'readonly': True}, 'sku': {'readonly': True}, 'capacity': {'readonly': True}, } _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'ResourceSku'}, 'capacity': {'key': 'capacity', 'type': 'ResourceSkuCapacity'}, } def __init__(self, **kwargs) -> None: super(ResourceSkuResult, self).__init__(**kwargs) self.resource_type = None self.sku = None self.capacity = None
[docs]class ResponseContract(Model): """Operation response details. All required parameters must be populated in order to send to Azure. :param status_code: Required. Operation response HTTP status code. :type status_code: int :param description: Operation response description. :type description: str :param representations: Collection of operation response representations. :type representations: list[~azure.mgmt.apimanagement.models.RepresentationContract] :param headers: Collection of operation response headers. :type headers: list[~azure.mgmt.apimanagement.models.ParameterContract] """ _validation = { 'status_code': {'required': True}, } _attribute_map = { 'status_code': {'key': 'statusCode', 'type': 'int'}, 'description': {'key': 'description', 'type': 'str'}, 'representations': {'key': 'representations', 'type': '[RepresentationContract]'}, 'headers': {'key': 'headers', 'type': '[ParameterContract]'}, } def __init__(self, *, status_code: int, description: str=None, representations=None, headers=None, **kwargs) -> None: super(ResponseContract, self).__init__(**kwargs) self.status_code = status_code self.description = description self.representations = representations self.headers = headers
[docs]class SamplingSettings(Model): """Sampling settings for Diagnostic. :param sampling_type: Sampling type. Possible values include: 'fixed' :type sampling_type: str or ~azure.mgmt.apimanagement.models.SamplingType :param percentage: Rate of sampling for fixed-rate sampling. :type percentage: float """ _validation = { 'percentage': {'maximum': 100, 'minimum': 0}, } _attribute_map = { 'sampling_type': {'key': 'samplingType', 'type': 'str'}, 'percentage': {'key': 'percentage', 'type': 'float'}, } def __init__(self, *, sampling_type=None, percentage: float=None, **kwargs) -> None: super(SamplingSettings, self).__init__(**kwargs) self.sampling_type = sampling_type self.percentage = percentage
[docs]class SaveConfigurationParameter(Model): """Save Tenant Configuration Contract details. All required parameters must be populated in order to send to Azure. :param branch: Required. The name of the Git branch in which to commit the current configuration snapshot. :type branch: str :param force: The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten. :type force: bool """ _validation = { 'branch': {'required': True}, } _attribute_map = { 'branch': {'key': 'properties.branch', 'type': 'str'}, 'force': {'key': 'properties.force', 'type': 'bool'}, } def __init__(self, *, branch: str, force: bool=None, **kwargs) -> None: super(SaveConfigurationParameter, self).__init__(**kwargs) self.branch = branch self.force = force
[docs]class SchemaContract(Resource): """Schema Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param content_type: Required. Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml). </br> - `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json` </br> - `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml` </br> - `OpenApi` Schema use `application/vnd.oai.openapi.components+json` </br> - `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`. :type content_type: str :param value: Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI. :type value: str :param definitions: Types definitions. Used for Swagger/OpenAPI schemas only, null otherwise. :type definitions: object """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'content_type': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'content_type': {'key': 'properties.contentType', 'type': 'str'}, 'value': {'key': 'properties.document.value', 'type': 'str'}, 'definitions': {'key': 'properties.document.definitions', 'type': 'object'}, } def __init__(self, *, content_type: str, value: str=None, definitions=None, **kwargs) -> None: super(SchemaContract, self).__init__(**kwargs) self.content_type = content_type self.value = value self.definitions = definitions
[docs]class SubscriptionContract(Resource): """Subscription details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param owner_id: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier. :type owner_id: str :param scope: Required. Scope like /products/{productId} or /apis or /apis/{apiId}. :type scope: str :param display_name: The name of the subscription, or null if the subscription has no name. :type display_name: str :param state: Required. Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated. Possible values include: 'suspended', 'active', 'expired', 'submitted', 'rejected', 'cancelled' :type state: str or ~azure.mgmt.apimanagement.models.SubscriptionState :ivar created_date: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :vartype created_date: datetime :param start_date: Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type start_date: datetime :param expiration_date: Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiration_date: datetime :param end_date: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type end_date: datetime :param notification_date: Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type notification_date: datetime :param primary_key: Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type primary_key: str :param secondary_key: Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. :type secondary_key: str :param state_comment: Optional subscription comment added by an administrator. :type state_comment: str :param allow_tracing: Determines whether tracing is enabled :type allow_tracing: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'scope': {'required': True}, 'display_name': {'max_length': 100, 'min_length': 0}, 'state': {'required': True}, 'created_date': {'readonly': True}, 'primary_key': {'max_length': 256, 'min_length': 1}, 'secondary_key': {'max_length': 256, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'owner_id': {'key': 'properties.ownerId', 'type': 'str'}, 'scope': {'key': 'properties.scope', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'state': {'key': 'properties.state', 'type': 'SubscriptionState'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'start_date': {'key': 'properties.startDate', 'type': 'iso-8601'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'end_date': {'key': 'properties.endDate', 'type': 'iso-8601'}, 'notification_date': {'key': 'properties.notificationDate', 'type': 'iso-8601'}, 'primary_key': {'key': 'properties.primaryKey', 'type': 'str'}, 'secondary_key': {'key': 'properties.secondaryKey', 'type': 'str'}, 'state_comment': {'key': 'properties.stateComment', 'type': 'str'}, 'allow_tracing': {'key': 'properties.allowTracing', 'type': 'bool'}, } def __init__(self, *, scope: str, state, owner_id: str=None, display_name: str=None, start_date=None, expiration_date=None, end_date=None, notification_date=None, primary_key: str=None, secondary_key: str=None, state_comment: str=None, allow_tracing: bool=None, **kwargs) -> None: super(SubscriptionContract, self).__init__(**kwargs) self.owner_id = owner_id self.scope = scope self.display_name = display_name self.state = state self.created_date = None self.start_date = start_date self.expiration_date = expiration_date self.end_date = end_date self.notification_date = notification_date self.primary_key = primary_key self.secondary_key = secondary_key self.state_comment = state_comment self.allow_tracing = allow_tracing
[docs]class SubscriptionCreateParameters(Model): """Subscription create details. All required parameters must be populated in order to send to Azure. :param owner_id: User (user id path) for whom subscription is being created in form /users/{userId} :type owner_id: str :param scope: Required. Scope like /products/{productId} or /apis or /apis/{apiId}. :type scope: str :param display_name: Required. Subscription name. :type display_name: str :param primary_key: Primary subscription key. If not specified during request key will be generated automatically. :type primary_key: str :param secondary_key: Secondary subscription key. If not specified during request key will be generated automatically. :type secondary_key: str :param state: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated. Possible values include: 'suspended', 'active', 'expired', 'submitted', 'rejected', 'cancelled' :type state: str or ~azure.mgmt.apimanagement.models.SubscriptionState :param allow_tracing: Determines whether tracing can be enabled :type allow_tracing: bool """ _validation = { 'scope': {'required': True}, 'display_name': {'required': True, 'max_length': 100, 'min_length': 1}, 'primary_key': {'max_length': 256, 'min_length': 1}, 'secondary_key': {'max_length': 256, 'min_length': 1}, } _attribute_map = { 'owner_id': {'key': 'properties.ownerId', 'type': 'str'}, 'scope': {'key': 'properties.scope', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'primary_key': {'key': 'properties.primaryKey', 'type': 'str'}, 'secondary_key': {'key': 'properties.secondaryKey', 'type': 'str'}, 'state': {'key': 'properties.state', 'type': 'SubscriptionState'}, 'allow_tracing': {'key': 'properties.allowTracing', 'type': 'bool'}, } def __init__(self, *, scope: str, display_name: str, owner_id: str=None, primary_key: str=None, secondary_key: str=None, state=None, allow_tracing: bool=None, **kwargs) -> None: super(SubscriptionCreateParameters, self).__init__(**kwargs) self.owner_id = owner_id self.scope = scope self.display_name = display_name self.primary_key = primary_key self.secondary_key = secondary_key self.state = state self.allow_tracing = allow_tracing
[docs]class SubscriptionKeyParameterNamesContract(Model): """Subscription key parameter names details. :param header: Subscription key header name. :type header: str :param query: Subscription key query string parameter name. :type query: str """ _attribute_map = { 'header': {'key': 'header', 'type': 'str'}, 'query': {'key': 'query', 'type': 'str'}, } def __init__(self, *, header: str=None, query: str=None, **kwargs) -> None: super(SubscriptionKeyParameterNamesContract, self).__init__(**kwargs) self.header = header self.query = query
[docs]class SubscriptionKeysContract(Model): """Subscription keys. :param primary_key: Subscription primary key. :type primary_key: str :param secondary_key: Subscription secondary key. :type secondary_key: str """ _validation = { 'primary_key': {'max_length': 256, 'min_length': 1}, 'secondary_key': {'max_length': 256, 'min_length': 1}, } _attribute_map = { 'primary_key': {'key': 'primaryKey', 'type': 'str'}, 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, } def __init__(self, *, primary_key: str=None, secondary_key: str=None, **kwargs) -> None: super(SubscriptionKeysContract, self).__init__(**kwargs) self.primary_key = primary_key self.secondary_key = secondary_key
[docs]class SubscriptionsDelegationSettingsProperties(Model): """Subscriptions delegation settings properties. :param enabled: Enable or disable delegation for subscriptions. :type enabled: bool """ _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, } def __init__(self, *, enabled: bool=None, **kwargs) -> None: super(SubscriptionsDelegationSettingsProperties, self).__init__(**kwargs) self.enabled = enabled
[docs]class SubscriptionUpdateParameters(Model): """Subscription update details. :param owner_id: User identifier path: /users/{userId} :type owner_id: str :param scope: Scope like /products/{productId} or /apis or /apis/{apiId} :type scope: str :param expiration_date: Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiration_date: datetime :param display_name: Subscription name. :type display_name: str :param primary_key: Primary subscription key. :type primary_key: str :param secondary_key: Secondary subscription key. :type secondary_key: str :param state: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated. Possible values include: 'suspended', 'active', 'expired', 'submitted', 'rejected', 'cancelled' :type state: str or ~azure.mgmt.apimanagement.models.SubscriptionState :param state_comment: Comments describing subscription state change by the administrator. :type state_comment: str :param allow_tracing: Determines whether tracing can be enabled :type allow_tracing: bool """ _validation = { 'primary_key': {'max_length': 256, 'min_length': 1}, 'secondary_key': {'max_length': 256, 'min_length': 1}, } _attribute_map = { 'owner_id': {'key': 'properties.ownerId', 'type': 'str'}, 'scope': {'key': 'properties.scope', 'type': 'str'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'primary_key': {'key': 'properties.primaryKey', 'type': 'str'}, 'secondary_key': {'key': 'properties.secondaryKey', 'type': 'str'}, 'state': {'key': 'properties.state', 'type': 'SubscriptionState'}, 'state_comment': {'key': 'properties.stateComment', 'type': 'str'}, 'allow_tracing': {'key': 'properties.allowTracing', 'type': 'bool'}, } def __init__(self, *, owner_id: str=None, scope: str=None, expiration_date=None, display_name: str=None, primary_key: str=None, secondary_key: str=None, state=None, state_comment: str=None, allow_tracing: bool=None, **kwargs) -> None: super(SubscriptionUpdateParameters, self).__init__(**kwargs) self.owner_id = owner_id self.scope = scope self.expiration_date = expiration_date self.display_name = display_name self.primary_key = primary_key self.secondary_key = secondary_key self.state = state self.state_comment = state_comment self.allow_tracing = allow_tracing
[docs]class TagContract(Resource): """Tag Contract details. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param display_name: Required. Tag name. :type display_name: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'required': True, 'max_length': 160, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, } def __init__(self, *, display_name: str, **kwargs) -> None: super(TagContract, self).__init__(**kwargs) self.display_name = display_name
[docs]class TagCreateUpdateParameters(Model): """Parameters supplied to Create/Update Tag operations. All required parameters must be populated in order to send to Azure. :param display_name: Required. Tag name. :type display_name: str """ _validation = { 'display_name': {'required': True, 'max_length': 160, 'min_length': 1}, } _attribute_map = { 'display_name': {'key': 'properties.displayName', 'type': 'str'}, } def __init__(self, *, display_name: str, **kwargs) -> None: super(TagCreateUpdateParameters, self).__init__(**kwargs) self.display_name = display_name
[docs]class TagDescriptionContract(Resource): """Contract details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param description: Description of the Tag. :type description: str :param external_docs_url: Absolute URL of external resources describing the tag. :type external_docs_url: str :param external_docs_description: Description of the external resources describing the tag. :type external_docs_description: str :param tag_id: Identifier of the tag in the form of /tags/{tagId} :type tag_id: str :param display_name: Tag name. :type display_name: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'external_docs_url': {'max_length': 2000}, 'display_name': {'max_length': 160, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'external_docs_url': {'key': 'properties.externalDocsUrl', 'type': 'str'}, 'external_docs_description': {'key': 'properties.externalDocsDescription', 'type': 'str'}, 'tag_id': {'key': 'properties.tagId', 'type': 'str'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, } def __init__(self, *, description: str=None, external_docs_url: str=None, external_docs_description: str=None, tag_id: str=None, display_name: str=None, **kwargs) -> None: super(TagDescriptionContract, self).__init__(**kwargs) self.description = description self.external_docs_url = external_docs_url self.external_docs_description = external_docs_description self.tag_id = tag_id self.display_name = display_name
[docs]class TagDescriptionCreateParameters(Model): """Parameters supplied to the Create TagDescription operation. :param description: Description of the Tag. :type description: str :param external_docs_url: Absolute URL of external resources describing the tag. :type external_docs_url: str :param external_docs_description: Description of the external resources describing the tag. :type external_docs_description: str """ _validation = { 'external_docs_url': {'max_length': 2000}, } _attribute_map = { 'description': {'key': 'properties.description', 'type': 'str'}, 'external_docs_url': {'key': 'properties.externalDocsUrl', 'type': 'str'}, 'external_docs_description': {'key': 'properties.externalDocsDescription', 'type': 'str'}, } def __init__(self, *, description: str=None, external_docs_url: str=None, external_docs_description: str=None, **kwargs) -> None: super(TagDescriptionCreateParameters, self).__init__(**kwargs) self.description = description self.external_docs_url = external_docs_url self.external_docs_description = external_docs_description
[docs]class TagResourceContract(Model): """TagResource contract properties. All required parameters must be populated in order to send to Azure. :param tag: Required. Tag associated with the resource. :type tag: ~azure.mgmt.apimanagement.models.TagTagResourceContractProperties :param api: Api associated with the tag. :type api: ~azure.mgmt.apimanagement.models.ApiTagResourceContractProperties :param operation: Operation associated with the tag. :type operation: ~azure.mgmt.apimanagement.models.OperationTagResourceContractProperties :param product: Product associated with the tag. :type product: ~azure.mgmt.apimanagement.models.ProductTagResourceContractProperties """ _validation = { 'tag': {'required': True}, } _attribute_map = { 'tag': {'key': 'tag', 'type': 'TagTagResourceContractProperties'}, 'api': {'key': 'api', 'type': 'ApiTagResourceContractProperties'}, 'operation': {'key': 'operation', 'type': 'OperationTagResourceContractProperties'}, 'product': {'key': 'product', 'type': 'ProductTagResourceContractProperties'}, } def __init__(self, *, tag, api=None, operation=None, product=None, **kwargs) -> None: super(TagResourceContract, self).__init__(**kwargs) self.tag = tag self.api = api self.operation = operation self.product = product
[docs]class TagTagResourceContractProperties(Model): """Contract defining the Tag property in the Tag Resource Contract. :param id: Tag identifier :type id: str :param name: Tag Name :type name: str """ _validation = { 'name': {'max_length': 160, 'min_length': 1}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: super(TagTagResourceContractProperties, self).__init__(**kwargs) self.id = id self.name = name
[docs]class TenantConfigurationSyncStateContract(Model): """Tenant Configuration Synchronization State. :param branch: The name of Git branch. :type branch: str :param commit_id: The latest commit Id. :type commit_id: str :param is_export: value indicating if last sync was save (true) or deploy (false) operation. :type is_export: bool :param is_synced: value indicating if last synchronization was later than the configuration change. :type is_synced: bool :param is_git_enabled: value indicating whether Git configuration access is enabled. :type is_git_enabled: bool :param sync_date: The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type sync_date: datetime :param configuration_change_date: The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type configuration_change_date: datetime """ _attribute_map = { 'branch': {'key': 'branch', 'type': 'str'}, 'commit_id': {'key': 'commitId', 'type': 'str'}, 'is_export': {'key': 'isExport', 'type': 'bool'}, 'is_synced': {'key': 'isSynced', 'type': 'bool'}, 'is_git_enabled': {'key': 'isGitEnabled', 'type': 'bool'}, 'sync_date': {'key': 'syncDate', 'type': 'iso-8601'}, 'configuration_change_date': {'key': 'configurationChangeDate', 'type': 'iso-8601'}, } def __init__(self, *, branch: str=None, commit_id: str=None, is_export: bool=None, is_synced: bool=None, is_git_enabled: bool=None, sync_date=None, configuration_change_date=None, **kwargs) -> None: super(TenantConfigurationSyncStateContract, self).__init__(**kwargs) self.branch = branch self.commit_id = commit_id self.is_export = is_export self.is_synced = is_synced self.is_git_enabled = is_git_enabled self.sync_date = sync_date self.configuration_change_date = configuration_change_date
[docs]class TermsOfServiceProperties(Model): """Terms of service contract properties. :param text: A terms of service text. :type text: str :param enabled: Display terms of service during a sign-up process. :type enabled: bool :param consent_required: Ask user for consent to the terms of service. :type consent_required: bool """ _attribute_map = { 'text': {'key': 'text', 'type': 'str'}, 'enabled': {'key': 'enabled', 'type': 'bool'}, 'consent_required': {'key': 'consentRequired', 'type': 'bool'}, } def __init__(self, *, text: str=None, enabled: bool=None, consent_required: bool=None, **kwargs) -> None: super(TermsOfServiceProperties, self).__init__(**kwargs) self.text = text self.enabled = enabled self.consent_required = consent_required
[docs]class TokenBodyParameterContract(Model): """OAuth acquire token request body parameter (www-url-form-encoded). All required parameters must be populated in order to send to Azure. :param name: Required. body parameter name. :type name: str :param value: Required. body parameter value. :type value: str """ _validation = { 'name': {'required': True}, 'value': {'required': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str, value: str, **kwargs) -> None: super(TokenBodyParameterContract, self).__init__(**kwargs) self.name = name self.value = value
[docs]class UserContract(Resource): """User details. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Resource ID. :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type for API Management resource. :vartype type: str :param state: Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. Possible values include: 'active', 'blocked', 'pending', 'deleted'. Default value: "active" . :type state: str or ~azure.mgmt.apimanagement.models.UserState :param note: Optional note about a user set by the administrator. :type note: str :param identities: Collection of user identities. :type identities: list[~azure.mgmt.apimanagement.models.UserIdentityContract] :param first_name: First name. :type first_name: str :param last_name: Last name. :type last_name: str :param email: Email address. :type email: str :param registration_date: Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type registration_date: datetime :ivar groups: Collection of groups user is part of. :vartype groups: list[~azure.mgmt.apimanagement.models.GroupContractProperties] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'groups': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'state': {'key': 'properties.state', 'type': 'str'}, 'note': {'key': 'properties.note', 'type': 'str'}, 'identities': {'key': 'properties.identities', 'type': '[UserIdentityContract]'}, 'first_name': {'key': 'properties.firstName', 'type': 'str'}, 'last_name': {'key': 'properties.lastName', 'type': 'str'}, 'email': {'key': 'properties.email', 'type': 'str'}, 'registration_date': {'key': 'properties.registrationDate', 'type': 'iso-8601'}, 'groups': {'key': 'properties.groups', 'type': '[GroupContractProperties]'}, } def __init__(self, *, state="active", note: str=None, identities=None, first_name: str=None, last_name: str=None, email: str=None, registration_date=None, **kwargs) -> None: super(UserContract, self).__init__(**kwargs) self.state = state self.note = note self.identities = identities self.first_name = first_name self.last_name = last_name self.email = email self.registration_date = registration_date self.groups = None
[docs]class UserCreateParameters(Model): """User create details. All required parameters must be populated in order to send to Azure. :param state: Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. Possible values include: 'active', 'blocked', 'pending', 'deleted'. Default value: "active" . :type state: str or ~azure.mgmt.apimanagement.models.UserState :param note: Optional note about a user set by the administrator. :type note: str :param identities: Collection of user identities. :type identities: list[~azure.mgmt.apimanagement.models.UserIdentityContract] :param email: Required. Email address. Must not be empty and must be unique within the service instance. :type email: str :param first_name: Required. First name. :type first_name: str :param last_name: Required. Last name. :type last_name: str :param password: User Password. If no value is provided, a default password is generated. :type password: str :param app_type: Determines the type of application which send the create user request. Default is old publisher portal. Possible values include: 'developerPortal' :type app_type: str or ~azure.mgmt.apimanagement.models.AppType :param confirmation: Determines the type of confirmation e-mail that will be sent to the newly created user. Possible values include: 'signup', 'invite' :type confirmation: str or ~azure.mgmt.apimanagement.models.Confirmation """ _validation = { 'email': {'required': True, 'max_length': 254, 'min_length': 1}, 'first_name': {'required': True, 'max_length': 100, 'min_length': 1}, 'last_name': {'required': True, 'max_length': 100, 'min_length': 1}, } _attribute_map = { 'state': {'key': 'properties.state', 'type': 'str'}, 'note': {'key': 'properties.note', 'type': 'str'}, 'identities': {'key': 'properties.identities', 'type': '[UserIdentityContract]'}, 'email': {'key': 'properties.email', 'type': 'str'}, 'first_name': {'key': 'properties.firstName', 'type': 'str'}, 'last_name': {'key': 'properties.lastName', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'app_type': {'key': 'properties.appType', 'type': 'str'}, 'confirmation': {'key': 'properties.confirmation', 'type': 'str'}, } def __init__(self, *, email: str, first_name: str, last_name: str, state="active", note: str=None, identities=None, password: str=None, app_type=None, confirmation=None, **kwargs) -> None: super(UserCreateParameters, self).__init__(**kwargs) self.state = state self.note = note self.identities = identities self.email = email self.first_name = first_name self.last_name = last_name self.password = password self.app_type = app_type self.confirmation = confirmation
[docs]class UserEntityBaseParameters(Model): """User Entity Base Parameters set. :param state: Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. Possible values include: 'active', 'blocked', 'pending', 'deleted'. Default value: "active" . :type state: str or ~azure.mgmt.apimanagement.models.UserState :param note: Optional note about a user set by the administrator. :type note: str :param identities: Collection of user identities. :type identities: list[~azure.mgmt.apimanagement.models.UserIdentityContract] """ _attribute_map = { 'state': {'key': 'state', 'type': 'str'}, 'note': {'key': 'note', 'type': 'str'}, 'identities': {'key': 'identities', 'type': '[UserIdentityContract]'}, } def __init__(self, *, state="active", note: str=None, identities=None, **kwargs) -> None: super(UserEntityBaseParameters, self).__init__(**kwargs) self.state = state self.note = note self.identities = identities
[docs]class UserIdentityContract(Model): """User identity details. :param provider: Identity provider name. :type provider: str :param id: Identifier value within provider. :type id: str """ _attribute_map = { 'provider': {'key': 'provider', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, } def __init__(self, *, provider: str=None, id: str=None, **kwargs) -> None: super(UserIdentityContract, self).__init__(**kwargs) self.provider = provider self.id = id
[docs]class UserIdentityProperties(Model): """UserIdentityProperties. :param principal_id: The principal id of user assigned identity. :type principal_id: str :param client_id: The client id of user assigned identity. :type client_id: str """ _attribute_map = { 'principal_id': {'key': 'principalId', 'type': 'str'}, 'client_id': {'key': 'clientId', 'type': 'str'}, } def __init__(self, *, principal_id: str=None, client_id: str=None, **kwargs) -> None: super(UserIdentityProperties, self).__init__(**kwargs) self.principal_id = principal_id self.client_id = client_id
[docs]class UserTokenParameters(Model): """Get User Token parameters. All required parameters must be populated in order to send to Azure. :param key_type: Required. The Key to be used to generate token for user. Possible values include: 'primary', 'secondary'. Default value: "primary" . :type key_type: str or ~azure.mgmt.apimanagement.models.KeyType :param expiry: Required. The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. :type expiry: datetime """ _validation = { 'key_type': {'required': True}, 'expiry': {'required': True}, } _attribute_map = { 'key_type': {'key': 'properties.keyType', 'type': 'KeyType'}, 'expiry': {'key': 'properties.expiry', 'type': 'iso-8601'}, } def __init__(self, *, expiry, key_type="primary", **kwargs) -> None: super(UserTokenParameters, self).__init__(**kwargs) self.key_type = key_type self.expiry = expiry
[docs]class UserTokenResult(Model): """Get User Token response details. :param value: Shared Access Authorization token for the User. :type value: str """ _attribute_map = { 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, value: str=None, **kwargs) -> None: super(UserTokenResult, self).__init__(**kwargs) self.value = value
[docs]class UserUpdateParameters(Model): """User update parameters. :param state: Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active. Possible values include: 'active', 'blocked', 'pending', 'deleted'. Default value: "active" . :type state: str or ~azure.mgmt.apimanagement.models.UserState :param note: Optional note about a user set by the administrator. :type note: str :param identities: Collection of user identities. :type identities: list[~azure.mgmt.apimanagement.models.UserIdentityContract] :param email: Email address. Must not be empty and must be unique within the service instance. :type email: str :param password: User Password. :type password: str :param first_name: First name. :type first_name: str :param last_name: Last name. :type last_name: str """ _validation = { 'email': {'max_length': 254, 'min_length': 1}, 'first_name': {'max_length': 100, 'min_length': 1}, 'last_name': {'max_length': 100, 'min_length': 1}, } _attribute_map = { 'state': {'key': 'properties.state', 'type': 'str'}, 'note': {'key': 'properties.note', 'type': 'str'}, 'identities': {'key': 'properties.identities', 'type': '[UserIdentityContract]'}, 'email': {'key': 'properties.email', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'first_name': {'key': 'properties.firstName', 'type': 'str'}, 'last_name': {'key': 'properties.lastName', 'type': 'str'}, } def __init__(self, *, state="active", note: str=None, identities=None, email: str=None, password: str=None, first_name: str=None, last_name: str=None, **kwargs) -> None: super(UserUpdateParameters, self).__init__(**kwargs) self.state = state self.note = note self.identities = identities self.email = email self.password = password self.first_name = first_name self.last_name = last_name
[docs]class VirtualNetworkConfiguration(Model): """Configuration of a virtual network to which API Management service is deployed. Variables are only populated by the server, and will be ignored when sending a request. :ivar vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default. :vartype vnetid: str :ivar subnetname: The name of the subnet. :vartype subnetname: str :param subnet_resource_id: The full resource ID of a subnet in a virtual network to deploy the API Management service in. :type subnet_resource_id: str """ _validation = { 'vnetid': {'readonly': True}, 'subnetname': {'readonly': True}, 'subnet_resource_id': {'pattern': r'^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$'}, } _attribute_map = { 'vnetid': {'key': 'vnetid', 'type': 'str'}, 'subnetname': {'key': 'subnetname', 'type': 'str'}, 'subnet_resource_id': {'key': 'subnetResourceId', 'type': 'str'}, } def __init__(self, *, subnet_resource_id: str=None, **kwargs) -> None: super(VirtualNetworkConfiguration, self).__init__(**kwargs) self.vnetid = None self.subnetname = None self.subnet_resource_id = subnet_resource_id
[docs]class X509CertificateName(Model): """Properties of server X509Names. :param name: Common Name of the Certificate. :type name: str :param issuer_certificate_thumbprint: Thumbprint for the Issuer of the Certificate. :type issuer_certificate_thumbprint: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'issuer_certificate_thumbprint': {'key': 'issuerCertificateThumbprint', 'type': 'str'}, } def __init__(self, *, name: str=None, issuer_certificate_thumbprint: str=None, **kwargs) -> None: super(X509CertificateName, self).__init__(**kwargs) self.name = name self.issuer_certificate_thumbprint = issuer_certificate_thumbprint