From ff752c554d7154ec15336045036eb484188e3aff Mon Sep 17 00:00:00 2001 From: bdeshi Date: Tue, 28 May 2024 03:45:28 +0600 Subject: [PATCH] tweak db var name, update tf-docs --- README.terraform.md | 22 ++++++++++++++++------ terraform.variables.tf | 7 +++---- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/README.terraform.md b/README.terraform.md index 4347495..10d42d7 100644 --- a/README.terraform.md +++ b/README.terraform.md @@ -31,23 +31,31 @@ No modules. | [oci_core_public_ip.static](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_public_ip) | resource | | [oci_core_subnet.public](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_subnet) | resource | | [oci_core_vcn.vcn](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_vcn) | resource | +| [oci_email_email_domain.domain](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/email_email_domain) | resource | +| [oci_email_sender.sender](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/email_sender) | resource | +| [oci_email_suppression.suppression](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/email_suppression) | resource | | [oci_identity_api_key.admin](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_api_key) | resource | | [oci_identity_auth_token.admin](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_auth_token) | resource | | [oci_identity_compartment.compartment](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_compartment) | resource | | [oci_identity_customer_secret_key.admin](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_customer_secret_key) | resource | | [oci_identity_group.administrators](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_group) | resource | | [oci_identity_policy.administrators](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_policy) | resource | +| [oci_identity_policy.kms_service_policy](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_policy) | resource | | [oci_identity_ui_password.admin_initial](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_ui_password) | resource | | [oci_identity_user.admin](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_user) | resource | | [oci_identity_user_group_membership.admin](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/identity_user_group_membership) | resource | | [oci_kms_key.key](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/kms_key) | resource | | [oci_kms_vault.vault](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/kms_vault) | resource | +| [oci_ons_notification_topic.topic](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/ons_notification_topic) | resource | +| [oci_ons_subscription.subscription](https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/ons_subscription) | resource | | [tls_private_key.admin_api_key](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource | | [tls_private_key.compute_ssh_key](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource | | [oci_core_images.selected](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/core_images) | data source | | [oci_core_shapes.available](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/core_shapes) | data source | +| [oci_email_configuration.endpoints](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/email_configuration) | data source | | [oci_identity_availability_domains.available](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/identity_availability_domains) | data source | | [oci_identity_tenancy.tenancy](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/identity_tenancy) | data source | +| [oci_kms_key.key](https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/kms_key) | data source | ## Inputs @@ -59,23 +67,21 @@ No modules. | [attach\_static\_ip\_to\_flex](#input\_attach\_static\_ip\_to\_flex) | Attach reserved static IP to flex instance | `bool` | `true` | no | | [create\_databases](#input\_create\_databases) | Create databases | `bool` | `true` | no | | [create\_instances](#input\_create\_instances) | Create compute instances types |
object({
micro = bool
flex = bool
})
|
{
"flex": true,
"micro": true
}
| no | -| [create\_notification\_topics](#input\_create\_notification\_topics) | Create notification topics | `bool` | `true` | no | | [create\_static\_ip](#input\_create\_static\_ip) | Create a reserved static IP | `bool` | `true` | no | +| [create\_topics](#input\_create\_topics) | Create notification topics | `bool` | `true` | no | | [create\_vault](#input\_create\_vault) | Create vault | `bool` | `true` | no | | [created\_compute\_ssh\_key\_algorithm](#input\_created\_compute\_ssh\_key\_algorithm) | The algorithm for the created SSH key if no key is provided | `string` | `"ED25519"` | no | -| [db\_types](#input\_db\_types) | Types of database workloads to create | `list(string)` | `[]` | no | +| [database\_types](#input\_database\_types) | Types of database workloads to create | `list(string)` | `[]` | no | | [email\_configuration](#input\_email\_configuration) | values for email configuration |
object({
email_domains = list(string)
approved_senders = list(string)
suppression_list = list(string)
})
|
{
"approved_senders": [],
"email_domains": [],
"suppression_list": []
}
| no | | [enable\_email\_delivery](#input\_enable\_email\_delivery) | Create email delivery supporting configurations | `bool` | `true` | no | | [enable\_ipv6](#input\_enable\_ipv6) | Enable IPv6 for the VCN | `bool` | `true` | no | -| [enable\_object\_storage](#input\_enable\_object\_storage) | Create object storage bucket supporting configuration | `bool` | `true` | no | | [iac\_project\_name](#input\_iac\_project\_name) | The name of the iac project | `string` | `"oci-free"` | no | | [iac\_project\_source](#input\_iac\_project\_source) | The source repo of the iac project | `string` | `"https://git.bdeshi.space/bdeshi/terraform-oci-free.git"` | no | -| [object\_storage\_buckets](#input\_object\_storage\_buckets) | Values for object storage buckets to create | `any` | `{}` | no | | [oci\_profile](#input\_oci\_profile) | The config file profile for the OCI provider | `string` | `null` | no | | [prefix](#input\_prefix) | Name prefix for all resources | `string` | `"free-"` | no | | [supplied\_compute\_ssh\_public\_key](#input\_supplied\_compute\_ssh\_public\_key) | A pre-created public SSH key for the compute instances | `string` | `null` | no | -| [topic\_configuration](#input\_topic\_configuration) | Values for notification topics configuration | `any` | `{}` | no | -| [use\_vault](#input\_use\_vault) | Use created vault for key creation and management |
object({
volume = bool
object = bool
database = bool
})
|
{
"database": true,
"object": true,
"volume": true
}
| no | +| [topics](#input\_topics) | Values for notification topics configuration |
map(object({
description = string
subscriptions = list(object({
protocol = string
endpoint = string
}))
}))
| `{}` | no | +| [use\_kms](#input\_use\_kms) | Use created vault for key creation and management |
object({
volume = bool
object = bool
database = bool
})
|
{
"database": true,
"object": true,
"volume": true
}
| no | | [vcn\_cidr](#input\_vcn\_cidr) | The CIDR block for the VCN | `string` | `"10.0.0.0/16"` | no | ## Outputs @@ -91,9 +97,13 @@ No modules. | [compartment\_name](#output\_compartment\_name) | The name of the created compartment | | [customer\_key\_id](#output\_customer\_key\_id) | The ID of the customer key | | [customer\_key\_key](#output\_customer\_key\_key) | The ID of the customer key | +| [email\_endpoints](#output\_email\_endpoints) | The email configuration endpoints | | [instance\_availability\_domains](#output\_instance\_availability\_domains) | The availability domains of the instances | | [instance\_ips](#output\_instance\_ips) | The public IP addresses of the instances | | [instance\_selected\_images](#output\_instance\_selected\_images) | The selected images for each instance shape | +| [kms\_key\_ids](#output\_kms\_key\_ids) | The IDs of the KMS keys | +| [kms\_vault\_endpoints](#output\_kms\_vault\_endpoints) | The KMS vault endpoints | +| [kms\_vault\_id](#output\_kms\_vault\_id) | The ID of the KMS vault | | [reserved\_ip](#output\_reserved\_ip) | The reserved public IP address | | [ssh\_key\_private](#output\_ssh\_key\_private) | The created SSH private key for the compute instances | | [ssh\_key\_public](#output\_ssh\_key\_public) | The public SSH key for the compute instances | diff --git a/terraform.variables.tf b/terraform.variables.tf index 4fc4b47..407020a 100644 --- a/terraform.variables.tf +++ b/terraform.variables.tf @@ -127,14 +127,13 @@ variable "create_databases" { default = true } -variable "db_types" { +variable "database_types" { description = "Types of database workloads to create" type = list(string) default = [] - # validate that each entry is a valid workload type validation { - error_message = "db_types must be a list of 'OLTP', 'DW', 'AJD' or 'APEX'" - condition = alltrue([for v in var.db_types : contains(["OLTP", "DW", "AJD", "APEX"], v)]) + error_message = "database_types must be a list of 'OLTP', 'DW', 'AJD' or 'APEX'" + condition = alltrue([for v in var.database_types : contains(["OLTP", "DW", "AJD", "APEX"], v)]) } }