Skip to content

Latest commit

 

History

History
85 lines (67 loc) · 8.78 KB

File metadata and controls

85 lines (67 loc) · 8.78 KB

Sample terraform-based deployable architecture without dependencies (fullstack)

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_type for this deployable architecture is set to fullstack.

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.

cos-replication

❗ 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

Requirements

Name Version
terraform >= 1.9.0
ibm 2.4.0

Modules

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

Resources

Name Type
ibm_cos_bucket_replication_rule.cos_replication_rule resource
ibm_iam_authorization_policy.policy resource

Inputs

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

Outputs

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