@Generated(value="OracleSDKGenerator", comments="API Version: 20180115") public final class CreateZoneDetails extends 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.
Note: Objects should always be created or deserialized using the CreateZoneDetails.Builder
. This model
distinguishes fields that are null
because they are unset from fields that are explicitly
set to null
. This is done in the setter methods of the CreateZoneDetails.Builder
, which maintain a
set of all explicitly set fields called CreateZoneDetails.Builder.__explicitlySet__
. The hashCode()
and equals(Object)
methods are implemented to take the explicitly set
fields into account. The constructor, on the other hand, does not take the explicitly set fields
into account (since the constructor cannot distinguish explicit null
from unset null
).
Modifier and Type | Class and Description |
---|---|
static class |
CreateZoneDetails.Builder |
static class |
CreateZoneDetails.ZoneType
The type of the zone.
|
CreateZoneBaseDetails.MigrationSource
EXPLICITLY_SET_FILTER_NAME, EXPLICITLY_SET_PROPERTY_NAME
Constructor and Description |
---|
CreateZoneDetails(String name,
String compartmentId,
Map<String,String> freeformTags,
Map<String,Map<String,Object>> definedTags,
CreateZoneDetails.ZoneType zoneType,
String viewId,
Scope scope,
List<ExternalMaster> externalMasters,
List<ExternalDownstream> externalDownstreams,
ZoneDnssecState dnssecState)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
static CreateZoneDetails.Builder |
builder()
Create a new builder.
|
boolean |
equals(Object o) |
ZoneDnssecState |
getDnssecState()
The state of DNSSEC on the zone.
|
List<ExternalDownstream> |
getExternalDownstreams()
External secondary servers for the zone.
|
List<ExternalMaster> |
getExternalMasters()
External master servers for the zone.
|
Scope |
getScope()
The scope of the zone.
|
String |
getViewId()
This value will be null for zones in the global DNS.
|
CreateZoneDetails.ZoneType |
getZoneType()
The type of the zone.
|
int |
hashCode() |
CreateZoneDetails.Builder |
toBuilder() |
String |
toString() |
String |
toString(boolean includeByteArrayContents)
Return a string representation of the object.
|
getCompartmentId, getDefinedTags, getFreeformTags, getName
markPropertyAsExplicitlySet, wasPropertyExplicitlySet
@Deprecated public CreateZoneDetails(String name, String compartmentId, Map<String,String> freeformTags, Map<String,Map<String,Object>> definedTags, CreateZoneDetails.ZoneType zoneType, String viewId, Scope scope, List<ExternalMaster> externalMasters, List<ExternalDownstream> externalDownstreams, ZoneDnssecState dnssecState)
public static CreateZoneDetails.Builder builder()
Create a new builder.
public CreateZoneDetails.Builder toBuilder()
public CreateZoneDetails.ZoneType getZoneType()
The type of the zone. Must be either PRIMARY
or SECONDARY
. SECONDARY
is only supported for GLOBAL zones.
public String getViewId()
This value will be null for zones in the global DNS.
public Scope getScope()
The scope of the zone.
public List<ExternalMaster> getExternalMasters()
External master servers for the zone. externalMasters
becomes a required parameter
when the zoneType
value is SECONDARY
.
public List<ExternalDownstream> getExternalDownstreams()
External secondary servers for the zone. This field is currently not supported when zoneType
is SECONDARY
or scope
is PRIVATE
.
public ZoneDnssecState getDnssecState()
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](https://docs.cloud.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
public String toString()
toString
in class CreateZoneBaseDetails
public String toString(boolean includeByteArrayContents)
Return a string representation of the object.
toString
in class CreateZoneBaseDetails
includeByteArrayContents
- true to include the full contents of byte arrayspublic boolean equals(Object o)
equals
in class CreateZoneBaseDetails
public int hashCode()
hashCode
in class CreateZoneBaseDetails
Copyright © 2016–2024. All rights reserved.