Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/schubergphilis/terraform-aws-mcaf-managed-grafana

Terraform module to create and manage Amazon Managed Grafana
https://github.com/schubergphilis/terraform-aws-mcaf-managed-grafana

aws grafana managed-grafana terraform terraform-module

Last synced: 10 days ago
JSON representation

Terraform module to create and manage Amazon Managed Grafana

Awesome Lists containing this project

README

        

# terraform-aws-mcaf-managed-grafana
Terraform module to create and manage Amazon Managed Grafana

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [aws](#requirement\_aws) | >= 5.0.0 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5.0.0 |

## Modules

| Name | Source | Version |
|------|--------|---------|
| [execution\_role](#module\_execution\_role) | github.com/schubergphilis/terraform-aws-mcaf-role | v0.4.0 |

## Resources

| Name | Type |
|------|------|
| [aws_grafana_role_association.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/grafana_role_association) | resource |
| [aws_grafana_workspace.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/grafana_workspace) | resource |
| [aws_grafana_workspace_api_key.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/grafana_workspace_api_key) | resource |
| [aws_grafana_workspace_saml_configuration.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/grafana_workspace_saml_configuration) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_iam_policy_document.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [description](#input\_description) | The workspace description | `string` | n/a | yes |
| [name](#input\_name) | The Grafana workspace name | `string` | n/a | yes |
| [account\_access\_type](#input\_account\_access\_type) | The type of account access for the workspace. Valid values are `CURRENT_ACCOUNT` and `ORGANIZATION`. If ORGANIZATION is specified, then organizational\_units must also be present | `string` | `"CURRENT_ACCOUNT"` | no |
| [authentication\_providers](#input\_authentication\_providers) | The authentication providers for the workspace. Valid values are `AWS_SSO`, `SAML`, or both | `list(string)` |

[
"AWS_SSO"
]
| no |
| [configuration](#input\_configuration) | The configuration string for the workspace that you create | `string` | `null` | no |
| [data\_sources](#input\_data\_sources) | The data sources for the workspace. Valid values are `AMAZON_OPENSEARCH_SERVICE`, `ATHENA`, `CLOUDWATCH`, `PROMETHEUS`, `REDSHIFT`, `SITEWISE`, `TIMESTREAM`, `XRAY` | `list(string)` | `[]` | no |
| [grafana\_version](#input\_grafana\_version) | Specifies the version of Grafana to support in the new workspace. | `string` | `"10.4"` | no |
| [iam\_role\_arn](#input\_iam\_role\_arn) | The optional arn of the IAM role to use for grafana workspace | `string` | `null` | no |
| [network\_access\_control](#input\_network\_access\_control) | Configuration for network access to your workspace |
object({
prefix_list_ids = list(string)
vpce_ids = list(string)
})
| `null` | no |
| [notification\_destinations](#input\_notification\_destinations) | The notification destinations. If a data source is specified here, Amazon Managed Grafana will create IAM roles and permissions needed to use these destinations. Must be set to `SNS` | `list(string)` |
[
"SNS"
]
| no |
| [organization\_role\_name](#input\_organization\_role\_name) | The role name that the workspace uses to access resources through Amazon Organizations | `string` | `null` | no |
| [organizational\_units](#input\_organizational\_units) | The Amazon Organizations organizational units that the workspace is authorized to use data sources from | `list(string)` | `[]` | no |
| [permission\_type](#input\_permission\_type) | The permission type of the workspace. If `SERVICE_MANAGED` is specified, the IAM roles and IAM policy attachments are generated automatically. If `CUSTOMER_MANAGED` is specified, the IAM roles and IAM policy attachments will not be created | `string` | `"CUSTOMER_MANAGED"` | no |
| [role\_association](#input\_role\_association) | List of user/group IDs to assocaite to a role |
list(object({
group_ids = optional(list(string))
role = string
user_ids = optional(list(string))
}))
| `[]` | no |
| [saml\_configuration](#input\_saml\_configuration) | The SAML configuration for the workspace |
object({
admin_role_values = optional(list(string))
allowed_organizations = optional(list(string))
editor_role_values = list(string)
email_assertion = optional(string)
groups_assertion = optional(string)
idp_metadata_url = optional(string)
idp_metadata_xml = optional(string)
login_assertion = optional(string)
login_validity_duration = optional(number)
name_assertion = optional(string)
org_assertion = optional(string)
role_assertion = optional(string)
})
| `null` | no |
| [tags](#input\_tags) | A mapping of tags to assign to the resources | `map(string)` | `{}` | no |
| [vpc\_configuration](#input\_vpc\_configuration) | The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to |
object({
security_group_ids = list(string)
subnet_ids = list(string)
})
| `null` | no |
| [workspace\_api\_key](#input\_workspace\_api\_key) | List of workspace API Key resources to create |
list(object({
name = string
role = string
seconds_to_live = number
}))
| `[]` | no |

## Outputs

| Name | Description |
|------|-------------|
| [workspace](#output\_workspace) | The Grafana workspace details |
| [workspace\_api\_keys](#output\_workspace\_api\_keys) | The workspace API keys created including their attributes |
| [workspace\_iam\_role](#output\_workspace\_iam\_role) | The IAM role details of the Grafana workspace |
| [workspace\_id](#output\_workspace\_id) | The ID of the Grafana workspace |
| [workspace\_saml](#output\_workspace\_saml) | The Grafana workspace saml configuration details |