diff --git a/website/pages/docs/builders/oracle/oci.mdx b/website/pages/docs/builders/oracle/oci.mdx index 209282f43..d77d424a7 100644 --- a/website/pages/docs/builders/oracle/oci.mdx +++ b/website/pages/docs/builders/oracle/oci.mdx @@ -140,6 +140,13 @@ builder. - `instance_defined_tags` (map of maps of strings) - Add one or more defined tags for a given namespace to the instance used for the image creation process. +- `create_vnic_details` (map of strings) - Specify details for the virtual network interface card (VNIC) + that get attached to the instance. Possible keys (all optional) are: `assign_public_ip` (bool), + `display_name` (string), `hostname_lable` (string), `nsg_ids` (list), `private_ip` (string), + `skip_source_dest_check` (bool), and `subnet_id` (string). See + [the Oracle docs](https://docs.cloud.oracle.com/en-us/iaas/Content/Network/Tasks/managingVNICs.htm) + for more information about VNICs. + - `use_private_ip` (boolean) - Use private ip addresses to connect to the instance via ssh. @@ -244,3 +251,43 @@ Build 'oracle-oci' finished. --> oracle-oci: An image was created: 'ExampleImage' (OCID: ocid1.image.oc1.phx.aaa) in region 'us-phoenix-1' [opc@packerhost ~]$ ``` + +## Auto-assign Tags and Network Security Groups to Instance +Tags are useful for breaking down costs and usage. The keys `instance_tags` +and `instance_defined_tags` are assigned to the temporary instance, +whereas `tags` and `defined_tags` are assigned to the resulting image. + +Network Security Groups (NSGs) are used for granting networking permissions +to the instance. Depending on network (VCN and subnet) setup, this may be +required for Packer to successfully SSH into the instance. NSGs are a property +of the virtual network interface card (VNIC) attached to the instance, and +are listed in `nsg_ids` under `create_vnic_details`. +``` +{ + "name": "base-image-{{isotime \"20000102030405\"}}", + "type": "oracle-oci", + "availability_domain": "aaaa:PHX-AD-1", + "base_image_ocid": "ocid1.image.oc1.iad.aaa", + "compartment_ocid": "ocid1.compartment.oc1..aaa", + "image_name": "my-image-{{isotime \"20000102030405\"}}", + "shape": "VM.Standard.E2.1", + "subnet_ocid": "ocid1.subnet.oc1.iad.aaa", + "use_private_ip": "true", + "instance_name": "packer-build-{{isotime \"20000102030405\"}}", + "instance_tags": { "testing": "yes" }, + "instance_defined_tags": { + "Operations": { + "Team": "CostCenter", + "Environment": "prod" + } + } + "create_vnic_details": { + "assign_public_ip": "false", + "display_name": "testing-123", + "nsg_ids": ["ocid1.networksecuritygroup.oc1.iad.aaa"] + }, + "tags": { + "CreationDate": "{{isotime \"20000102 15:04:05 MST\"}}" + } +} +```