CreateZoneDetails

class oci.dns.models.CreateZoneDetails(**kwargs)

Bases: oci.dns.models.create_zone_base_details.CreateZoneBaseDetails

The body for defining a new zone.

Warning: Oracle recommends that you avoid using any confidential information when you supply string values using the API.

Attributes

DNSSEC_STATE_DISABLED A constant which can be used with the dnssec_state property of a CreateZoneDetails.
DNSSEC_STATE_ENABLED A constant which can be used with the dnssec_state property of a CreateZoneDetails.
MIGRATION_SOURCE_DYNECT str(object=’’) -> str
MIGRATION_SOURCE_NONE str(object=’’) -> str
SCOPE_GLOBAL A constant which can be used with the scope property of a CreateZoneDetails.
SCOPE_PRIVATE A constant which can be used with the scope property of a CreateZoneDetails.
ZONE_TYPE_PRIMARY A constant which can be used with the zone_type property of a CreateZoneDetails.
ZONE_TYPE_SECONDARY A constant which can be used with the zone_type property of a CreateZoneDetails.
compartment_id [Required] Gets the compartment_id of this CreateZoneBaseDetails.
defined_tags Gets the defined_tags of this CreateZoneBaseDetails.
dnssec_state Gets the dnssec_state of this CreateZoneDetails.
external_downstreams Gets the external_downstreams of this CreateZoneDetails.
external_masters Gets the external_masters of this CreateZoneDetails.
freeform_tags Gets the freeform_tags of this CreateZoneBaseDetails.
migration_source Gets the migration_source of this CreateZoneBaseDetails.
name [Required] Gets the name of this CreateZoneBaseDetails.
scope Gets the scope of this CreateZoneDetails.
view_id Gets the view_id of this CreateZoneDetails.
zone_type Gets the zone_type of this CreateZoneDetails.

Methods

__init__(**kwargs) Initializes a new CreateZoneDetails object with values from keyword arguments.
get_subtype(object_dictionary) Given the hash representation of a subtype of this class, use the info in the hash to return the class of the subtype.
DNSSEC_STATE_DISABLED = 'DISABLED'

A constant which can be used with the dnssec_state property of a CreateZoneDetails. This constant has a value of “DISABLED”

DNSSEC_STATE_ENABLED = 'ENABLED'

A constant which can be used with the dnssec_state property of a CreateZoneDetails. This constant has a value of “ENABLED”

MIGRATION_SOURCE_DYNECT = 'DYNECT'
MIGRATION_SOURCE_NONE = 'NONE'
SCOPE_GLOBAL = 'GLOBAL'

A constant which can be used with the scope property of a CreateZoneDetails. This constant has a value of “GLOBAL”

SCOPE_PRIVATE = 'PRIVATE'

A constant which can be used with the scope property of a CreateZoneDetails. This constant has a value of “PRIVATE”

ZONE_TYPE_PRIMARY = 'PRIMARY'

A constant which can be used with the zone_type property of a CreateZoneDetails. This constant has a value of “PRIMARY”

ZONE_TYPE_SECONDARY = 'SECONDARY'

A constant which can be used with the zone_type property of a CreateZoneDetails. This constant has a value of “SECONDARY”

__init__(**kwargs)

Initializes a new CreateZoneDetails object with values from keyword arguments. The default value of the migration_source attribute of this class is NONE and it should not be changed. The following keyword arguments are supported (corresponding to the getters/setters of this class):

Parameters:
  • migration_source (str) – The value to assign to the migration_source property of this CreateZoneDetails. Allowed values for this property are: “NONE”, “DYNECT”
  • name (str) – The value to assign to the name property of this CreateZoneDetails.
  • compartment_id (str) – The value to assign to the compartment_id property of this CreateZoneDetails.
  • freeform_tags (dict(str, str)) – The value to assign to the freeform_tags property of this CreateZoneDetails.
  • defined_tags (dict(str, dict(str, object))) – The value to assign to the defined_tags property of this CreateZoneDetails.
  • zone_type (str) – The value to assign to the zone_type property of this CreateZoneDetails. Allowed values for this property are: “PRIMARY”, “SECONDARY”
  • view_id (str) – The value to assign to the view_id property of this CreateZoneDetails.
  • scope (str) – The value to assign to the scope property of this CreateZoneDetails. Allowed values for this property are: “GLOBAL”, “PRIVATE”
  • external_masters (list[oci.dns.models.ExternalMaster]) – The value to assign to the external_masters property of this CreateZoneDetails.
  • external_downstreams (list[oci.dns.models.ExternalDownstream]) – The value to assign to the external_downstreams property of this CreateZoneDetails.
  • dnssec_state (str) – The value to assign to the dnssec_state property of this CreateZoneDetails. Allowed values for this property are: “ENABLED”, “DISABLED”
compartment_id

[Required] Gets the compartment_id of this CreateZoneBaseDetails. The OCID of the compartment containing the zone.

Returns:The compartment_id of this CreateZoneBaseDetails.
Return type:str
defined_tags

Gets the defined_tags of this CreateZoneBaseDetails. Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.

Example: {“Operations”: {“CostCenter”: “42”}}

Returns:The defined_tags of this CreateZoneBaseDetails.
Return type:dict(str, dict(str, object))
dnssec_state

Gets the dnssec_state of this CreateZoneDetails. The state of DNSSEC on the zone.

For DNSSEC to function, every parent zone in the DNS tree up to the top-level domain (or an independent trust anchor) must also have DNSSEC correctly set up. After enabling DNSSEC, you must add a DS record to the zone’s parent zone containing the KskDnssecKeyVersion data. You can find the DS data in the dsData attribute of the KskDnssecKeyVersion. Then, use the PromoteZoneDnssecKeyVersion operation to promote the KskDnssecKeyVersion.

New KskDnssecKeyVersion`s are generated annually, a week before the existing `KskDnssecKeyVersion’s expiration. To rollover a KskDnssecKeyVersion, you must replace the parent zone’s DS record containing the old KskDnssecKeyVersion data with the data from the new KskDnssecKeyVersion.

To remove the old DS record without causing service disruption, wait until the old DS record’s TTL has expired, and the new DS record has propagated. After the DS replacement has been completed, then the PromoteZoneDnssecKeyVersion operation must be called.

Metrics are emitted in the oci_dns namespace daily for each KskDnssecKeyVersion indicating how many days are left until expiration. We recommend that you set up alarms and notifications for KskDnssecKeyVersion expiration so that the necessary parent zone updates can be made and the PromoteZoneDnssecKeyVersion operation can be called.

Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.

For more information, see DNSSEC.

Allowed values for this property are: “ENABLED”, “DISABLED”

Returns:The dnssec_state of this CreateZoneDetails.
Return type:str
external_downstreams

Gets the external_downstreams of this CreateZoneDetails. External secondary servers for the zone. This field is currently not supported when zoneType is SECONDARY or scope is PRIVATE.

Returns:The external_downstreams of this CreateZoneDetails.
Return type:list[oci.dns.models.ExternalDownstream]
external_masters

Gets the external_masters of this CreateZoneDetails. External master servers for the zone. externalMasters becomes a required parameter when the zoneType value is SECONDARY.

Returns:The external_masters of this CreateZoneDetails.
Return type:list[oci.dns.models.ExternalMaster]
freeform_tags

Gets the freeform_tags of this CreateZoneBaseDetails. Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.

Example: {“Department”: “Finance”}

Returns:The freeform_tags of this CreateZoneBaseDetails.
Return type:dict(str, str)
static get_subtype(object_dictionary)

Given the hash representation of a subtype of this class, use the info in the hash to return the class of the subtype.

migration_source

Gets the migration_source of this CreateZoneBaseDetails. Discriminator that is used to determine whether to create a new zone (NONE) or to migrate an existing DynECT zone (DYNECT).

Allowed values for this property are: “NONE”, “DYNECT”

Returns:The migration_source of this CreateZoneBaseDetails.
Return type:str
name

[Required] Gets the name of this CreateZoneBaseDetails. The name of the zone.

Global zone names must be unique across all other zones within the realm. Private zone names must be unique within their view.

Unicode characters will be converted into punycode, see RFC 3492.

Returns:The name of this CreateZoneBaseDetails.
Return type:str
scope

Gets the scope of this CreateZoneDetails. The scope of the zone.

Allowed values for this property are: “GLOBAL”, “PRIVATE”

Returns:The scope of this CreateZoneDetails.
Return type:str
view_id

Gets the view_id of this CreateZoneDetails. This value will be null for zones in the global DNS.

Returns:The view_id of this CreateZoneDetails.
Return type:str
zone_type

Gets the zone_type of this CreateZoneDetails. The type of the zone. Must be either PRIMARY or SECONDARY. SECONDARY is only supported for GLOBAL zones.

Allowed values for this property are: “PRIMARY”, “SECONDARY”

Returns:The zone_type of this CreateZoneDetails.
Return type:str