An open API service indexing awesome lists of open source software.

https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration

Create an App Configuration instance and optionally allows for multiple App Configuration Collections to be created.
https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration

app-config app-configuration app-rapp core-team ibm-cloud stable supported terraform terraform-module

Last synced: about 2 months ago
JSON representation

Create an App Configuration instance and optionally allows for multiple App Configuration Collections to be created.

Awesome Lists containing this project

README

        

# Terraform IBM App Configuration

[![Stable (Adopted)](https://img.shields.io/badge/Status-Stable%20(Adopted)-yellowgreen?style=plastic)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
[![latest release](https://img.shields.io/github/v/release/terraform-ibm-modules/terraform-ibm-app-configuration?logo=GitHub&sort=semver)](https://github.com/terraform-ibm-modules/terraform-ibm-app-configuration/releases/latest)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

Create an App Configuration instance and optionally allows for multiple App Configuration Collections to be created.

## Overview
* [terraform-ibm-app-configuration](#terraform-ibm-app-configuration)
* [Examples](./examples)
* [Basic example](./examples/basic)
* [Complete example](./examples/complete)
* [Contributing](#contributing)

## terraform-ibm-app-configuration

### Usage

```hcl
module "app_config" {
source = "terraform-ibm-modules/app-configuration/ibm"
version = "X.X.X" # Replace "X.X.X" with a release version to lock into a specific release
resource_group_id = "65xxxxxxxxxxxxxxxa3fd"
region = "us-south"
app_config_name = "my-app-config-name"
app_config_plan = "lite"
app_config_service_endpoints = "public"
app_config_tags = ["list", "of", "tags"]

app_config_collections = [
{
name = "my-app-config-collection-name",
collection_id = "my-app-config-collection-id",
description = "Collection for app config instance",
tags = "tag for collection"
},
{
name = "second-collection-name",
collection_id = "second-collection-id",
description = "Another Collection for app config instance",
tags = "another tag"
}
]
}
```

### Required IAM access policies

You need the following permissions to run this module.

* Account Management
* **All Resource Groups** service
* `Viewer` platform access
* IAM Services
* **App Configuration** service
* `Administrator` platform access
* `Manager` service access

For more information on access and permissions, see

### Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [ibm](#requirement\_ibm) | >= 1.65.0, < 2.0.0 |

### Modules

| Name | Source | Version |
|------|--------|---------|
| [cbr\_rule](#module\_cbr\_rule) | terraform-ibm-modules/cbr/ibm//modules/cbr-rule-module | 1.28.0 |

### Resources

| Name | Type |
|------|------|
| [ibm_app_config_collection.collections](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/app_config_collection) | resource |
| [ibm_resource_instance.app_config](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance) | resource |

### Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [app\_config\_collections](#input\_app\_config\_collections) | A list of collections to be added to the App Configuration instance |

list(object({
name = string
collection_id = string
description = optional(string, null)
tags = optional(string, null)
}))
| `[]` | no |
| [app\_config\_name](#input\_app\_config\_name) | Name for the App Configuration service instance | `string` | n/a | yes |
| [app\_config\_plan](#input\_app\_config\_plan) | Plan for the App Configuration service instance, valid plans are lite, standardv2, and enterprise. | `string` | `"lite"` | no |
| [app\_config\_service\_endpoints](#input\_app\_config\_service\_endpoints) | Service Endpoints for the App Configuration service instance, valid endpoints are public or public-and-private. | `string` | `"public-and-private"` | no |
| [app\_config\_tags](#input\_app\_config\_tags) | Optional list of tags to be added to the App Config instance. | `list(string)` | `[]` | no |
| [cbr\_rules](#input\_cbr\_rules) | The list of context-based restriction rules to create. |
list(object({
description = string
account_id = string
tags = optional(list(object({
name = string
value = string
})), [])
rule_contexts = list(object({
attributes = optional(list(object({
name = string
value = string
}))) }))
enforcement_mode = string
}))
| `[]` | no |
| [region](#input\_region) | The region to provision the App Configuration service, valid regions are us-south, us-east, eu-gb, and au-syd. | `string` | `"us-south"` | no |
| [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where resources will be provisioned. | `string` | n/a | yes |

### Outputs

| Name | Description |
|------|-------------|
| [app\_config\_collection\_ids](#output\_app\_config\_collection\_ids) | List of IDs for the collections in the App Configuration instance |
| [app\_config\_guid](#output\_app\_config\_guid) | GUID of the App Configuration 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](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).

To set up your local development environment, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup) in the project documentation.