Source code for azure.mgmt.dns.v2018_03_01_preview.models._models_py3

# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model
from msrest.exceptions import HttpOperationError


[docs]class AaaaRecord(Model): """An AAAA record. :param ipv6_address: The IPv6 address of this AAAA record. :type ipv6_address: str """ _attribute_map = { 'ipv6_address': {'key': 'ipv6Address', 'type': 'str'}, } def __init__(self, *, ipv6_address: str=None, **kwargs) -> None: super(AaaaRecord, self).__init__(**kwargs) self.ipv6_address = ipv6_address
[docs]class ARecord(Model): """An A record. :param ipv4_address: The IPv4 address of this A record. :type ipv4_address: str """ _attribute_map = { 'ipv4_address': {'key': 'ipv4Address', 'type': 'str'}, } def __init__(self, *, ipv4_address: str=None, **kwargs) -> None: super(ARecord, self).__init__(**kwargs) self.ipv4_address = ipv4_address
[docs]class Resource(Model): """Resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str :ivar name: The name of the resource :vartype name: str :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :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 AzureEntityResource(Resource): """The resource model definition for a Azure Resource Manager resource with an etag. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str :ivar name: The name of the resource :vartype name: str :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :ivar etag: Resource Etag. :vartype etag: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } def __init__(self, **kwargs) -> None: super(AzureEntityResource, self).__init__(**kwargs) self.etag = None
[docs]class CaaRecord(Model): """A CAA record. :param flags: The flags for this CAA record as an integer between 0 and 255. :type flags: int :param tag: The tag for this CAA record. :type tag: str :param value: The value for this CAA record. :type value: str """ _attribute_map = { 'flags': {'key': 'flags', 'type': 'int'}, 'tag': {'key': 'tag', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, flags: int=None, tag: str=None, value: str=None, **kwargs) -> None: super(CaaRecord, self).__init__(**kwargs) self.flags = flags self.tag = tag self.value = value
class CloudError(Model): """An error message. :param error: The error message body :type error: ~azure.mgmt.dns.v2018_03_01_preview.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } def __init__(self, *, error=None, **kwargs) -> None: super(CloudError, self).__init__(**kwargs) self.error = error class CloudErrorException(HttpOperationError): """Server responsed with exception of type: 'CloudError'. :param deserialize: A deserializer :param response: Server response to be deserialized. """ def __init__(self, deserialize, response, *args): super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) class CloudErrorBody(Model): """The body of an error message. :param code: The error code :type code: str :param message: A description of what caused the error :type message: str :param target: The target resource of the error message :type target: str :param details: Extra error information :type details: list[~azure.mgmt.dns.v2018_03_01_preview.models.CloudErrorBody] """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, 'target': {'key': 'target', 'type': 'str'}, 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: super(CloudErrorBody, self).__init__(**kwargs) self.code = code self.message = message self.target = target self.details = details
[docs]class CnameRecord(Model): """A CNAME record. :param cname: The canonical name for this CNAME record. :type cname: str """ _attribute_map = { 'cname': {'key': 'cname', 'type': 'str'}, } def __init__(self, *, cname: str=None, **kwargs) -> None: super(CnameRecord, self).__init__(**kwargs) self.cname = cname
[docs]class MxRecord(Model): """An MX record. :param preference: The preference value for this MX record. :type preference: int :param exchange: The domain name of the mail host for this MX record. :type exchange: str """ _attribute_map = { 'preference': {'key': 'preference', 'type': 'int'}, 'exchange': {'key': 'exchange', 'type': 'str'}, } def __init__(self, *, preference: int=None, exchange: str=None, **kwargs) -> None: super(MxRecord, self).__init__(**kwargs) self.preference = preference self.exchange = exchange
[docs]class NsRecord(Model): """An NS record. :param nsdname: The name server name for this NS record. :type nsdname: str """ _attribute_map = { 'nsdname': {'key': 'nsdname', 'type': 'str'}, } def __init__(self, *, nsdname: str=None, **kwargs) -> None: super(NsRecord, self).__init__(**kwargs) self.nsdname = nsdname
[docs]class ProxyResource(Resource): """The resource model definition for a ARM proxy resource. It will have everything other than required location and tags. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str :ivar name: The name of the resource :vartype name: str :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :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(ProxyResource, self).__init__(**kwargs)
[docs]class PtrRecord(Model): """A PTR record. :param ptrdname: The PTR target domain name for this PTR record. :type ptrdname: str """ _attribute_map = { 'ptrdname': {'key': 'ptrdname', 'type': 'str'}, } def __init__(self, *, ptrdname: str=None, **kwargs) -> None: super(PtrRecord, self).__init__(**kwargs) self.ptrdname = ptrdname
[docs]class RecordSet(Model): """Describes a DNS record set (a collection of DNS records with the same name and type). Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ID of the record set. :vartype id: str :ivar name: The name of the record set. :vartype name: str :ivar type: The type of the record set. :vartype type: str :param etag: The etag of the record set. :type etag: str :param metadata: The metadata attached to the record set. :type metadata: dict[str, str] :param ttl: The TTL (time-to-live) of the records in the record set. :type ttl: long :ivar fqdn: Fully qualified domain name of the record set. :vartype fqdn: str :param arecords: The list of A records in the record set. :type arecords: list[~azure.mgmt.dns.v2018_03_01_preview.models.ARecord] :param aaaa_records: The list of AAAA records in the record set. :type aaaa_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.AaaaRecord] :param mx_records: The list of MX records in the record set. :type mx_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.MxRecord] :param ns_records: The list of NS records in the record set. :type ns_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.NsRecord] :param ptr_records: The list of PTR records in the record set. :type ptr_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.PtrRecord] :param srv_records: The list of SRV records in the record set. :type srv_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.SrvRecord] :param txt_records: The list of TXT records in the record set. :type txt_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.TxtRecord] :param cname_record: The CNAME record in the record set. :type cname_record: ~azure.mgmt.dns.v2018_03_01_preview.models.CnameRecord :param soa_record: The SOA record in the record set. :type soa_record: ~azure.mgmt.dns.v2018_03_01_preview.models.SoaRecord :param caa_records: The list of CAA records in the record set. :type caa_records: list[~azure.mgmt.dns.v2018_03_01_preview.models.CaaRecord] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'fqdn': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, 'ttl': {'key': 'properties.TTL', 'type': 'long'}, 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 'arecords': {'key': 'properties.ARecords', 'type': '[ARecord]'}, 'aaaa_records': {'key': 'properties.AAAARecords', 'type': '[AaaaRecord]'}, 'mx_records': {'key': 'properties.MXRecords', 'type': '[MxRecord]'}, 'ns_records': {'key': 'properties.NSRecords', 'type': '[NsRecord]'}, 'ptr_records': {'key': 'properties.PTRRecords', 'type': '[PtrRecord]'}, 'srv_records': {'key': 'properties.SRVRecords', 'type': '[SrvRecord]'}, 'txt_records': {'key': 'properties.TXTRecords', 'type': '[TxtRecord]'}, 'cname_record': {'key': 'properties.CNAMERecord', 'type': 'CnameRecord'}, 'soa_record': {'key': 'properties.SOARecord', 'type': 'SoaRecord'}, 'caa_records': {'key': 'properties.caaRecords', 'type': '[CaaRecord]'}, } def __init__(self, *, etag: str=None, metadata=None, ttl: int=None, arecords=None, aaaa_records=None, mx_records=None, ns_records=None, ptr_records=None, srv_records=None, txt_records=None, cname_record=None, soa_record=None, caa_records=None, **kwargs) -> None: super(RecordSet, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.etag = etag self.metadata = metadata self.ttl = ttl self.fqdn = None self.arecords = arecords self.aaaa_records = aaaa_records self.mx_records = mx_records self.ns_records = ns_records self.ptr_records = ptr_records self.srv_records = srv_records self.txt_records = txt_records self.cname_record = cname_record self.soa_record = soa_record self.caa_records = caa_records
[docs]class RecordSetUpdateParameters(Model): """Parameters supplied to update a record set. :param record_set: Specifies information about the record set being updated. :type record_set: ~azure.mgmt.dns.v2018_03_01_preview.models.RecordSet """ _attribute_map = { 'record_set': {'key': 'RecordSet', 'type': 'RecordSet'}, } def __init__(self, *, record_set=None, **kwargs) -> None: super(RecordSetUpdateParameters, self).__init__(**kwargs) self.record_set = record_set
[docs]class SoaRecord(Model): """An SOA record. :param host: The domain name of the authoritative name server for this SOA record. :type host: str :param email: The email contact for this SOA record. :type email: str :param serial_number: The serial number for this SOA record. :type serial_number: long :param refresh_time: The refresh value for this SOA record. :type refresh_time: long :param retry_time: The retry time for this SOA record. :type retry_time: long :param expire_time: The expire time for this SOA record. :type expire_time: long :param minimum_ttl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration. :type minimum_ttl: long """ _attribute_map = { 'host': {'key': 'host', 'type': 'str'}, 'email': {'key': 'email', 'type': 'str'}, 'serial_number': {'key': 'serialNumber', 'type': 'long'}, 'refresh_time': {'key': 'refreshTime', 'type': 'long'}, 'retry_time': {'key': 'retryTime', 'type': 'long'}, 'expire_time': {'key': 'expireTime', 'type': 'long'}, 'minimum_ttl': {'key': 'minimumTTL', 'type': 'long'}, } def __init__(self, *, host: str=None, email: str=None, serial_number: int=None, refresh_time: int=None, retry_time: int=None, expire_time: int=None, minimum_ttl: int=None, **kwargs) -> None: super(SoaRecord, self).__init__(**kwargs) self.host = host self.email = email self.serial_number = serial_number self.refresh_time = refresh_time self.retry_time = retry_time self.expire_time = expire_time self.minimum_ttl = minimum_ttl
[docs]class SrvRecord(Model): """An SRV record. :param priority: The priority value for this SRV record. :type priority: int :param weight: The weight value for this SRV record. :type weight: int :param port: The port value for this SRV record. :type port: int :param target: The target domain name for this SRV record. :type target: str """ _attribute_map = { 'priority': {'key': 'priority', 'type': 'int'}, 'weight': {'key': 'weight', 'type': 'int'}, 'port': {'key': 'port', 'type': 'int'}, 'target': {'key': 'target', 'type': 'str'}, } def __init__(self, *, priority: int=None, weight: int=None, port: int=None, target: str=None, **kwargs) -> None: super(SrvRecord, self).__init__(**kwargs) self.priority = priority self.weight = weight self.port = port self.target = target
[docs]class SubResource(Model): """A reference to a another resource. :param id: Resource Id. :type id: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, } def __init__(self, *, id: str=None, **kwargs) -> None: super(SubResource, self).__init__(**kwargs) self.id = id
[docs]class TrackedResource(Resource): """The resource model definition for a ARM tracked top level resource. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str :ivar name: The name of the resource :vartype name: str :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] :param location: Required. The geo-location where the resource lives :type location: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, } def __init__(self, *, location: str, tags=None, **kwargs) -> None: super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location
[docs]class TxtRecord(Model): """A TXT record. :param value: The text value of this TXT record. :type value: list[str] """ _attribute_map = { 'value': {'key': 'value', 'type': '[str]'}, } def __init__(self, *, value=None, **kwargs) -> None: super(TxtRecord, self).__init__(**kwargs) self.value = value
[docs]class Zone(TrackedResource): """Describes a DNS zone. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. :ivar id: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} :vartype id: str :ivar name: The name of the resource :vartype name: str :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. :vartype type: str :param tags: Resource tags. :type tags: dict[str, str] :param location: Required. The geo-location where the resource lives :type location: str :param etag: The etag of the zone. :type etag: str :ivar max_number_of_record_sets: The maximum number of record sets that can be created in this DNS zone. This is a read-only property and any attempt to set this value will be ignored. :vartype max_number_of_record_sets: long :ivar number_of_record_sets: The current number of record sets in this DNS zone. This is a read-only property and any attempt to set this value will be ignored. :vartype number_of_record_sets: long :ivar name_servers: The name servers for this DNS zone. This is a read-only property and any attempt to set this value will be ignored. :vartype name_servers: list[str] :param zone_type: The type of this DNS zone (Public or Private). Possible values include: 'Public', 'Private'. Default value: "Public" . :type zone_type: str or ~azure.mgmt.dns.v2018_03_01_preview.models.ZoneType :param registration_virtual_networks: A list of references to virtual networks that register hostnames in this DNS zone. This is a only when ZoneType is Private. :type registration_virtual_networks: list[~azure.mgmt.dns.v2018_03_01_preview.models.SubResource] :param resolution_virtual_networks: A list of references to virtual networks that resolve records in this DNS zone. This is a only when ZoneType is Private. :type resolution_virtual_networks: list[~azure.mgmt.dns.v2018_03_01_preview.models.SubResource] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, 'max_number_of_record_sets': {'readonly': True}, 'number_of_record_sets': {'readonly': True}, 'name_servers': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, 'max_number_of_record_sets': {'key': 'properties.maxNumberOfRecordSets', 'type': 'long'}, 'number_of_record_sets': {'key': 'properties.numberOfRecordSets', 'type': 'long'}, 'name_servers': {'key': 'properties.nameServers', 'type': '[str]'}, 'zone_type': {'key': 'properties.zoneType', 'type': 'ZoneType'}, 'registration_virtual_networks': {'key': 'properties.registrationVirtualNetworks', 'type': '[SubResource]'}, 'resolution_virtual_networks': {'key': 'properties.resolutionVirtualNetworks', 'type': '[SubResource]'}, } def __init__(self, *, location: str, tags=None, etag: str=None, zone_type="Public", registration_virtual_networks=None, resolution_virtual_networks=None, **kwargs) -> None: super(Zone, self).__init__(tags=tags, location=location, **kwargs) self.etag = etag self.max_number_of_record_sets = None self.number_of_record_sets = None self.name_servers = None self.zone_type = zone_type self.registration_virtual_networks = registration_virtual_networks self.resolution_virtual_networks = resolution_virtual_networks
[docs]class ZoneUpdate(Model): """Describes a request to update a DNS zone. :param tags: Resource tags. :type tags: dict[str, str] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, tags=None, **kwargs) -> None: super(ZoneUpdate, self).__init__(**kwargs) self.tags = tags