Class ZoneSummary.Builder

  • Enclosing class:
    ZoneSummary

    public static class ZoneSummary.Builder
    extends Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • name

        public ZoneSummary.Builder name​(String name)
        The name of the zone.
        Parameters:
        name - the value to set
        Returns:
        this builder
      • zoneType

        public ZoneSummary.Builder zoneType​(ZoneSummary.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 ZoneSummary.Builder compartmentId​(String compartmentId)
        The OCID of the compartment containing the zone.
        Parameters:
        compartmentId - the value to set
        Returns:
        this builder
      • viewId

        public ZoneSummary.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 ZoneSummary.Builder scope​(Scope scope)
        The scope of the zone.
        Parameters:
        scope - the value to set
        Returns:
        this builder
      • freeformTags

        public ZoneSummary.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 ZoneSummary.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 ZoneSummary.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
      • self

        public ZoneSummary.Builder self​(String self)
        The canonical absolute URL of the resource.
        Parameters:
        self - the value to set
        Returns:
        this builder
      • id

        public ZoneSummary.Builder id​(String id)
        The OCID of the zone.
        Parameters:
        id - the value to set
        Returns:
        this builder
      • timeCreated

        public ZoneSummary.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 ZoneSummary.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 ZoneSummary.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
      • isProtected

        public ZoneSummary.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