oci_nosql_index
This resource provides the Index resource in Oracle Cloud Infrastructure NoSQL Database service. Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/nosql-database/latest/Index
Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/object_storage
Create a new index on the table identified by tableNameOrId.
Example Usage
resource "oci_nosql_index" "test_index" {
#Required
keys {
#Required
column_name = var.index_keys_column_name
#Optional
json_field_type = var.index_keys_json_field_type
json_path = var.index_keys_json_path
}
name = var.index_name
table_name_or_id = oci_nosql_table_name_or.test_table_name_or.id
#Optional
compartment_id = var.compartment_id
is_if_not_exists = var.index_is_if_not_exists
}
Argument Reference
The following arguments are supported:
compartment_id- (Optional) The OCID of the table’s compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table’s compartmentId.is_if_not_exists- (Optional) If true, the operation completes successfully even when the index exists. Otherwise, an attempt to create an index that already exists will return an error.keys- (Required) A set of keys for a secondary index.column_name- (Required) The name of a column to be included as an index key.json_field_type- (Optional) If the specified column is of type JSON, jsonFieldType contains the type of the field indicated by jsonPath.json_path- (Optional) If the specified column is of type JSON, jsonPath contains a dotted path indicating the field within the JSON object that will be the index key.
name- (Required) Index name.table_name_or_id- (Required) A table name within the compartment, or a table OCID.
** IMPORTANT ** Any change to a property that is not identified as “Updateable” will force the destruction and recreation of the resource with the new property values.
Attributes Reference
The following attributes are exported:
compartment_id- Compartment Identifier.keys- A set of keys for a secondary index.column_name- The name of a column to be included as an index key.json_field_type- If the specified column is of type JSON, jsonFieldType contains the type of the field indicated by jsonPath.json_path- If the specified column is of type JSON, jsonPath contains a dotted path indicating the field within the JSON object that will be the index key.
lifecycle_details- A message describing the current state in more detail.name- Index name.state- The state of an index.table_id- the OCID of the table to which this index belongs.table_name- The name of the table to which this index belongs.
Timeouts
The timeouts block allows you to specify timeouts for certain operations:
* create - (Defaults to 20 minutes), when creating the Index
* update - (Defaults to 20 minutes), when updating the Index
* delete - (Defaults to 20 minutes), when destroying the Index
Import
Indexes can be imported using the id, e.g.
$ terraform import oci_nosql_index.test_index "tables/{tableNameOrId}/indexes/{indexName}"