Skip to content

Support for Additional Attributes

Follow the below steps to add an attribute that is not present already in your Excel sheet -

  1. Add the attribute name to the CD3 Excel sheet (based on the resource the attribute belongs to) as given in Terraform Official Documentation.
  2. Uncomment the attribute in .tf files (terraform modules in outdirectory, if they are commented).
  3. Uncomment the attribute in Jinja template for the resource attribute. Resource to Jinja template mapping is available here.
  4. Update the variable file for any additional changes like image ocids, ssh public keys, etc

Example 1: To add an attribute for Instances - (preserve_boot_volume)

  • Here is the Terraform Hashicorp documentation for instances - https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_instance
  • Add an additional column preserve_boot_volume to the Instances Sheet as shown below. Optionally change the underscores to spaces for better readability.

  • Uncomment the parameter in instance.tf file if not already uncommented.

  • Uncomment the parameter in cd3_automation_toolkit\Compute\templates\instance-template . Any line that is between {# #} are commented in Jinja templates. From the screenshot below we note that the condition for preserve_boot_volume is within the Jinja comments. Copy the highlighted line and place it after/outside line 184 (#}) as per below screenshot.

    Before:

    After:

  • Apart from the above changes, optionally, update the instance_ssh_keys and instance_source_ocids in your variables file before executing the toolkit to generate the auto.tfvars for instances.

Example 2 : To Add Freeform Tags

  • Automation Tool Kit allows the tagging of resources. To use this option, the user is required to add the below column to the appropriate CD3 sheet. Ex: To Tag your Instances, Open the ‘Instances’ sheet of your CD3 and add the column FreeForm Tags at the end.

Note

The Tag Values (Default and Freeform Tags) specified will apply to all the resources in the tab. Ex: The tags applied to VCNs will not be applied to its objects like IGW, NGW, SGW, LPG, etc Empty column values are allowed for FreeForm and Defined Tags; when used it does not attach any tags to the resource. eg: Row 1 in the below example Semi Colon is used as Delimiter between multiple tag values (Example as shown below)

  • Allowed Values for Tags include the following formats: (semi-colon delimited values to be entered)

    Example:

    S.No Freeform Tags Defined Tags
    1.
    2. Network=Test1;Network2=Test40 Operations.CostCenter=01;Users.Name=user01
    3. Network=Test2; Network2=Test4 Application.Env=Dev
    4. Network= OS.Version=
    5. testing Platform.Usage
  • Export of new attributes is only supported if the attribute name of Terraform documentation matches that of the Python SDK. Export may fail to fetch the data incase there is a mismatch of the variable names.

Resource to Template Mapping

The following Table maps the Excel Sheet to the Resources to the Templates:

CD3-CIS-template.xlsx:

Tab Name/SetUpOCI Option Resource Name(OCI Console) Jinja2 Template Path Jinja2 Template Name!

VCNs
SubnetsDHCP
RouteRulesinOCI
SecRulesinOCI
NSGs




Networking: Virtual Cloud Networks cd3_automation_toolkit\Network\BaseNetwork\templates\
major-objects-drgs-template
major-objects-igws-template
major-objects-ngws-template
major-objects-lpgs-template
major-objects-sgws-template
major-objects-vcns-template
major-objects-drg-attachments-template
major-objects-default-dhcp-template
subnet-template
custom-dhcp-template
drg-data-source-template
drg-route-distribution-statement-template
drg-route-distribution-template
drg-route-rule-template
drg-route-table-template
default-route-table-template
route-rule-template
route-table-template
default-seclist-template
seclist-template
sec-rule-template
nsg-rule-template
nsg-template
Tags Governance: Tag Namespace cd3_automation_toolkit\Governance\Tagging\templates
tags-namespaces-template
tags-keys-template
tags-defaults-template

OSS Object Storage Bucket cd3_automation_toolkit\Storage\ObjectStorage\templates
oss-policy-template
oss-template

OKE Developer Service: Oracle Kubernetes Service cd3_automation_toolkit\DeveloperServices\OKE\templates\
cluster-template
nodepool-template


NLB-Listeners
NLB-BackendSets-BackendServers

Networking: Network Load Balancers cd3_automation_toolkit\Networking\LoadBalancers\templates\
nlb-template
nlb-backend-set-template
nlb-backend-server-template
nlb-listener-template
nlb-reserved-ips-template
Logging
VCN Flow Logs
Object Storage Bucket Logs

cd3_automation_toolkit\ManagementServices\Logging\templates logging-template

LB-Hostname-Certs
BackendSet-BackendServer
RuleSet
PathRouteSet
LB-Listener

Networking: Load Balancers cd3_automation_toolkit\Networking\LoadBalancers\templates\
lbr-template
certificate-template
hostname-template
cipher-suite-template
backend-server-template
backend-set-template
rule-set-template
access-control-rules-template
access-method-rules-template
http-header-rules-template
request-response-header-rules-template
uri-redirect-rules-template
path-route-set-template
path-route-rules-template
listener-template
lbr-reserved-ips-template

Key Vault Key and Vault cd3_automation_toolkit\Security\KeyVault\templates
keys-template
vaults-template

FSS File Storage: File Systems cd3_automation_toolkit\Storage\FileStorage\templates\
fss-template
export-resource-template
export-options-template
mount-target-template


DedicatedVMHosts
Instances

Compute:
Dedicated Virtual Machine Hosts
Instances

cd3_automation_toolkit\Compute\templates\
dedicatedvmhosts-template
instances-template


Compartments
Groups
Policies

Identity:
Compartments
Groups
Dynamic Groups
Policies




cd3_automation_toolkit\Identity\Compartments\templates
cd3_automation_toolkit\Identity\Groups\templates
cd3_automation_toolkit\Identity\Policies\templates


compartments-template
groups-template
policies-template

Cloud Guard Cloud Guard cd3_automation_toolkit\Security\CloudGuard\templates
cloud-guard-config-template
cloud-guard-target-template

Budgets Governance: Budgets cd3_automation_toolkit\Governance\Billing\templates
budget-alert-rule-template
budget-template

BlockVolumes Block Storage: Block Volumes cd3_automation_toolkit\Storage\BlockVolume\templates\ blockvolumes-template

ADB
DBSystems-VM-BM
EXA-Infra
EXA-VMClusters


Autonomous Data Warehouse
Autonomous Transaction Processing
Bare Metal, VM and Exadata Infra,
and Exadata VM Clusters

cd3_automation_toolkit\Database\templates\
adb-template
dbsystems-vm-bm-template
exa-infra-template
exa-vmclusters-template

CD3-CIS-ManagementServices-template.xlsx

Tab Name/SetUpOCI Option Resource Name(OCI Console) Jinja2 Template Path Jinja2 Template Name!

Notifications
Events
Alarms
ServiceConnectors

Application Integration:
Notification
Events Service
Alarms
Service Connector Hub


cd3_automation_toolkit\ManagementServices\EventsAndNotifications\templates
cd3_automation_toolkit\ManagementServices\Monitoring\templates
cd3_automation_toolkit\ManagementServices\ServiceConnectorHub\templates


actions-template
events-template
notifications-topics-template
notifications-subscriptions-template
service-connectors-template