# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .resource import Resource
[docs]class Domain(Resource):
"""Represents a domain.
:param id: Resource Id
:type id: str
:param name: Resource Name
:type name: str
:param kind: Kind of resource
:type kind: str
:param location: Resource Location
:type location: str
:param type: Resource type
:type type: str
:param tags: Resource tags
:type tags: dict
:param contact_admin: Admin contact information
:type contact_admin: :class:`Contact <azure.mgmt.web.models.Contact>`
:param contact_billing: Billing contact information
:type contact_billing: :class:`Contact <azure.mgmt.web.models.Contact>`
:param contact_registrant: Registrant contact information
:type contact_registrant: :class:`Contact <azure.mgmt.web.models.Contact>`
:param contact_tech: Technical contact information
:type contact_tech: :class:`Contact <azure.mgmt.web.models.Contact>`
:param registration_status: Domain registration status. Possible values
include: 'Active', 'Awaiting', 'Cancelled', 'Confiscated', 'Disabled',
'Excluded', 'Expired', 'Failed', 'Held', 'Locked', 'Parked', 'Pending',
'Reserved', 'Reverted', 'Suspended', 'Transferred', 'Unknown',
'Unlocked', 'Unparked', 'Updated', 'JsonConverterFailed'
:type registration_status: str or :class:`DomainStatus
<azure.mgmt.web.models.DomainStatus>`
:param provisioning_state: Domain provisioning state. Possible values
include: 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Deleting'
:type provisioning_state: str or :class:`ProvisioningState
<azure.mgmt.web.models.ProvisioningState>`
:param name_servers: Name servers
:type name_servers: list of str
:param privacy: If true then domain privacy is enabled for this domain
:type privacy: bool
:param created_time: Domain creation timestamp
:type created_time: datetime
:param expiration_time: Domain expiration timestamp
:type expiration_time: datetime
:param last_renewed_time: Timestamp when the domain was renewed last time
:type last_renewed_time: datetime
:param auto_renew: If true then domain will renewed automatically
:type auto_renew: bool
:param ready_for_dns_record_management: If true then Azure can assign
this domain to Web Apps. This value will be true if domain registration
status is active and it is hosted on name servers Azure has programmatic
access to
:type ready_for_dns_record_management: bool
:param managed_host_names: All hostnames derived from the domain and
assigned to Azure resources
:type managed_host_names: list of :class:`HostName
<azure.mgmt.web.models.HostName>`
:param consent: Legal agreement consent
:type consent: :class:`DomainPurchaseConsent
<azure.mgmt.web.models.DomainPurchaseConsent>`
:param domain_not_renewable_reasons: Reasons why domain is not renewable
:type domain_not_renewable_reasons: list of str
"""
_validation = {
'location': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'kind': {'key': 'kind', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'contact_admin': {'key': 'properties.contactAdmin', 'type': 'Contact'},
'contact_billing': {'key': 'properties.contactBilling', 'type': 'Contact'},
'contact_registrant': {'key': 'properties.contactRegistrant', 'type': 'Contact'},
'contact_tech': {'key': 'properties.contactTech', 'type': 'Contact'},
'registration_status': {'key': 'properties.registrationStatus', 'type': 'DomainStatus'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'ProvisioningState'},
'name_servers': {'key': 'properties.nameServers', 'type': '[str]'},
'privacy': {'key': 'properties.privacy', 'type': 'bool'},
'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'},
'expiration_time': {'key': 'properties.expirationTime', 'type': 'iso-8601'},
'last_renewed_time': {'key': 'properties.lastRenewedTime', 'type': 'iso-8601'},
'auto_renew': {'key': 'properties.autoRenew', 'type': 'bool'},
'ready_for_dns_record_management': {'key': 'properties.readyForDnsRecordManagement', 'type': 'bool'},
'managed_host_names': {'key': 'properties.managedHostNames', 'type': '[HostName]'},
'consent': {'key': 'properties.consent', 'type': 'DomainPurchaseConsent'},
'domain_not_renewable_reasons': {'key': 'properties.domainNotRenewableReasons', 'type': '[str]'},
}
def __init__(self, location, id=None, name=None, kind=None, type=None, tags=None, contact_admin=None, contact_billing=None, contact_registrant=None, contact_tech=None, registration_status=None, provisioning_state=None, name_servers=None, privacy=None, created_time=None, expiration_time=None, last_renewed_time=None, auto_renew=None, ready_for_dns_record_management=None, managed_host_names=None, consent=None, domain_not_renewable_reasons=None):
super(Domain, self).__init__(id=id, name=name, kind=kind, location=location, type=type, tags=tags)
self.contact_admin = contact_admin
self.contact_billing = contact_billing
self.contact_registrant = contact_registrant
self.contact_tech = contact_tech
self.registration_status = registration_status
self.provisioning_state = provisioning_state
self.name_servers = name_servers
self.privacy = privacy
self.created_time = created_time
self.expiration_time = expiration_time
self.last_renewed_time = last_renewed_time
self.auto_renew = auto_renew
self.ready_for_dns_record_management = ready_for_dns_record_management
self.managed_host_names = managed_host_names
self.consent = consent
self.domain_not_renewable_reasons = domain_not_renewable_reasons