community.general.oci_vcn – Manage Virtual Cloud Networks(VCN) in OCI
Note
This plugin is part of the community.general collection (version 3.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.oci_vcn
.
Synopsis
This module allows the user to create, delete and update virtual cloud networks(VCNs) in OCI. The complete Oracle Cloud Infrastructure Ansible Modules can be downloaded from https://github.com/oracle/oci-ansible-modules/releases.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7
Python SDK for Oracle Cloud Infrastructure https://oracle-cloud-infrastructure-python-sdk.readthedocs.io
Parameters
Parameter |
Comments |
---|---|
The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_OCID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See |
|
Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See |
|
Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See |
|
Passphrase used by the key referenced in |
|
The type of authentication to use for making API requests. By default Choices:
|
|
The CIDR IP address block of the VCN. Required when creating a VCN with state=present. |
|
The OCID of the compartment to contain the VCN. Required when creating a VCN with state=present. This option is mutually exclusive with vcn_id. |
|
Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config. |
|
The profile to load from the config file referenced by Default: “DEFAULT” |
|
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm. |
|
A user-friendly name. Does not have to be unique, and it’s changeable. |
|
A DNS label for the VCN, used in conjunction with the VNIC’s hostname and subnet’s DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, bminstance-1.subnet123.vcn1.oraclevcn.com). Not required to be unique, but it’s a best practice to set unique DNS labels for VCNs in your tenancy. Must be an alphanumeric string that begins with a letter. The value cannot be changed. |
|
Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn’t create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with key_by. Choices:
|
|
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 https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm. |
|
The list of comma-separated attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource except freeform_tags are used to uniquely identify a resource. |
|
The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See |
|
Create or update a VCN with state=present. Use state=absent to delete a VCN. Choices:
|
|
OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is used. This option is required if the tenancy OCID is not specified through a configuration file (See |
|
The OCID of the VCN. Required when deleting a VCN with state=absent or updating a VCN with state=present. This option is mutually exclusive with compartment_id. |
|
Whether to wait for create or delete operation to complete. Choices:
|
|
Time, in seconds, to wait when wait=yes. Default: 1200 |
|
The lifecycle state to wait for the resource to transition into when wait=yes. By default, when wait=yes, we wait for the resource to get into ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/ RUNNING applicable lifecycle state during create operation & to get into DELETED/DETACHED/ TERMINATED lifecycle state during delete operation. |
Notes
Note
For OCI python sdk configuration, please refer to https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/configuration.html
Examples
- name: Create a VCN
community.general.oci_vcn:
cidr_block: '10.0.0.0/16'
compartment_id: 'ocid1.compartment.oc1..xxxxxEXAMPLExxxxx'
display_name: my_vcn
dns_label: ansiblevcn
- name: Updates the specified VCN's display name
community.general.oci_vcn:
vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
display_name: ansible_vcn
- name: Delete the specified VCN
community.general.oci_vcn:
vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Information about the VCN Returned: On successful create and update operation Sample: {“cidr_block”: “10.0.0.0/16”, “compartment_id\””: “ocid1.compartment.oc1..xxxxxEXAMPLExxxxx”, “default_dhcp_options_id”: “ocid1.dhcpoptions.oc1.phx.xxxxxEXAMPLExxxxx”, “default_route_table_id”: “ocid1.routetable.oc1.phx.xxxxxEXAMPLExxxxx”, “default_security_list_id”: “ocid1.securitylist.oc1.phx.xxxxxEXAMPLExxxxx”, “display_name”: “ansible_vcn”, “dns_label”: “ansiblevcn”, “id”: “ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx”, “lifecycle_state”: “AVAILABLE”, “time_created”: “2017-11-13T20:22:40.626000+00:00”, “vcn_domain_name”: “ansiblevcn.oraclevcn.com”} |
Authors
Rohit Chaware (@rohitChaware)