vlans
Creates, updates, deletes, gets or lists a vlans resource.
Overview​
| Name | vlans |
| Type | Resource |
| Id | oci.network.vlans |
Fields​
The following fields are returned by SELECT queries:
- get
- list
The VLAN was retrieved.
| Name | Datatype | Description |
|---|---|---|
id | string | The VLAN's Oracle ID ([OCID](/iaas/Content/General/Concepts/identifiers.htm)). |
availabilityDomain | string | The availability domain of the VLAN. Example: Uocm:PHX-AD-1 |
cidrBlock | string | The range of IPv4 addresses that will be used for layer 3 communication with hosts outside the VLAN. Example: 192.168.1.0/24 |
compartmentId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the VLAN. |
definedTags | object | Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} |
displayName | string | A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. |
freeformTags | object | 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](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} |
lifecycleState | string | The VLAN's current state. (PROVISIONING, AVAILABLE, TERMINATING, TERMINATED, UPDATING) |
nsgIds | array | A list of the OCIDs of the network security groups (NSGs) to use with this VLAN. All VNICs in the VLAN belong to these NSGs. For more information about NSGs, see [NetworkSecurityGroup](#/en/iaas/latest/NetworkSecurityGroup/). |
routeTableId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the route table that the VLAN uses. |
timeCreated | string (date-time) | The date and time the VLAN was created, in the format defined by [RFC3339](https:​//tools.ietf.org/html/rfc3339). Example: 2016-08-25T21:10:29.600Z |
vcnId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN the VLAN is in. |
vlanTag | integer (int32) | The IEEE 802.1Q VLAN tag of this VLAN. Example: 100 |
A resource to be used only with the Oracle Cloud VMware Solution.<br /><br />Conceptually, a virtual LAN (VLAN) is a broadcast domain that is created<br />by partitioning and isolating a network at the data link layer (a layer 2 network).<br />VLANs work by using IEEE 802.1Q VLAN tags. Layer 2 traffic is forwarded within the<br />VLAN based on MAC learning.<br /><br />In the Networking service, a VLAN is an object within a VCN. You use VLANs to<br />partition the VCN at the data link layer (layer 2). A VLAN is analagous to a subnet,<br />which is an object for partitioning the VCN at the IP layer (layer 3).<br />
| Name | Datatype | Description |
|---|---|---|
id | string | The VLAN's Oracle ID ([OCID](/iaas/Content/General/Concepts/identifiers.htm)). |
availabilityDomain | string | The availability domain of the VLAN. Example: Uocm:PHX-AD-1 |
cidrBlock | string | The range of IPv4 addresses that will be used for layer 3 communication with hosts outside the VLAN. Example: 192.168.1.0/24 |
compartmentId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the VLAN. |
definedTags | object | Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} |
displayName | string | A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. |
freeformTags | object | 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](/iaas/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} |
lifecycleState | string | The VLAN's current state. (PROVISIONING, AVAILABLE, TERMINATING, TERMINATED, UPDATING) |
nsgIds | array | A list of the OCIDs of the network security groups (NSGs) to use with this VLAN. All VNICs in the VLAN belong to these NSGs. For more information about NSGs, see [NetworkSecurityGroup](#/en/iaas/latest/NetworkSecurityGroup/). |
routeTableId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the route table that the VLAN uses. |
timeCreated | string (date-time) | The date and time the VLAN was created, in the format defined by [RFC3339](https:​//tools.ietf.org/html/rfc3339). Example: 2016-08-25T21:10:29.600Z |
vcnId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN the VLAN is in. |
vlanTag | integer (int32) | The IEEE 802.1Q VLAN tag of this VLAN. Example: 100 |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | vlanId, region | opc-request-id | Gets the specified VLAN's information. |
list | select | compartmentId, vcnId, region | limit, page, displayName, sortBy, sortOrder, opc-request-id, lifecycleState | Lists the VLANs in the specified VCN and the specified compartment.<br /> |
create | insert | region, availabilityDomain, compartmentId, cidrBlock, vcnId | opc-retry-token, opc-request-id | Creates a VLAN in the specified VCN and the specified compartment.<br /> |
update | update | vlanId, region | if-match, opc-request-id | Updates the specified VLAN. Note that this operation might require changes to all<br />the VNICs in the VLAN, which can take a while. The VLAN will be in the UPDATING state until the changes are complete.<br /> |
delete | delete | vlanId, region | if-match, opc-request-id | Deletes the specified VLAN, but only if there are no VNICs in the VLAN.<br /> |
change_compartment | exec | vlanId, region, compartmentId | if-match, opc-request-id, opc-retry-token | Moves a VLAN into a different compartment within the same tenancy.<br />For information about moving resources between compartments, see<br />[Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).<br /> |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
compartmentId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment. |
region | string | OCI region identifier (e.g. us-ashburn-1, ap-sydney-1); resolves from OCI_REGION when not supplied in the query. (default: us-ashburn-1, x-stackQL-envVar: OCI_REGION) |
vcnId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN. |
vlanId | string | The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VLAN. |
displayName | string | A filter to return only resources that match the given display name exactly. |
if-match | string | For optimistic concurrency control. In the PUT or DELETE call for a resource, set the if-match parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value. |
lifecycleState | string | A filter to only return resources that match the given lifecycle state. The state value is case-insensitive. |
limit | integer | For list pagination. The maximum number of results per page, or items to return in a paginated "List" call. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). Example: 50 |
opc-request-id | string | Unique identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. |
opc-retry-token | string | A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations (for example, if a resource has been deleted and purged from the system, then a retry of the original creation request may be rejected). |
page | string | For list pagination. The value of the opc-next-page response header from the previous "List" call. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). |
sortBy | string | The field to sort by. You can provide one sort order (sortOrder). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive. Note: In general, some "List" operations (for example, ListInstances) let you optionally filter by availability domain if the scope of the resource type is within a single availability domain. If you call one of these "List" operations without specifying an availability domain, the resources are grouped by availability domain, then sorted. |
sortOrder | string | The sort order to use, either ascending (ASC) or descending (DESC). The DISPLAYNAME sort order is case sensitive. |
SELECT examples​
- get
- list
Gets the specified VLAN's information.
SELECT
id,
availabilityDomain,
cidrBlock,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
nsgIds,
routeTableId,
timeCreated,
vcnId,
vlanTag
FROM oci.network.vlans
WHERE vlanId = '{{ vlanId }}' -- required
AND region = '{{ region }}' -- required
AND opc-request-id = '{{ opc-request-id }}'
;
Lists the VLANs in the specified VCN and the specified compartment.<br />
SELECT
id,
availabilityDomain,
cidrBlock,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
nsgIds,
routeTableId,
timeCreated,
vcnId,
vlanTag
FROM oci.network.vlans
WHERE compartmentId = '{{ compartmentId }}' -- required
AND vcnId = '{{ vcnId }}' -- required
AND region = '{{ region }}' -- required
AND limit = '{{ limit }}'
AND page = '{{ page }}'
AND displayName = '{{ displayName }}'
AND sortBy = '{{ sortBy }}'
AND sortOrder = '{{ sortOrder }}'
AND opc-request-id = '{{ opc-request-id }}'
AND lifecycleState = '{{ lifecycleState }}'
;
INSERT examples​
- create
- Manifest
Creates a VLAN in the specified VCN and the specified compartment.<br />
INSERT INTO oci.network.vlans (
availabilityDomain,
cidrBlock,
compartmentId,
definedTags,
displayName,
freeformTags,
nsgIds,
routeTableId,
vcnId,
vlanTag,
region,
opc-retry-token,
opc-request-id
)
SELECT
'{{ availabilityDomain }}' /* required */,
'{{ cidrBlock }}' /* required */,
'{{ compartmentId }}' /* required */,
'{{ definedTags }}',
'{{ displayName }}',
'{{ freeformTags }}',
'{{ nsgIds }}',
'{{ routeTableId }}',
'{{ vcnId }}' /* required */,
{{ vlanTag }},
'{{ region }}',
'{{ opc-retry-token }}',
'{{ opc-request-id }}'
RETURNING
id,
availabilityDomain,
cidrBlock,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
nsgIds,
routeTableId,
timeCreated,
vcnId,
vlanTag
;
# Description fields are for documentation purposes
- name: vlans
props:
- name: region
value: "{{ region }}"
description: Required parameter for the vlans resource.
- name: availabilityDomain
value: "{{ availabilityDomain }}"
description: |
The availability domain of the VLAN.
Example: `Uocm:PHX-AD-1`
- name: cidrBlock
value: "{{ cidrBlock }}"
description: |
The range of IPv4 addresses that will be used for layer 3 communication with
hosts outside the VLAN. The CIDR must maintain the following rules -
1. The CIDR block is valid and correctly formatted.
2. The new range is within one of the parent VCN ranges.
Example: `192.0.2.0/24`
- name: compartmentId
value: "{{ compartmentId }}"
description: |
The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the compartment to contain the VLAN.
- name: definedTags
value: "{{ definedTags }}"
description: |
Defined tags for this resource. Each key is predefined and scoped to a
namespace. For more information, see [Resource Tags](/iaas/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
- name: displayName
value: "{{ displayName }}"
description: |
A user-friendly name. Does not have to be unique, and it's changeable.
Avoid entering confidential information.
- name: freeformTags
value: "{{ freeformTags }}"
description: |
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](/iaas/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
- name: nsgIds
value:
- "{{ nsgIds }}"
description: |
A list of the OCIDs of the network security groups (NSGs) to add all VNICs in the VLAN to. For more
information about NSGs, see
[NetworkSecurityGroup](#/en/iaas/latest/NetworkSecurityGroup/).
- name: routeTableId
value: "{{ routeTableId }}"
description: |
The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the route table the VLAN will use. If you don't provide a value,
the VLAN uses the VCN's default route table.
- name: vcnId
value: "{{ vcnId }}"
description: |
The [OCID](/iaas/Content/General/Concepts/identifiers.htm) of the VCN to contain the VLAN.
- name: vlanTag
value: {{ vlanTag }}
description: |
The IEEE 802.1Q VLAN tag for this VLAN. The value must be unique across all
VLANs in the VCN. If you don't provide a value, Oracle assigns one.
You cannot change the value later. VLAN tag 0 is reserved for use by Oracle.
- name: opc-retry-token
value: "{{ opc-retry-token }}"
description: A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations (for example, if a resource has been deleted and purged from the system, then a retry of the original creation request may be rejected).
description: A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations (for example, if a resource has been deleted and purged from the system, then a retry of the original creation request may be rejected).
- name: opc-request-id
value: "{{ opc-request-id }}"
description: Unique identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
description: Unique identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
UPDATE examples​
- update
Updates the specified VLAN. Note that this operation might require changes to all<br />the VNICs in the VLAN, which can take a while. The VLAN will be in the UPDATING state until the changes are complete.<br />
UPDATE oci.network.vlans
SET
definedTags = '{{ definedTags }}',
displayName = '{{ displayName }}',
freeformTags = '{{ freeformTags }}',
nsgIds = '{{ nsgIds }}',
routeTableId = '{{ routeTableId }}'
WHERE
vlanId = '{{ vlanId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match}}'
AND opc-request-id = '{{ opc-request-id}}'
RETURNING
id,
availabilityDomain,
cidrBlock,
compartmentId,
definedTags,
displayName,
freeformTags,
lifecycleState,
nsgIds,
routeTableId,
timeCreated,
vcnId,
vlanTag;
DELETE examples​
- delete
Deletes the specified VLAN, but only if there are no VNICs in the VLAN.<br />
DELETE FROM oci.network.vlans
WHERE vlanId = '{{ vlanId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match }}'
AND opc-request-id = '{{ opc-request-id }}'
;
Lifecycle Methods​
- change_compartment
Moves a VLAN into a different compartment within the same tenancy.<br />For information about moving resources between compartments, see<br />[Moving Resources to a Different Compartment](/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).<br />
EXEC oci.network.vlans.change_compartment
@vlanId='{{ vlanId }}' --required,
@region='{{ region }}' --required,
@if-match='{{ if-match }}',
@opc-request-id='{{ opc-request-id }}',
@opc-retry-token='{{ opc-retry-token }}'
@@json=
'{
"compartmentId": "{{ compartmentId }}"
}'
;