### 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
```