Terraform : Oracle Cloud Infrastructure (OCI) Bastion
This article describes how to create a bastion on Oracle Cloud Infrastructure (OCI) using Terraform.
oracle miscconfigurationintermediate
by OracleDba
14 views
This article describes how to create a bastion on Oracle Cloud Infrastructure (OCI) using Terraform.
12345
mkdir \git\oraclebase\terraform\oci\oci_bastion
cd \git\oraclebase\terraform\oci\oci_bastion
copy \git\oraclebase\terraform\oci\oci_provider\*.tf .
copy \git\oraclebase\terraform\oci\oci_provider\*.tfvars .123456789101112131415161718192021222324252627
# Variables
variable "compartment_id" { type = string }
variable "target_subnet_id" { type = string }
variable "bastion_name" { type = string }
variable "bastion_client_cidr_block_allow_list" {
type = list
default = ["10.0.1.0/24"]
}
# Resources
resource "oci_bastion_bastion" "tf_bastion" {
#Required
bastion_type = "standard"
compartment_id = var.compartment_id
target_subnet_id = var.target_subnet_id
#Optional
name = var.bastion_name
client_cidr_block_allow_list = var.bastion_client_cidr_block_allow_list
}
# Outputs
output "bastion_id" {
value = oci_bastion_bastion.tf_bastion.id
}1234
compartment_id = "ocid1.compartment.oc1..aaaaaaaa..."
target_subnet_id = "ocid1.subnet.oc1.uk-london-1.aaaaaaaa..."
bastion_name = "obbastion1"
bastion_client_cidr_block_allow_list = ["10.0.1.0/24"]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
terraform init
terraform plan
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the
following symbols:
+ create
Terraform will perform the following actions:
# oci_bastion_bastion.tf_bastion will be created
+ resource "oci_bastion_bastion" "tf_bastion" {
+ bastion_type = "standard"
+ client_cidr_block_allow_list = [
+ "10.0.1.0/24",
]
+ compartment_id = "ocid1.compartment.oc1..aaaaaaaa..."
+ defined_tags = (known after apply)
+ freeform_tags = (known after apply)
+ id = (known after apply)
+ lifecycle_details = (known after apply)
+ max_session_ttl_in_seconds = (known after apply)
+ max_sessions_allowed = (known after apply)
+ name = "obbastion1"
+ phone_book_entry = (known after apply)
+ private_endpoint_ip_address = (known after apply)
+ state = (known after apply)
+ static_jump_host_ip_addresses = (known after apply)
+ system_tags = (known after apply)
+ target_subnet_id = "ocid1.subnet.oc1.uk-london-1.aaaaaaaa..."
+ target_vcn_id = (known after apply)
+ time_created = (known after apply)
+ time_updated = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ bastion_id = (known after apply)
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if
you run "terraform apply" now.
terraform apply
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the
following symbols:
+ create
Terraform will perform the following actions:
# oci_bastion_bastion.tf_bastion will be created
+ resource "oci_bastion_bastion" "tf_bastion" {
+ bastion_type = "standard"
+ client_cidr_block_allow_list = [
+ "10.0.1.0/24",
]
+ compartment_id = "ocid1.compartment.oc1..aaaaaaaa..."
+ defined_tags = (known after apply)
+ freeform_tags = (known after apply)
+ id = (known after apply)
+ lifecycle_details = (known after apply)
+ max_session_ttl_in_seconds = (known after apply)
+ max_sessions_allowed = (known after apply)
+ name = "obbastion1"
+ phone_book_entry = (known after apply)
+ private_endpoint_ip_address = (known after apply)
+ state = (known after apply)
+ static_jump_host_ip_addresses = (known after apply)
+ system_tags = (known after apply)
+ target_subnet_id = "ocid1.subnet.oc1.uk-london-1.aaaaaaaa..."
+ target_vcn_id = (known after apply)
+ time_created = (known after apply)
+ time_updated = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ bastion_id = (known after apply)
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
oci_bastion_bastion.tf_bastion: Creating...
oci_bastion_bastion.tf_bastion: Still creating... [10s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [20s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [30s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [40s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [50s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [1m0s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [1m10s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [1m20s elapsed]
oci_bastion_bastion.tf_bastion: Still creating... [1m30s elapsed]
oci_bastion_bastion.tf_bastion: Creation complete after 1m33s [id=ocid1.bastion.oc1.uk-london-1.amaaaaaa...]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Outputs:
bastion_id = "ocid1.bastion.oc1.uk-london-1.amaaaaaa..."Please to add comments
No comments yet. Be the first to comment!