Class Zone.Builder
- java.lang.Object
-
- com.oracle.bmc.dns.model.Zone.Builder
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Zone
build()
Zone.Builder
compartmentId(String compartmentId)
The OCID of the compartment containing the zone.Zone.Builder
copy(Zone model)
Zone.Builder
definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.Zone.Builder
dnssecConfig(DnssecConfig dnssecConfig)
Zone.Builder
dnssecState(ZoneDnssecState dnssecState)
The state of DNSSEC on the zone.Zone.Builder
externalDownstreams(List<ExternalDownstream> externalDownstreams)
External secondary servers for the zone.Zone.Builder
externalMasters(List<ExternalMaster> externalMasters)
External master servers for the zone.Zone.Builder
freeformTags(Map<String,String> freeformTags)
Free-form tags for this resource.Zone.Builder
id(String id)
The OCID of the zone.Zone.Builder
isProtected(Boolean isProtected)
A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed.Zone.Builder
lifecycleState(Zone.LifecycleState lifecycleState)
The current state of the zone resource.Zone.Builder
name(String name)
The name of the zone.Zone.Builder
nameservers(List<Nameserver> nameservers)
The authoritative nameservers for the zone.Zone.Builder
scope(Scope scope)
The scope of the zone.Zone.Builder
self(String self)
The canonical absolute URL of the resource.Zone.Builder
serial(Long serial)
The current serial of the zone.Zone.Builder
timeCreated(Date timeCreated)
The date and time the resource was created in “YYYY-MM-ddThh:mm:ssZ” format with a Z offset, as defined by RFC 3339.Zone.Builder
version(String version)
Version is the never-repeating, totally-orderable, version of the zone, from which the serial field of the zone’s SOA record is derived.Zone.Builder
viewId(String viewId)
The OCID of the private view containing the zone.Zone.Builder
zoneTransferServers(List<ZoneTransferServer> zoneTransferServers)
The OCI nameservers that transfer the zone data with external nameservers.Zone.Builder
zoneType(Zone.ZoneType zoneType)
The type of the zone.
-
-
-
Method Detail
-
name
public Zone.Builder name(String name)
The name of the zone.- Parameters:
name
- the value to set- Returns:
- this builder
-
zoneType
public Zone.Builder zoneType(Zone.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
-
compartmentId
public Zone.Builder compartmentId(String compartmentId)
The OCID of the compartment containing the zone.- Parameters:
compartmentId
- the value to set- Returns:
- this builder
-
viewId
public Zone.Builder viewId(String viewId)
The OCID of the private view containing the zone.This value will be null for zones in the global DNS, which are publicly resolvable and not part of a private view.
- Parameters:
viewId
- the value to set- Returns:
- this builder
-
scope
public Zone.Builder scope(Scope scope)
The scope of the zone.- Parameters:
scope
- the value to set- Returns:
- this builder
-
freeformTags
public Zone.Builder freeformTags(Map<String,String> freeformTags)
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"}
- Parameters:
freeformTags
- the value to set- Returns:
- this builder
-
definedTags
public Zone.Builder definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
**Example:** {"Operations": {"CostCenter": "42"}}
- Parameters:
definedTags
- the value to set- Returns:
- this builder
-
dnssecState
public Zone.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
-
externalMasters
public Zone.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 Zone.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
-
self
public Zone.Builder self(String self)
The canonical absolute URL of the resource.- Parameters:
self
- the value to set- Returns:
- this builder
-
id
public Zone.Builder id(String id)
The OCID of the zone.- Parameters:
id
- the value to set- Returns:
- this builder
-
timeCreated
public Zone.Builder timeCreated(Date timeCreated)
The date and time the resource was created in “YYYY-MM-ddThh:mm:ssZ” format with a Z offset, as defined by RFC 3339.*Example:** 2016-07-22T17:23:59:60Z
- Parameters:
timeCreated
- the value to set- Returns:
- this builder
-
version
public Zone.Builder version(String version)
Version is the never-repeating, totally-orderable, version of the zone, from which the serial field of the zone’s SOA record is derived.- Parameters:
version
- the value to set- Returns:
- this builder
-
serial
public Zone.Builder serial(Long serial)
The current serial of the zone.As seen in the zone’s SOA record.
- Parameters:
serial
- the value to set- Returns:
- this builder
-
lifecycleState
public Zone.Builder lifecycleState(Zone.LifecycleState lifecycleState)
The current state of the zone resource.- Parameters:
lifecycleState
- the value to set- Returns:
- this builder
-
isProtected
public Zone.Builder isProtected(Boolean isProtected)
A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed.- Parameters:
isProtected
- the value to set- Returns:
- this builder
-
dnssecConfig
public Zone.Builder dnssecConfig(DnssecConfig dnssecConfig)
-
nameservers
public Zone.Builder nameservers(List<Nameserver> nameservers)
The authoritative nameservers for the zone.- Parameters:
nameservers
- the value to set- Returns:
- this builder
-
zoneTransferServers
public Zone.Builder zoneTransferServers(List<ZoneTransferServer> zoneTransferServers)
The OCI nameservers that transfer the zone data with external nameservers.- Parameters:
zoneTransferServers
- the value to set- Returns:
- this builder
-
build
public Zone build()
-
copy
public Zone.Builder copy(Zone model)
-
-