### DB Systems VM/BM Provisioning Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning DB Systems on Virtual Machine (VM) or Bare Metal (BM) hardware. ```terraform map(any) ``` -------------------------------- ### Database Provisioning Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning databases, either within an existing DB home or as a new DB home. ```terraform map(any) ``` -------------------------------- ### Exadata Infrastructure Provisioning Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Exadata infrastructure in Oracle Cloud Infrastructure. ```terraform map(any) ``` -------------------------------- ### Load Balancer Rule Sets Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Load Balancer Rule Sets. ```terraform map(any) ``` -------------------------------- ### Load Balancer Path Route Sets Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Load Balancer Path Route Sets. ```terraform map(any) ``` -------------------------------- ### List of CD3 Automation Toolkit Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md This section provides a comprehensive list of all available modules within the CD3 Automation Toolkit. Each entry includes the module name, its source directory, and version information. This helps users identify and locate specific automation functionalities. ```markdown | Name | Source | Version | |------|--------|---------| | [alarms](#module_alarms) | ./modules/managementservices/alarm | n/a | | [backend-sets](#module_backend-sets) | ./modules/loadbalancer/lb-backend-set | n/a | | [backends](#module_backends) | ./modules/loadbalancer/lb-backend | n/a | | [block-volumes](#module_block-volumes) | ./modules/storage/block-volume | n/a | | [budget-alert-rules](#module_budget-alert-rules) | ./modules/governance/billing/budget-alert-rule | n/a | | [budgets](#module_budgets) | ./modules/governance/billing/budget | n/a | | [certificates](#module_certificates) | ./modules/loadbalancer/lb-certificate | n/a | | [cipher-suites](#module_cipher-suites) | ./modules/loadbalancer/lb-cipher-suite | n/a | | [cloud-guard-configurations](#module_cloud-guard-configurations) | ./modules/security/cloud-guard-configuration | n/a | | [cloud-guard-targets](#module_cloud-guard-targets) | ./modules/security/cloud-guard-target | n/a | | [custom-backup-policies](#module_custom-backup-policies) | ./modules/storage/custom-backup-policy | n/a | | [custom-dhcps](#module_custom-dhcps) | ./modules/network/custom-dhcp | n/a | | [dbsystems-vm-bm](#module_dbsystems-vm-bm) | ./modules/database/dbsystem-vm-bm | n/a | | [dedicated-hosts](#module_dedicated-hosts) | ./modules/compute/dedicated-vm-host | n/a | | [default-dhcps](#module_default-dhcps) | ./modules/network/default-dhcp | n/a | | [default-route-tables](#module_default-route-tables) | ./modules/network/default-route-table | n/a | | [default-security-lists](#module_default-security-lists) | ./modules/network/default-sec-list | n/a | | [drg-attachments](#module_drg-attachments) | ./modules/network/drg-attachment | n/a | | [drg-route-distribution-statements](#module_drg-route-distribution-statements) | ./modules/network/drg-route-distribution-statement | n/a | | [drg-route-distributions](#module_drg-route-distributions) | ./modules/network/drg-route-distribution | n/a | | [drg-route-rules](#module_drg-route-rules) | ./modules/network/drg-route-rule | n/a | | [drg-route-tables](#module_drg-route-tables) | ./modules/network/drg-route-table | n/a | | [drgs](#module_drgs) | ./modules/network/drg | n/a | | [endpoints](#module_endpoints) | ./modules/dns/endpoint | n/a | | [events](#module_events) | ./modules/managementservices/event | n/a | | [exa-infra](#module_exa-infra) | ./modules/database/exa-infra | n/a | | [exa-vmclusters](#module_exa-vmclusters) | ./modules/database/exa-vmcluster | n/a | | [exported-lpgs](#module_exported-lpgs) | ./modules/network/lpg | n/a | | [fss](#module_fss) | ./modules/storage/file-storage/fss | n/a | | [fss-export-options](#module_fss-export-options) | ./modules/storage/file-storage/export-option | n/a | | [hostnames](#module_hostnames) | ./modules/loadbalancer/lb-hostname | n/a | | [hub-lpgs](#module_hub-lpgs) | ./modules/network/lpg | n/a | | [iam-compartments](#module_iam-compartments) | ./modules/identity/iam-compartment | n/a | | [iam-groups](#module_iam-groups) | ./modules/identity/iam-group | n/a | | [iam-policies](#module_iam-policies) | ./modules/identity/iam-policy | n/a | | [igws](#module_igws) | ./modules/network/igw | n/a | | [instances](#module_instances) | ./modules/compute/instance | n/a | | [keys](#module_keys) | ./modules/security/key | n/a | | [lbr-reserved-ips](#module_lbr-reserved-ips) | ./modules/ip/reserved-public-ip | n/a | | [listeners](#module_listeners) | ./modules/loadbalancer/lb-listener | n/a | ``` -------------------------------- ### Storage Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for managing storage resources, including file storage mount targets and object storage buckets and policies. ```n/a | [mts](#module_mts) | ./modules/storage/file-storage/mount-target | n/a | | [oss-buckets](#module_oss-buckets) | ./modules/storage/object-storage | n/a | | [oss-policies](#module_oss-policies) | ./modules/identity/iam-policy | n/a | ``` -------------------------------- ### Object Storage (OSS) Logs Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Logs for Object Storage Service (OSS). ```terraform map(any) ``` -------------------------------- ### CD3 Automation Toolkit Input Parameters Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md This section details the input parameters for the CD3 Automation Toolkit. It covers a wide range of Oracle Cloud Infrastructure resources that can be provisioned or configured through the toolkit, including alarms, load balancer components, storage, security policies, and compartment structures. ```APIDOC Input Parameters for CD3 Automation Toolkit: - alarms: Type `map(any)`, Default `{}`. No specific description provided. - backend_sets: Type `map(any)`, Default `{}`. Used to provision Load Balancer Backend Sets. - backends: Type `map(any)`, Default `{}`. Used to provision Load Balancer Backends. - block_backup_policies: Type `map(any)`, Default `{}`. Used to create block volume backup policies. - blockvolumes: Type `map(any)`, Default `{}`. Used to provision block volumes. - boot_backup_policies: Type `map(any)`, Default `{}`. Map of boot volume backup policies to be provisioned. - budget_alert_rules: Type `map(any)`, Default `{}`. No specific description provided. - budgets: Type `map(any)`, Default `{}`. No specific description provided. - capacity_reservation_ocids: Type `map(any)`, Default `{"AD1": "", "AD2": "", "AD3": ""}`. No specific description provided. - certificates: Type `map(any)`, Default `{}`. Used to provision Load Balancer Certificates. - cipher_suites: Type `map(any)`, Default `{}`. Used to provision Load Balancer Cipher Suites. - cloud_guard_configs: Type `map(any)`, Default `{}`. No specific description provided. - cloud_guard_targets: Type `map(any)`, Default `{}`. No specific description provided. - compartment_ocids: Type `map(any)`, Default `{}`. No specific description provided. - compartments: Type `object({...})`, Default `{"compartment_level1": {}, "compartment_level2": {}, "compartment_level3": {}, "compartment_level4": {}, "compartment_level5": {}, "root": {}}`. Defines the structure for compartments, including root, level 1 to 5 compartments, with properties like tenancy OCID, parent OCID, name, description, enable delete flag, defined tags, and freeform tags. - custom_backup_policies: Type `map(any)`, Default `{}`. No specific description provided. ``` -------------------------------- ### Object Storage (OSS) Buckets Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Object Storage Service (OSS) buckets. ```terraform map(any) ``` -------------------------------- ### DB System SSH Keys Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Provides SSH public keys for DB System provisioning. Expects a map containing a list of SSH public key strings. ```terraform map(any) ``` -------------------------------- ### Service Gateway (SGW) Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Service Gateways. ```terraform map(any) ``` -------------------------------- ### Jenkins Plugins for CD3 Automation Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/jenkins_install/plugins.txt This snippet lists essential Jenkins plugins used for CD3 automation. These plugins cover various aspects of pipeline definition, execution, and management, including workflow steps, SCM integration, and configuration. ```jenkinsfile org.jenkins-ci.plugins:plain-credentials:latest org.jenkins-ci.plugins:snakeyaml-api:latest org.jenkins-ci.plugins:workflow-step-api:latest org.jenkins-ci.plugins:pipeline-build-step:latest org.jenkins-ci.plugins:pipeline-input-step:latest org.jenkins-ci.plugins:pipeline-stage-view:latest org.jenkins-ci.plugins:job-dsl:latest org.jenkins-ci.plugins:credentials-binding:latest org.jenkins-ci.plugins:docker-workflow:latest org.jenkins-ci.plugins:scm-api:latest org.jenkins-ci.plugins:configuration-as-code:latest org.jenkins-ci.plugins:config-file-provider:latest org.jenkins-ci.plugins:git:latest org.jenkins-ci.plugins:credentials:latest org.jenkins-ci.plugins:build-timeout:latest org.jenkins-ci.plugins:script-security:latest org.jenkins-ci.plugins:rebuild:latest org.jenkins-ci.plugins:uno-choice:latest org.jenkins-ci.plugins:file-parameters:latest org.jenkins-ci.plugins:scriptler:latest org.jenkins-ci.plugins:ansicolor:latest org.jenkins-ci.plugins:pipeline-graph-view:latest org.jenkins-ci.plugins:javax-mail-api:latest org.jenkins-ci.plugins:jdk-tool:latest org.jenkins-ci.plugins:trilead-api:latest org.jenkins-ci.plugins:command-launcher:latest org.jenkins-ci.plugins:labelled-steps:latest ``` -------------------------------- ### Identity and Tagging Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for managing identity and access management (IAM) resources like compartments and policies, as well as tagging resources like tag defaults, keys, and namespaces. ```n/a | [sub-compartments-level1](#module_sub-compartments-level1) | ./modules/identity/iam-compartment | n/a | | [sub-compartments-level2](#module_sub-compartments-level2) | ./modules/identity/iam-compartment | n/a | | [sub-compartments-level3](#module_sub-compartments-level3) | ./modules/identity/iam-compartment | n/a | | [sub-compartments-level4](#module_sub-compartments-level4) | ./modules/identity/iam-compartment | n/a | | [sub-compartments-level5](#module_sub-compartments-level5) | ./modules/identity/iam-compartment | n/a | | [tag-defaults](#module_tag-defaults) | ./modules/tagging/tag-default | n/a | | [tag-keys](#module_tag-keys) | ./modules/tagging/tag-key | n/a | | [tag-namespaces](#module_tag-namespaces) | ./modules/tagging/tag-namespace | n/a | ``` -------------------------------- ### Dedicated Hosts Provisioning Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning new dedicated VM hosts in Oracle Cloud Infrastructure. ```terraform map(any) ``` -------------------------------- ### Load Balancer Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules related to configuring and managing load balancers, including network load balancers, backend sets, listeners, and path route sets. ```n/a | [load-balancers](#module_load-balancers) | ./modules/loadbalancer/lb-load-balancer | n/a | | [network-load-balancers](#module_network-load-balancers) | ./modules/networkloadbalancer/nlb | n/a | | [nlb-backend-sets](#module_nlb-backend-sets) | ./modules/networkloadbalancer/nlb-backendset | n/a | | [nlb-backends](#module_nlb-backends) | ./modules/networkloadbalancer/nlb-backend | n/a | | [nlb-listeners](#module_nlb-listeners) | ./modules/networkloadbalancer/nlb-listener | n/a | | [path-route-sets](#module_path-route-sets) | ./modules/loadbalancer/lb-path-route-set | n/a | | [rule-sets](#module_rule-sets) | ./modules/loadbalancer/lb-rule-set | n/a | ``` -------------------------------- ### Network Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for configuring network resources, including network gateways, network security groups, route tables, and subnets. ```n/a | [ngws](#module_ngws) | ./modules/network/ngw | n/a | | [none-lpgs](#module_none-lpgs) | ./modules/network/lpg | n/a | | [nsg-rules](#module_nsg-rules) | ./modules/network/nsg-rules | n/a | | [nsgs](#module_nsgs) | ./modules/network/nsg | n/a | | [peer-lpgs](#module_peer-lpgs) | ./modules/network/lpg | n/a | | [route-tables](#module_route-tables) | ./modules/network/route-table | n/a | | [sgws](#module_sgws) | ./modules/network/sgw | n/a | | [spoke-lpgs](#module_spoke-lpgs) | ./modules/network/lpg | n/a | | [subnets](#module_subnets) | ./modules/network/subnet | n/a | ``` -------------------------------- ### Object Storage (OSS) Log Groups Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for provisioning Log Groups for Object Storage Service (OSS). ```terraform map(any) ``` -------------------------------- ### OCI Core Instances Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI compute instances. This data source can be used to list all instances, instances for a specific VNIC, or instances for a network load balancer. ```terraform data "oci_core_instances" "instances" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" } data "oci_core_instances" "instances_for_vnic" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" vnic_id = "vnic_id" } data "oci_core_instances" "nlb_instances" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" } ``` -------------------------------- ### Management Services Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for managing various services, including log groups, logs, notification subscriptions, and notification topics. ```n/a | [loadbalancer-log-groups](#module_loadbalancer-log-groups) | ./modules/managementservices/log-group | n/a | | [loadbalancer-logs](#module_loadbalancer-logs) | ./modules/managementservices/log | n/a | | [notifications-subscriptions](#module_notifications-subscriptions) | ./modules/managementservices/notification-subscription | n/a | | [notifications-topics](#module_notifications-topics) | ./modules/managementservices/notification-topic | n/a | | [oss-log-groups](#module_oss-log-groups) | ./modules/managementservices/log-group | n/a | | [oss-logs](#module_oss-logs) | ./modules/managementservices/log | n/a | | [vcn-log-groups](#module_vcn-log-groups) | ./modules/managementservices/log-group | n/a | ``` -------------------------------- ### Security Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for managing security resources, specifically for vaults. ```n/a | [vaults](#module_vaults) | ./modules/security/vault | n/a | ``` -------------------------------- ### Private Key Path Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Specifies the file path to the SSH private key. ```terraform string ``` -------------------------------- ### Input Variables for CD3 Automation Toolkit Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md This section details the input variables used by the CD3 Automation Toolkit. Each entry describes a specific input, its purpose, expected data type, and a sample structure or default value. ```APIDOC input_exa_vmclusters: description: To provision exadata cloud VM cluster type: map(any) default: {} input_exacs_ssh_keys: description: n/a type: map(any) default: { "ssh_public_key": [ "" ] } input_fingerprint: description: n/a type: string default: "" input_fss: description: To provision File System Services type: map(any) default: {} input_groups: description: n/a type: map(object({ group_name = string group_description = string matching_rule = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) default: {} input_hostnames: description: To provision Load Balancer Hostnames type: map(any) default: {} input_igws: description: n/a type: map(object({ compartment_id = string vcn_id = string enable_igw = optional(bool) igw_name = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) default: {} input_instance_source_ocids: description: n/a type: map(any) default: { "Linux": "", "PaloAlto": "Palo Alto Networks VM-Series Next Generation Firewall", "Windows": "" } input_instance_ssh_keys: description: n/a type: map(any) default: { "ssh_public_key": "" } input_instances: description: Map of instances to be provisioned type: map(any) default: {} input_keys: description: n/a type: map(any) default: {} input_lbr_reserved_ips: description: To provision Load Balancer Reserved IPs type: map(any) default: {} input_listeners: description: To provision Load Balancer Listeners type: map(any) default: {} input_load_balancers: description: To provision Load Balancers type: map(any) default: {} input_loadbalancer_log_groups: description: To provision Log Groups for Load Balancers type: map(any) default: {} input_loadbalancer_logs: description: To provision Logs for Load Balancers type: map(any) default: {} input_lpgs: description: n/a type: map(any) default: { "exported-lpgs": {}, "hub-lpgs": {}, "none-lpgs": {}, "peer-lpgs": {}, "spoke-lpgs": {} } input_mount_targets: description: To provision Mount Targets type: map(any) default: {} input_network_load_balancers: description: n/a type: map(any) default: {} input_nfs_export_options: description: To provision Export Sets type: map(any) default: {} input_ngws: description: n/a type: map(object({ compartment_id = string vcn_id = string block_traffic = optional(bool) public_ip_id = optional(string) ngw_name = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) default: {} input_nlb_backend_sets: description: n/a type: map(any) default: {} input_nlb_backends: description: n/a type: map(any) default: {} input_nlb_listeners: description: n/a type: map(any) default: {} input_nlb_reserved_ips: description: To provision Network Load Balancer Reserved IPs type: map(any) default: {} input_notifications_subscriptions: description: n/a type: map(any) default: {} input_notifications_topics: description: n/a type: map(any) default: {} ``` -------------------------------- ### Tag Key Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for provisioning Tag Keys in Oracle Cloud Infrastructure. This includes specifying the tag namespace ID, description, name, and optional fields for defined tags, freeform tags, cost tracking, retirement status, and validation rules. ```terraform tag_keys = map(object({ tag_namespace_id = string description = string name = string defined_tags = optional(map(any)) freeform_tags = optional(map(any)) is_cost_tracking = optional(string) is_retired = optional(string) validator = optional(list(object({ validator_type = optional(string) validator_values = optional(list(any)) }))) })) ``` -------------------------------- ### OCI Core Instance Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI compute instance details. This data source can be used to retrieve information about a specific instance or instances related to a network load balancer. ```terraform data "oci_core_instance" "instance_ip" { #Required instance_id = "instance_id" } data "oci_core_instance" "nlb_instance_ip" { #Required instance_id = "instance_id" } ``` -------------------------------- ### Route Tables Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for managing route tables within a Virtual Cloud Network (VCN). ```terraform map(any) ``` -------------------------------- ### IP Management Modules Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Modules for managing IP addresses, including reserved public IPs, public IP pools, and secondary private IPs. ```n/a | [nlb-reserved-ips](#module_nlb-reserved-ips) | ./modules/ip/reserved-public-ip | n/a | | [private-ips](#module_private-ips) | ./modules/ip/secondary-private-ip | n/a | | [public-ip-pools](#module_public-ip-pools) | ./modules/ip/public-ip-pool | n/a | | [reserved-ips](#module_reserved-ips) | ./modules/ip/reserved-public-ip | n/a | ``` -------------------------------- ### Automating Signed-off-by with Git Commit (Text) Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/CONTRIBUTING.md This snippet demonstrates the Git command to automatically add the 'Signed-off-by' line to a commit. Using 'git commit --signoff' or '-s' streamlines the process of ensuring that contributions comply with the Oracle Contributor Agreement (OCA). ```text git commit --signoff ``` -------------------------------- ### OCI Services Supported by CD3 Toolkit Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/README.md Lists the Oracle Cloud Infrastructure (OCI) services that are supported by the CD3 Automation Toolkit for resource management and provisioning. ```APIDOC OCI Services: - IAM/Identity - Tagging - Quotas - Network - DNS Management - Load Balancers - OCI Network Firewall - KMS - Policy Enforcement using OPA - Compute - Storage - Database - OKE - Resource Manager - SDDCs - Logging Services - Monitoring - Budgets - Cloud Guard - SHOWOCI report - CIS Landing Zone Compliance ``` -------------------------------- ### Object Storage (OSS) Policies Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for managing policies related to Object Storage Service (OSS). ```terraform map(any) ``` -------------------------------- ### Default DHCP Options Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines default DHCP options for a VCN, including server type and optional management of default resources. Supports custom DNS servers, search domains, and tags. ```terraform map(object({ server_type = string manage_default_resource_id = optional(string) custom_dns_servers = optional(list(any)) search_domain = optional(map(any)) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) ``` -------------------------------- ### Events Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring events, supporting any mapping configuration. ```terraform map(any) ``` -------------------------------- ### Policies Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for IAM policies, including name, compartment ID, description, policy statements, and optional version date and tags. ```terraform map(object({ name = string compartment_id = string policy_description = string policy_statements = list(string) policy_version_date = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) ``` -------------------------------- ### Custom DHCP Options Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines custom DHCP options for a Virtual Cloud Network (VCN), including DNS servers and domain names. Supports optional display names, search domains, and tags. ```terraform map(object({ compartment_id = string server_type = string vcn_id = string custom_dns_servers = list(any) domain_name_type = optional(string) display_name = optional(string) search_domain = optional(map(any)) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) ``` -------------------------------- ### Network Security Group Rules Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for network security group rules, including protocol, direction, source/destination, and optional parameters like description and statelessness. ```terraform map(object({ nsg_id = string direction = string protocol = string description = optional(string) stateless = optional(string) source_type = optional(string) destination_type = optional(string) destination = optional(string) source = optional(string) options = optional(map(any)) })) ``` -------------------------------- ### VCN Logs Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring VCN (Virtual Cloud Network) Logs in Oracle Cloud Infrastructure. This is a map of any type, allowing for flexible definition of log resources. ```terraform vcn_logs = map(any) ``` -------------------------------- ### Public IP Pools Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for managing public IP address pools. ```terraform map(any) ``` -------------------------------- ### OCI Object Storage Namespace Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI Object Storage namespace. This data source is used to retrieve the object storage namespace for your tenancy. ```terraform data "oci_objectstorage_namespace" "bucket_namespace" { } ``` -------------------------------- ### Tag Namespace Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Specifies the structure for provisioning Tag Namespaces in Oracle Cloud Infrastructure. This includes the compartment ID, description, name, and optional fields for defined tags, freeform tags, and retirement status. ```terraform tag_namespaces = map(object({ compartment_id = string description = string name = string defined_tags = optional(map(any)) freeform_tags = optional(map(any)) is_retired = optional(string) })) ``` -------------------------------- ### OCI Object Storage Bucket Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI Object Storage bucket details. This data source is used to retrieve information about a specific object storage bucket. ```terraform data "oci_objectstorage_bucket" "buckets" { #Required bucket = "bucket_name" namespace = "namespace_name" } ``` -------------------------------- ### VCN Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for provisioning Virtual Cloud Networks (VCNs) in Oracle Cloud Infrastructure. This includes compartment ID, optional CIDR blocks, display name, DNS label, IPv6 enablement, and optional defined/freeform tags. ```terraform vcns = map(object({ compartment_id = string cidr_blocks = optional(list(string)) display_name = optional(string) dns_label = optional(string) is_ipv6enabled = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) ``` -------------------------------- ### OCI DNS Resolvers Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI DNS resolvers. This data source is used to retrieve information about DNS resolvers within your OCI tenancy. ```terraform data "oci_dns_resolvers" "resolvers" { #Required compartment_id = "compartment_id" #Optional display_name = "display_name" state = "state" } ``` -------------------------------- ### Tag Defaults Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Configures default tag values for compartments, linking tag definitions to specific compartments and setting required values. ```terraform map(object({ compartment_id = string tag_definition_id = string value = string is_required = optional(string) })) ``` -------------------------------- ### OCI Core Virtual Cloud Networks Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI Virtual Cloud Networks (VCNs). This data source can be used to retrieve information about VCNs for network load balancing or general VCN details. ```terraform data "oci_core_vcns" "oci_vcns" { #Required compartment_id = "compartment_id" #Optional cidr_block = "cidr_block" display_name = "display_name" state = "state" } data "oci_core_vcns" "oci_vcns_vnics" { #Required compartment_id = "compartment_id" #Optional cidr_block = "cidr_block" display_name = "display_name" state = "state" } ``` -------------------------------- ### Default Security Lists Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Configures default security lists for a VCN, including ingress and egress security rules. Supports compartment ID, VCN ID, display name, and tags. ```terraform map(object({ compartment_id = string vcn_id = string display_name = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) ingress_sec_rules = optional(list(object({ protocol = optional(string) stateless = optional(string) description = optional(string) source = optional(string) source_type = optional(string) options = optional(map(any)) }))) egress_sec_rules = optional(list(object({ protocol = optional(string) stateless = optional(string) description = optional(string) destination = optional(string) destination_type = optional(string) options = optional(map(any)) }))) })) ``` -------------------------------- ### DRG Route Tables Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines configurations for DRG route tables, supporting any mapping configuration. ```terraform map(any) ``` -------------------------------- ### Security Lists Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for security lists, including compartment ID, VCN ID, display name, ingress/egress security rules, and optional tags. ```terraform map(object({ compartment_id = string vcn_id = string display_name = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) ingress_sec_rules = optional(list(object({ protocol = optional(string) stateless = optional(string) description = optional(string) source = optional(string) source_type = optional(string) options = optional(map(any)) }))) egress_sec_rules = optional(list(object({ protocol = optional(string) stateless = optional(string) description = optional(string) destination = optional(string) destination_type = optional(string) options = optional(map(any)) }))) })) ``` -------------------------------- ### Subnets Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for subnets within a VCN, including compartment ID, VCN ID, CIDR block, display name, and optional parameters like DNS label, IPv6 CIDR, and association with route tables and security lists. ```terraform map(object({ compartment_id = string vcn_id = string cidr_block = string display_name = optional(string) dns_label = optional(string) ipv6cidr_block = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) prohibit_internet_ingress = optional(string) prohibit_public_ip_on_vnic = optional(string) availability_domain = optional(string) dhcp_options_id = optional(string) route_table_id = optional(string) security_list_ids = optional(list(string)) })) ``` -------------------------------- ### DRG Attachments Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring DRG attachments, supporting any mapping configuration. ```terraform map(any) ``` -------------------------------- ### OCI Identity Availability Domains Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI availability domains. This data source is used to retrieve a list of availability domains within a region. ```terraform data "oci_identity_availability_domains" "availability_domains" { #Required compartment_id = "compartment_id" } ``` -------------------------------- ### Reserved IPs Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for managing reserved IP addresses. ```terraform map(any) ``` -------------------------------- ### OCI Core Subnets Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI subnets. This data source can be used to retrieve information about subnets for network load balancing, general subnet details, subnets with DNS enabled, or subnets associated with VNICs. ```terraform data "oci_core_subnets" "oci_nlb_subnets" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" vcn_id = "vcn_id" } data "oci_core_subnets" "oci_subnets" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" vcn_id = "vcn_id" } data "oci_core_subnets" "oci_subnets_dns" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" vcn_id = "vcn_id" } data "oci_core_subnets" "oci_subnets_vnics" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" display_name = "display_name" state = "state" vcn_id = "vcn_id" } ``` -------------------------------- ### Git Commit Signing Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/CONTRIBUTING.md Commits must include a 'Signed-off-by' line to verify the contributor has signed the Oracle Contributor Agreement (OCA). This can be added automatically using the --signoff flag. ```text Signed-off-by: Your Name ``` ```git git commit --signoff ``` -------------------------------- ### Vaults Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring Oracle Cloud Infrastructure Vaults. This is a map of any type, allowing for flexible definition of vault resources. ```terraform vaults = map(any) ``` -------------------------------- ### VCN Log Groups Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring VCN (Virtual Cloud Network) Log Groups in Oracle Cloud Infrastructure. This is a map of any type, allowing for flexible definition of log group resources. ```terraform vcn_log_groups = map(any) ``` -------------------------------- ### DRG Route Distribution Statements Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines statements for DRG route distribution, including action, priority, and match criteria. Supports various attachment types and DRG attachment IDs. ```terraform map(object({ drg_route_distribution_id = string action = string match_criteria = optional(list(object({ match_type = string attachment_type = optional(string) drg_attachment_id = optional(string) }))) priority = optional(string) })) ``` -------------------------------- ### DRG Route Table Distributions Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Specifies the mapping for DRG route table distributions, allowing for any type of mapping configuration. ```terraform map(any) ``` -------------------------------- ### OCI Identity Compartments Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI compartments. This data source is used to retrieve information about compartments within your OCI tenancy. ```terraform data "oci_identity_compartments" "compartments" { #Optional compartment_id = "compartment_id" display_name = "display_name" access_type = "ACCESSIBLE" } ``` -------------------------------- ### OCI Provider Requirements Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Specifies the required version for the OCI Terraform provider, which is essential for interacting with Oracle Cloud Infrastructure resources. ```terraform terraform { required_providers { oci = { source = "oci" version = ">= 4.0.0" } } } ``` -------------------------------- ### OCI Core VNIC Attachments Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI VNIC attachments. This data source can be used to retrieve information about VNIC attachments for network load balancers or general VNIC attachment details. ```terraform data "oci_core_vnic_attachments" "nlb_instance_vnic_attachments" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" instance_id = "instance_id" vnic_id = "vnic_id" } data "oci_core_vnic_attachments" "vnic_attachments" { #Required compartment_id = "compartment_id" #Optional availability_domain = "availability_domain" instance_id = "instance_id" vnic_id = "vnic_id" } ``` -------------------------------- ### Region Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Specifies the Oracle Cloud Infrastructure region. ```terraform string ``` -------------------------------- ### DRG Route Rules Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring DRG route rules, supporting any mapping configuration. ```terraform map(any) ``` -------------------------------- ### VNIC Attachments Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for configuring VNIC (Virtual Network Interface Card) Attachments in Oracle Cloud Infrastructure. This is a map of any type, allowing for flexible definition of VNIC attachment resources. ```terraform vnic_attachments = map(any) ``` -------------------------------- ### OCI Core DRG Route Distributions Data Source Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Fetches OCI DRG route distributions. This data source is used to retrieve information about DRG route distributions within your OCI tenancy. ```terraform data "oci_core_drg_route_distributions" "drg_route_distributions" { #Required drg_id = "drg_id" #Optional display_name = "display_name" } ``` -------------------------------- ### Private IPs Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for managing private IP addresses. ```terraform map(any) ``` -------------------------------- ### DRG Route Distributions Configuration Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Configures DRG route distributions, specifying distribution type, DRG ID, and optional display name and tags. ```terraform map(object({ distribution_type = string drg_id = string defined_tags = optional(string) freeform_tags = optional(string) display_name = optional(string) })) ``` -------------------------------- ### Network Security Groups Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Defines the structure for network security groups, including compartment ID, VCN ID, display name, and optional tags. ```terraform map(object({ compartment_id = string vcn_id = string display_name = optional(string) defined_tags = optional(map(any)) freeform_tags = optional(map(any)) })) ``` -------------------------------- ### Tenancy OCID Input Source: https://github.com/oracle-devrel/cd3-automation-toolkit/blob/main/cd3_automation_toolkit/user-scripts/terraform/README.md Input for the Oracle Cloud Infrastructure Tenancy OCID. This is a string value representing the unique identifier for your tenancy. ```terraform tenancy_ocid = string ```