Unlike the extension-type deployable architecture, this solution is "fullstack" and has no dependencies on other deployable architectures. A fullstack-type deployable architecture deploys and end-to-end solution.
ℹ️ Tip: This fullstack install type is different from a deployable architecture stack, which is an architecture built of two or more deployable architectures that are often linked with references and deployed in a particular sequence.
You specify the type of deployable architecture in the ibm_catalog.json file.
- The
install_typefor this deployable architecture is set tofullstack.
This solution provisions the following resources:
- A new resource group, if an existing one is not passed in.
- A global Cloud Object Storage instance.
- A primary source Object Storage bucket in a given region.
- A target Object Storage bucket where data is replicated.
- A replication rule to replicate everything from the source bucket to the target bucket.
- An IAM authorization policy for the replication between the buckets.
❗ This solution is not intended to be called by one or more other modules since they contain provider configurations, meaning they are not compatible with the for_each, count, and depends_on arguments. For more information see Providers Within Modules
| Name | Version |
|---|---|
| terraform | >= 1.9.0 |
| ibm | 2.4.0 |
| Name | Source | Version |
|---|---|---|
| cos_buckets | terraform-ibm-modules/cos/ibm//modules/buckets | 10.17.5 |
| cos_instance | terraform-ibm-modules/cos/ibm | 10.17.5 |
| resource_group | terraform-ibm-modules/resource-group/ibm | 1.6.1 |
| Name | Type |
|---|---|
| ibm_cos_bucket_replication_rule.cos_replication_rule | resource |
| ibm_iam_authorization_policy.policy | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| add_bucket_name_suffix | Whether to append a randomly generated 4-character string to the Object Storage bucket names. Set to false for full control over the names in the cos_source_bucket_name and cos_target_bucket_name inputs. |
bool |
true |
no |
| cos_instance_name | The name to use when creating the IBM Cloud Object Storage instance. If the prefix input is passed, it is added before this value, in the format <prefix>-value. |
string |
"cos-instance" |
no |
| cos_source_bucket_name | The globally unique name to use for the source Cloud Object Storage bucket. If the add_bucket_name_suffix input is set to true, a random 4-character string is appended to this name to help ensure that the bucket name is globally unique. If the prefix input is passed, it is added before this value, in the format <prefix>-value. |
string |
"source-bucket" |
no |
| cos_source_bucket_region | The region to provision the source Cloud Object Storage bucket. | string |
"us-south" |
no |
| cos_target_bucket_name | The globally unique name to use for the target Cloud Object Storage bucket. If the add_bucket_name_suffix input is set to true, a random 4-character string is appended to this name to help ensure that the bucket name is globally unique. If the prefix input is passed, it is added before this value, in the format <prefix>-value. |
string |
"target-bucket" |
no |
| cos_target_bucket_region | The region to provision the target Cloud Object Storage bucket. | string |
"us-east" |
no |
| ibmcloud_api_key | The IBM Cloud API key needed to deploy IAM-enabled resources. | string |
n/a | yes |
| prefix | Prefix for all resources created by this solution. | string |
null |
no |
| provider_visibility | Set the visibility value for the IBM terraform provider. Supported values are public, private, public-and-private. Learn more. |
string |
"private" |
no |
| resource_group_name | The name of a new or an existing resource group to provision resources to. If the prefix input is passed, it is added before this value, in the format <prefix>-value. |
string |
n/a | yes |
| use_existing_resource_group | Whether to use an existing resource group. | bool |
false |
no |
| Name | Description |
|---|---|
| cos_instance_crn | Object Storage instance CRN |
| cos_instance_guid | Object Storage instance guid |
| cos_instance_id | Object Storage instance id |
| cos_source_bucket_crn | Object Storage source bucket crn |
| cos_source_bucket_id | Object Storage source bucket id |
| cos_source_bucket_name | Object Storage source bucket name |
| cos_source_bucket_s3_endpoint_direct | Object Storage source direct endpoint |
| cos_source_bucket_s3_endpoint_private | Object Storage source private endpoint |
| cos_source_bucket_s3_endpoint_public | Object Storage source public endpoint |
| cos_target_bucket_crn | Object Storage target bucket CRN |
| cos_target_bucket_id | Object Storage target bucket ID |
| cos_target_bucket_name | Object Storage target bucket name |
| cos_target_bucket_s3_endpoint_direct | Object Storage target direct endpoint |
| cos_target_bucket_s3_endpoint_private | Object Storage target private endpoint |
| cos_target_bucket_s3_endpoint_public | Object Storage target public endpoint |
| resource_group_id | Resource group ID |
| resource_group_name | Resource group name |