Class CreateSubnetDetails


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20160918")
    public final class CreateSubnetDetails
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel

    Note: Objects should always be created or deserialized using the CreateSubnetDetails.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 CreateSubnetDetails.Builder, which maintain a set of all explicitly set fields called CreateSubnetDetails.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).

    • Method Detail

      • getAvailabilityDomain

        public String getAvailabilityDomain()
        Controls whether the subnet is regional or specific to an availability domain.

        Oracle recommends creating regional subnets because they’re more flexible and make it easier to implement failover across availability domains. Originally, AD-specific subnets were the only kind available to use.

        To create a regional subnet, omit this attribute. Then any resources later created in this subnet (such as a Compute instance) can be created in any availability domain in the region.

        To instead create an AD-specific subnet, set this attribute to the availability domain you want this subnet to be in. Then any resources later created in this subnet can only be created in that availability domain.

        Example: Uocm:PHX-AD-1

        Returns:
        the value
      • getCidrBlock

        public String getCidrBlock()
        The CIDR IP address range of the subnet.

        The CIDR must maintain the following rules -

        a. The CIDR block is valid and correctly formatted. b. The new range is within one of the parent VCN ranges.

        Example: 10.0.1.0/24

        Returns:
        the value
      • getCompartmentId

        public String getCompartmentId()
        The OCID of the compartment to contain the subnet.
        Returns:
        the value
      • getDefinedTags

        public Map<String,​Map<String,​Object>> getDefinedTags()
        Defined tags for this resource.

        Each key is predefined and scoped to a namespace. Example: {“foo-namespace”: {“bar-key”: “value”}}

        Returns:
        the value
      • getDhcpOptionsId

        public String getDhcpOptionsId()
        The OCID of the set of DHCP options the subnet will use.

        If you don’t provide a value, the subnet uses the VCN’s default set of DHCP options.

        Returns:
        the value
      • getDisplayName

        public String getDisplayName()
        A user-friendly name.

        Does not have to be unique, and it’s changeable. Avoid entering confidential information.

        Returns:
        the value
      • getDnsLabel

        public String getDnsLabel()
        A DNS label for the subnet, used in conjunction with the VNIC’s hostname and VCN’s DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, bminstance1.subnet123.vcn1.oraclevcn.com).

        Must be an alphanumeric string that begins with a letter and is unique within the VCN. The value cannot be changed.

        This value must be set if you want to use the Internet and VCN Resolver to resolve the hostnames of instances in the subnet. It can only be set if the VCN itself was created with a DNS label.

        For more information, see [DNS in Your Virtual Cloud Network](https://docs.oracle.com/iaas/Content/Network/Concepts/dns.htm).

        Example: subnet123

        Returns:
        the value
      • getFreeformTags

        public Map<String,​String> getFreeformTags()
        Simple key-value pair that is applied without any predefined name, type or scope.

        Exists for cross-compatibility only. Example: {“bar-key”: “value”}

        Returns:
        the value
      • getIpv6CidrBlock

        public String getIpv6CidrBlock()
        Use this to enable IPv6 addressing for this subnet.

        The VCN must be enabled for IPv6. You can’t change this subnet characteristic later. All subnets are /64 in size. The subnet portion of the IPv6 address is the fourth hextet from the left (1111 in the following example).

        For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).

        Example: 2001:0db8:0123:1111::/64

        Returns:
        the value
      • getIpv6CidrBlocks

        public List<String> getIpv6CidrBlocks()
        The list of all IPv6 CIDR blocks (Oracle allocated IPv6 GUA, ULA or private IPv6 CIDR blocks, BYOIPv6 CIDR blocks) for the subnet that meets the following criteria: - The CIDR blocks must be valid.
        • Multiple CIDR blocks must not overlap each other or the on-premises network CIDR block. - The number of CIDR blocks must not exceed the limit of IPv6 CIDR blocks allowed to a subnet.
        Returns:
        the value
      • getProhibitInternetIngress

        public Boolean getProhibitInternetIngress()
        Whether to disallow ingress internet traffic to VNICs within this subnet.

        Defaults to false.

        For IPv6, if prohibitInternetIngress is set to true, internet access is not allowed for any IPv6s assigned to VNICs in the subnet. Otherwise, ingress internet traffic is allowed by default.

        prohibitPublicIpOnVnic will be set to the value of prohibitInternetIngress to dictate IPv4 behavior in this subnet. Only one or the other flag should be specified.

        Example: true

        Returns:
        the value
      • getProhibitPublicIpOnVnic

        public Boolean getProhibitPublicIpOnVnic()
        Whether VNICs within this subnet can have public IP addresses.

        Defaults to false, which means VNICs created in this subnet will automatically be assigned public IP addresses unless specified otherwise during instance launch or VNIC creation (with the assignPublicIp flag in CreateVnicDetails). If prohibitPublicIpOnVnic is set to true, VNICs created in this subnet cannot have public IP addresses (that is, it’s a private subnet).

        If you intend to use an IPv6 CIDR block, you should use the flag prohibitInternetIngress to specify ingress internet traffic behavior of the subnet.

        Example: true

        Returns:
        the value
      • getRouteTableId

        public String getRouteTableId()
        The OCID of the route table the subnet will use.

        If you don’t provide a value, the subnet uses the VCN’s default route table.

        Returns:
        the value
      • getSecurityListIds

        public List<String> getSecurityListIds()
        The OCIDs of the security list or lists the subnet will use.

        If you don’t provide a value, the subnet uses the VCN’s default security list. Remember that security lists are associated with the subnet, but the rules are applied to the individual VNICs in the subnet.

        Returns:
        the value
      • getVcnId

        public String getVcnId()
        The OCID of the VCN to contain the subnet.
        Returns:
        the value
      • toString

        public String toString()
        Overrides:
        toString in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • toString

        public String toString​(boolean includeByteArrayContents)
        Return a string representation of the object.
        Parameters:
        includeByteArrayContents - true to include the full contents of byte arrays
        Returns:
        string representation
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel