Last active
February 17, 2022 17:07
-
-
Save mattiarossi/2e466d8e9823aa4a7630891a6cfe4d70 to your computer and use it in GitHub Desktop.
Create OCI IPV6 VCN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| tenancy_id=`cat /etc/oci/config | grep tena | uniq | cut -d "=" -f 2` | |
| oci iam compartment list --output table --query "data [*].{CompartmentName:\"name\", OCID:id}" | |
| read -p "Enter the compartment ID where you wish to create the VCN [$tenancy_id]: " compartment_id | |
| compartment_id=${compartment_id:-$tenancy_id} | |
| read -p "Enter the VCN name you wish to create [CLI-VCN]: " vcn_name | |
| vcn_name=${vcn_name:-CLI-VCN} | |
| echo selected VCN name : $vcn_name | |
| vcn_dns=`echo "${vcn_name//[_-]/}"` | |
| if [ -z "$vcn_name" ]; | |
| then echo "The entered name is not valid "; | |
| else | |
| while true; do | |
| read -p "Enter the VCN network CIDR to assign [192.168.0.0/16]: " vcn_cidr | |
| vcn_cidr=${vcn_cidr:-"192.168.0.0/16"}; | |
| if [ "$vcn_cidr" = "" ] | |
| then echo "Entered CIDR is not valid. Please retry" | |
| else | |
| REGEX='^(((25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?))(\/([1][6-9]|[2][0-9]|3[0]))([^0-9.]|$)' | |
| if [[ $vcn_cidr =~ $REGEX ]] | |
| then | |
| echo == VCN information === | |
| echo VCN name = $vcn_name | |
| echo CIDR = $vcn_cidr | |
| echo VCN Dns-Label = $vcn_dns | |
| break | |
| else | |
| echo "Entered CIDR is not valid. Please retry" | |
| fi | |
| fi | |
| done | |
| fi | |
| oci network vcn create --cidr-block $vcn_cidr -c $compartment_id --display-name $vcn_name --dns-label $vcn_dns --is-ipv6-enabled true | |
| ocid_vcn=$(oci network vcn list -c $compartment_id --query "data [?\"display-name\"==\`$vcn_name\`] | [0].id" --raw-output) | |
| echo "==== Created VCN details ====" | |
| oci network vcn list -c $compartment_id --output table --query "data [?contains(\"display-name\",\`$vcn_name\`)].{CIDR:\"cidr-block\", VCN_NAME:\"display-name\", DOMAIN_NAME:\"vcn-domain-name\", DNS:\"dns-label\"}" | |
| echo | |
| echo "delete command ==> oci network vcn delete --vcn-id $ocid_vcn" --force |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment