Class CreateZoneDetails.Builder
- java.lang.Object
-
- com.oracle.bmc.dns.model.CreateZoneDetails.Builder
-
- Enclosing class:
- CreateZoneDetails
public static class CreateZoneDetails.Builder extends Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
name
public CreateZoneDetails.Builder name(String name)
-
compartmentId
public CreateZoneDetails.Builder compartmentId(String compartmentId)
-
freeformTags
public CreateZoneDetails.Builder freeformTags(Map<String,String> freeformTags)
-
definedTags
public CreateZoneDetails.Builder definedTags(Map<String,Map<String,Object>> definedTags)
-
zoneType
public CreateZoneDetails.Builder zoneType(CreateZoneDetails.ZoneType zoneType)
The type of the zone.Must be either PRIMARY or SECONDARY. SECONDARY is only supported for GLOBAL zones.
- Parameters:
zoneType
- the value to set- Returns:
- this builder
-
viewId
public CreateZoneDetails.Builder viewId(String viewId)
This value will be null for zones in the global DNS.- Parameters:
viewId
- the value to set- Returns:
- this builder
-
scope
public CreateZoneDetails.Builder scope(Scope scope)
The scope of the zone.- Parameters:
scope
- the value to set- Returns:
- this builder
-
externalMasters
public CreateZoneDetails.Builder externalMasters(List<ExternalMaster> externalMasters)
External master servers for the zone.externalMasters becomes a required parameter when the zoneType value is SECONDARY.
- Parameters:
externalMasters
- the value to set- Returns:
- this builder
-
externalDownstreams
public CreateZoneDetails.Builder externalDownstreams(List<ExternalDownstream> externalDownstreams)
External secondary servers for the zone.This field is currently not supported when zoneType is SECONDARY or scope is PRIVATE.
- Parameters:
externalDownstreams
- the value to set- Returns:
- this builder
-
dnssecState
public CreateZoneDetails.Builder dnssecState(ZoneDnssecState dnssecState)
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 KskDnssecKeyVersions 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.oracle.com/iaas/Content/DNS/Concepts/dnssec.htm).
- Parameters:
dnssecState
- the value to set- Returns:
- this builder
-
build
public CreateZoneDetails build()
-
copy
public CreateZoneDetails.Builder copy(CreateZoneDetails model)
-
-