Class CreateVnicDetails


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20220919")
    public final class CreateVnicDetails
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
    Contains properties for a VNIC.

    You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    Note: Objects should always be created or deserialized using the CreateVnicDetails.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 CreateVnicDetails.Builder, which maintain a set of all explicitly set fields called CreateVnicDetails.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

      • getAssignPublicIp

        public Boolean getAssignPublicIp()
        Whether the VNIC should be assigned a public IP address.

        Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

        *Note:** This public IP address is associated with the primary private IP on the VNIC. For more information, see [IP Addresses](https://docs.oracle.com/iaas/Content/Network/Tasks/managingIPaddresses.htm).

        *Note:** There's a limit to the number of PublicIp a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see [Public IP Addresses](https://docs.oracle.com/iaas/Content/Network/Tasks/managingpublicIPs.htm).

        Example: false

        If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

        Returns:
        the value
      • getAssignPrivateDnsRecord

        public Boolean getAssignPrivateDnsRecord()
        Whether the VNIC should be assigned a DNS record.

        If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. By default, the value is true.

        If you specify a hostnameLabel, then assignPrivateDnsRecord must be set to true.

        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
      • 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
      • getFreeformTags

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

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

        Returns:
        the value
      • getHostnameLabel

        public String getHostnameLabel()
        The hostname for the VNIC’s primary private IP.

        Used for DNS. The value is the hostname portion of the primary private IP’s fully qualified domain name (FQDN) (for example, bminstance-1 in FQDN bminstance-1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the Vnic object and also the PrivateIp object returned by listPrivateIps and getPrivateIp.

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

        When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in launchInstanceDetails. If you provide both, the values must match.

        Example: bminstance-1

        If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

        Returns:
        the value
      • getNsgIds

        public List<String> getNsgIds()
        List of OCIDs of the network security groups (NSGs) that are added to the VNIC.

        For more information about NSGs, see NetworkSecurityGroup.

        If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

        Returns:
        the value
      • getPrivateIp

        public String getPrivateIp()
        A private IP address of your choice to assign to the VNIC.

        Must be an available IP address within the subnet’s CIDR. If you don’t specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC’s primary private IP address. The value appears in the Vnic object and also the PrivateIp object returned by listPrivateIps and getPrivateIp.

        If you specify a vlanId, the privateIp cannot be specified. See Vlan.

        Example: 10.0.3.3

        Returns:
        the value
      • getSkipSourceDestCheck

        public Boolean getSkipSourceDestCheck()
        Whether the source/destination check is disabled on the VNIC.

        Defaults to false, which means the check is performed. For information about why you should skip the source/destination check, see Using a Private IP as a Route Target.

        If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

        Example: true

        Returns:
        the value
      • getSubnetId

        public String getSubnetId()
        The OCID of the subnet to create the VNIC.

        When launching an instance, use this subnetId instead of the deprecated subnetId in launchInstanceDetails. At least one of them is required; if you provide both, the values must match.

        If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both vlanId and subnetId, the request fails.

        Returns:
        the value
      • getVlanId

        public String getVlanId()
        Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN.

        The value is the OCID of the VLAN. See Vlan.

        Provide a vlanId instead of a subnetId. If you provide both vlanId and subnetId, the request fails.

        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