Show / Hide Table of Contents

Class CreateSubnetDetails

Inheritance
object
CreateSubnetDetails
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Oci.CoreService.Models
Assembly: OCI.DotNetSDK.Core.dll
Syntax
public class CreateSubnetDetails

Properties

AvailabilityDomain

Declaration
[JsonProperty(PropertyName = "availabilityDomain")]
public string AvailabilityDomain { get; set; }
Property Value
Type Description
string

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

CidrBlock

Declaration
[Required(ErrorMessage = "CidrBlock is required.")]
[JsonProperty(PropertyName = "cidrBlock")]
public string CidrBlock { get; set; }
Property Value
Type Description
string

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

Remarks

Required

CompartmentId

Declaration
[Required(ErrorMessage = "CompartmentId is required.")]
[JsonProperty(PropertyName = "compartmentId")]
public string CompartmentId { get; set; }
Property Value
Type Description
string

The OCID of the compartment to contain the subnet.

Remarks

Required

DefinedTags

Declaration
[JsonProperty(PropertyName = "definedTags")]
public Dictionary<string, Dictionary<string, object>> DefinedTags { get; set; }
Property Value
Type Description
Dictionary<string, Dictionary<string, object>>

Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {"Operations": {"CostCenter": "42"}}

DhcpOptionsId

Declaration
[JsonProperty(PropertyName = "dhcpOptionsId")]
public string DhcpOptionsId { get; set; }
Property Value
Type Description
string

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.

DisplayName

Declaration
[JsonProperty(PropertyName = "displayName")]
public string DisplayName { get; set; }
Property Value
Type Description
string

A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.

DnsLabel

Declaration
[JsonProperty(PropertyName = "dnsLabel")]
public string DnsLabel { get; set; }
Property Value
Type Description
string

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.
Example: subnet123

FreeformTags

Declaration
[JsonProperty(PropertyName = "freeformTags")]
public Dictionary<string, string> FreeformTags { get; set; }
Property Value
Type Description
Dictionary<string, string>

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"}

Ipv6CidrBlock

Declaration
[JsonProperty(PropertyName = "ipv6CidrBlock")]
public string Ipv6CidrBlock { get; set; }
Property Value
Type Description
string

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.
Example: 2001:0db8:0123:1111::/64

Ipv6CidrBlocks

Declaration
[JsonProperty(PropertyName = "ipv6CidrBlocks")]
public List<string> Ipv6CidrBlocks { get; set; }
Property Value
Type Description
List<string>

The list of all IPv6 prefixes (Oracle allocated IPv6 GUA, ULA or private IPv6 prefixes, BYOIPv6 prefixes) for the subnet that meets the following criteria:

  • The prefixes must be valid.
  • Multiple prefixes must not overlap each other or the on-premises network prefix.
  • The number of prefixes must not exceed the limit of IPv6 prefixes allowed to a subnet.

ProhibitInternetIngress

Declaration
[JsonProperty(PropertyName = "prohibitInternetIngress")]
public bool? ProhibitInternetIngress { get; set; }
Property Value
Type Description
bool?

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

ProhibitPublicIpOnVnic

Declaration
[JsonProperty(PropertyName = "prohibitPublicIpOnVnic")]
public bool? ProhibitPublicIpOnVnic { get; set; }
Property Value
Type Description
bool?

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 {@link 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 prefix, you should use the flag prohibitInternetIngress to specify ingress internet traffic behavior of the subnet.
Example: true

RouteTableId

Declaration
[JsonProperty(PropertyName = "routeTableId")]
public string RouteTableId { get; set; }
Property Value
Type Description
string

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.

SecurityListIds

Declaration
[JsonProperty(PropertyName = "securityListIds")]
public List<string> SecurityListIds { get; set; }
Property Value
Type Description
List<string>

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.

VcnId

Declaration
[Required(ErrorMessage = "VcnId is required.")]
[JsonProperty(PropertyName = "vcnId")]
public string VcnId { get; set; }
Property Value
Type Description
string

The OCID of the VCN to contain the subnet.

Remarks

Required

In this article
Back to top