Skip to content

terraform-ibm-modules/terraform-ibm-cloudant

Repository files navigation

Cloudant Module

Graduated (Supported) latest release semantic-release pre-commit Renovate enabled

This module supports provisioning a instance of the IBM Cloudant service. With a Lite plan, the instance is provisioned on a multi-tenant environment. With a standard plan, the instance can be provisioned either on a multi-tenant or on a dedicated environment. For more information, see Plans and provisioning.

Overview

cloudant-module

Usage

Usage to create a cloudant instance on a multi-tenant environment:

module "cloudant" {
  source            = "terraform-ibm-modules/cloudant/ibm"
  version           = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release
  resource_group_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
  instance_name     = "my-cloudant-instance"
}

Usage to create a cloudant instance on a dedicated environment:

module "cloudant" {
  source            = "terraform-ibm-modules/cloudant/ibm"
  version           = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release
  resource_group_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX"
  instance_name     = "dedicated-cloudant-instance"
  environment_crn   = "crn:<...>" # CRN of dedicated environment
}

Required IAM access policies

You need the following permissions to run this module.

  • IAM Services
    • Cloudant service
      • Manager service access

Requirements

Name Version
terraform >= 1.0.0
ibm >= 1.56.1, < 2.0.0

Modules

No modules.

Resources

Name Type
ibm_cloudant.cloudant_instance resource
ibm_cloudant_database.cloudant_database resource
ibm_resource_tag.access_tags resource

Inputs

Name Description Type Default Required
access_tags List of access tags to be associated with the Cloudant instance list(string) [] no
allow_credentials Boolean value to allow authentication credentials. bool true no
capacity Number of blocks of throughput units. See https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-ibm-cloud-public#provisioned-throughput-capacity. Capacity modification is not supported for lite plan. number 1 no
database_config (Optional, List) The databases with their corresponding partitioning and shards to be created in the cloudant instance
list(object({
db = string
partitioned = optional(bool)
shards = optional(number)
}))
[] no
enable_cors Boolean value to enable CORS. The supported values are true and false. bool false no
environment_crn Optional CRN of the IBM Cloudant Dedicated Hardware plan instance to provision a cloudant instance string null no
include_data_events Include data event types in events sent to IBM Cloud Activity Tracker. If set to false, only management events will be sent to Activity Tracker. bool false no
instance_name The name of the Cloudant instance string n/a yes
legacy_credentials Use both legacy credentials, in addition to IAM credentials for authentication. If set to false, use use only IAM credentials. bool false no
origins An array of strings that contain allowed origin domains. list(string) [] no
plan The plan for the Cloudant instance. Standard or lite. string "standard" no
region The IBM Cloud region where the Cloudant instance will be provisioned. string "us-south" no
resource_group_id The Id of an existing IBM Cloud resource group where the instance will be grouped. string n/a yes
service_endpoints Sets the endpoint of the instance, valid values are 'public', 'private', or 'public-and-private' string "public-and-private" no
tags List of tags to be associated to cloudant instance list(string) [] no

Outputs

Name Description
capacity A number of blocks of throughput units
crn CRN of the resource instance
db_map A map of the Cloudant database names created and their respective IDs
instance_guid Global identifier of the cloudant instance created
instance_id The id of the cloudant instance created
instance_name Name of the cloudant instance
instance_url The dashboard URL to access resource
plan The plan used to create cloudant instance
private_endpoint The external private endpoint
public_endpoint The external public endpoint
resource_group_name The resource group name in which resource is provisioned
resource_keys_url The relative path to the resource keys for the instance
state The current state of the instance

Contributing

You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature.

To set up your local development environment, see Local development setup in the project documentation.