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