Class CreateSubnetDetails.Builder
- java.lang.Object
-
- com.oracle.bmc.vnmonitoring.model.CreateSubnetDetails.Builder
-
- Enclosing class:
- CreateSubnetDetails
public static class CreateSubnetDetails.Builder extends Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CreateSubnetDetails.Builder
availabilityDomain(String availabilityDomain)
Controls whether the subnet is regional or specific to an availability domain.CreateSubnetDetails
build()
CreateSubnetDetails.Builder
cidrBlock(String cidrBlock)
The CIDR IP address range of the subnet.CreateSubnetDetails.Builder
compartmentId(String compartmentId)
The OCID of the compartment to contain the subnet.CreateSubnetDetails.Builder
copy(CreateSubnetDetails model)
CreateSubnetDetails.Builder
definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.CreateSubnetDetails.Builder
dhcpOptionsId(String dhcpOptionsId)
The OCID of the set of DHCP options the subnet will use.CreateSubnetDetails.Builder
displayName(String displayName)
A user-friendly name.CreateSubnetDetails.Builder
dnsLabel(String dnsLabel)
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).CreateSubnetDetails.Builder
freeformTags(Map<String,String> freeformTags)
Simple key-value pair that is applied without any predefined name, type or scope.CreateSubnetDetails.Builder
ipv6CidrBlock(String ipv6CidrBlock)
Use this to enable IPv6 addressing for this subnet.CreateSubnetDetails.Builder
ipv6CidrBlocks(List<String> ipv6CidrBlocks)
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.CreateSubnetDetails.Builder
prohibitInternetIngress(Boolean prohibitInternetIngress)
Whether to disallow ingress internet traffic to VNICs within this subnet.CreateSubnetDetails.Builder
prohibitPublicIpOnVnic(Boolean prohibitPublicIpOnVnic)
Whether VNICs within this subnet can have public IP addresses.CreateSubnetDetails.Builder
routeTableId(String routeTableId)
The OCID of the route table the subnet will use.CreateSubnetDetails.Builder
securityListIds(List<String> securityListIds)
The OCIDs of the security list or lists the subnet will use.CreateSubnetDetails.Builder
vcnId(String vcnId)
The OCID of the VCN to contain the subnet.
-
-
-
Method Detail
-
availabilityDomain
public CreateSubnetDetails.Builder availabilityDomain(String availabilityDomain)
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
- Parameters:
availabilityDomain
- the value to set- Returns:
- this builder
-
cidrBlock
public CreateSubnetDetails.Builder cidrBlock(String cidrBlock)
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
- Parameters:
cidrBlock
- the value to set- Returns:
- this builder
-
compartmentId
public CreateSubnetDetails.Builder compartmentId(String compartmentId)
The OCID of the compartment to contain the subnet.- Parameters:
compartmentId
- the value to set- Returns:
- this builder
-
definedTags
public CreateSubnetDetails.Builder definedTags(Map<String,Map<String,Object>> definedTags)
Defined tags for this resource.Each key is predefined and scoped to a namespace. Example: {“foo-namespace”: {“bar-key”: “value”}}
- Parameters:
definedTags
- the value to set- Returns:
- this builder
-
dhcpOptionsId
public CreateSubnetDetails.Builder dhcpOptionsId(String dhcpOptionsId)
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.
- Parameters:
dhcpOptionsId
- the value to set- Returns:
- this builder
-
displayName
public CreateSubnetDetails.Builder displayName(String displayName)
A user-friendly name.Does not have to be unique, and it’s changeable. Avoid entering confidential information.
- Parameters:
displayName
- the value to set- Returns:
- this builder
-
dnsLabel
public CreateSubnetDetails.Builder dnsLabel(String dnsLabel)
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
- Parameters:
dnsLabel
- the value to set- Returns:
- this builder
-
freeformTags
public CreateSubnetDetails.Builder freeformTags(Map<String,String> freeformTags)
Simple key-value pair that is applied without any predefined name, type or scope.Exists for cross-compatibility only. Example: {“bar-key”: “value”}
- Parameters:
freeformTags
- the value to set- Returns:
- this builder
-
ipv6CidrBlock
public CreateSubnetDetails.Builder ipv6CidrBlock(String ipv6CidrBlock)
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
- Parameters:
ipv6CidrBlock
- the value to set- Returns:
- this builder
-
ipv6CidrBlocks
public CreateSubnetDetails.Builder ipv6CidrBlocks(List<String> ipv6CidrBlocks)
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.
- Parameters:
ipv6CidrBlocks
- the value to set- Returns:
- this builder
-
prohibitInternetIngress
public CreateSubnetDetails.Builder prohibitInternetIngress(Boolean prohibitInternetIngress)
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
- Parameters:
prohibitInternetIngress
- the value to set- Returns:
- this builder
-
prohibitPublicIpOnVnic
public CreateSubnetDetails.Builder prohibitPublicIpOnVnic(Boolean prohibitPublicIpOnVnic)
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
- Parameters:
prohibitPublicIpOnVnic
- the value to set- Returns:
- this builder
-
routeTableId
public CreateSubnetDetails.Builder routeTableId(String routeTableId)
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.
- Parameters:
routeTableId
- the value to set- Returns:
- this builder
-
securityListIds
public CreateSubnetDetails.Builder securityListIds(List<String> securityListIds)
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.
- Parameters:
securityListIds
- the value to set- Returns:
- this builder
-
vcnId
public CreateSubnetDetails.Builder vcnId(String vcnId)
The OCID of the VCN to contain the subnet.- Parameters:
vcnId
- the value to set- Returns:
- this builder
-
build
public CreateSubnetDetails build()
-
copy
public CreateSubnetDetails.Builder copy(CreateSubnetDetails model)
-
-