oci_psql_configuration
This resource provides the Configuration resource in Oracle Cloud Infrastructure Psql service. Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/postgresql/latest/Configuration
Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/psql
Creates a new configuration.
Example Usage
resource "oci_psql_configuration" "test_configuration" {
#Required
compartment_id = var.compartment_id
db_configuration_overrides {
#Required
items {
#Required
config_key = var.configuration_db_configuration_overrides_items_config_key
overriden_config_value = var.configuration_db_configuration_overrides_items_overriden_config_value
}
}
db_version = var.configuration_db_version
display_name = var.configuration_display_name
#Optional
compatible_shapes = var.configuration_compatible_shapes
defined_tags = {"foo-namespace.bar-key"= "value"}
description = var.configuration_description
freeform_tags = {"bar-key"= "value"}
instance_memory_size_in_gbs = var.configuration_instance_memory_size_in_gbs
instance_ocpu_count = var.configuration_instance_ocpu_count
is_flexible = var.configuration_is_flexible
shape = var.configuration_shape
system_tags = var.configuration_system_tags
}
Argument Reference
The following arguments are supported:
compartment_id- (Required) (Updatable) The OCID of the compartment that contains the configuration.compatible_shapes- (Optional) (Updatable) Indicates the collection of compatible shapes for this configuration.db_configuration_overrides- (Required) Configuration overrides for a PostgreSQL instance.items- (Required) List of configuration overridden values.config_key- (Required) Configuration variable name.overriden_config_value- (Required) User-selected variable value.
db_version- (Required) Version of the PostgreSQL database.defined_tags- (Optional) (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example:{"foo-namespace.bar-key": "value"}description- (Optional) (Updatable) Details about the configuration set.display_name- (Required) (Updatable) A user-friendly display name for the configuration. Avoid entering confidential information.freeform_tags- (Optional) (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example:{"bar-key": "value"}instance_memory_size_in_gbs- (Optional) Memory size in gigabytes with 1GB increment.Skip or set it’s value to 0 if configuration is for a flexible shape.
instance_ocpu_count- (Optional) CPU core count.Skip or set it’s value to 0 if configuration is for a flexible shape.
is_flexible- (Optional) Whether the configuration supports flexible shapes.shape- (Optional) The name of the shape for the configuration.For multi-shape enabled configurations, it is set to PostgreSQL.X86 or similar. Please use compatibleShapes property to set the list of supported shapes.
system_tags- (Optional) System tags for this resource. Each key is predefined and scoped to a namespace. Example:{"orcl-cloud.free-tier-retained": "true"}
** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
Attributes Reference
The following attributes are exported:
compartment_id- The OCID of the compartment that contains the configuration.compatible_shapes- Indicates the collection of compatible shapes for this configuration.config_type- The type of configuration. Either user-created or a default configuration.configuration_details- List of configuration details.items- List of ConfigParms object.allowed_values- Range or list of allowed values.config_key- The configuration variable name.data_type- Data type of the variable.default_config_value- Default value for the configuration variable.description- Details about the PostgreSQL parameter.is_overridable- Whether the value can be overridden or not.is_restart_required- If true, modifying this configuration value will require a restart of the database.overriden_config_value- User-selected configuration variable value.
db_version- Version of the PostgreSQL database.default_config_id- The Default configuration used for this configuration.defined_tags- Defined tags for this resource. Each key is predefined and scoped to a namespace. Example:{"foo-namespace.bar-key": "value"}description- A description for the configuration.display_name- A user-friendly display name for the configuration. Avoid entering confidential information.freeform_tags- Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example:{"bar-key": "value"}id- A unique identifier for the configuration. Immutable on creation.instance_memory_size_in_gbs- Memory size in gigabytes with 1GB increment.It’s value is set to 0 if configuration is for a flexible shape.
instance_ocpu_count- CPU core count.It’s value is set to 0 if configuration is for a flexible shape.
is_flexible- Whether the configuration supports flexible shapes.lifecycle_details- A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.shape- The name of the shape for the configuration.For multi-shape enabled configurations, it is set to PostgreSQL. Please use compatibleShapes property to get list of supported shapes for such configurations.
state- The current state of the configuration.system_tags- System tags for this resource. Each key is predefined and scoped to a namespace. Example:{"orcl-cloud.free-tier-retained": "true"}time_created- The date and time that the configuration was created, expressed in RFC 3339 timestamp format. Example:2016-08-25T21:10:29.600Z
Timeouts
The timeouts block allows you to specify timeouts for certain operations:
* create - (Defaults to 20 minutes), when creating the Configuration
* update - (Defaults to 20 minutes), when updating the Configuration
* delete - (Defaults to 20 minutes), when destroying the Configuration
Import
Configurations can be imported using the id, e.g.
$ terraform import oci_psql_configuration.test_configuration "id"