Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/komminarlabs/terraform-aws-managed-grafana

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

aws grafana terraform terraform-module

Last synced: 2 days ago
JSON representation

Terraform module to create and manage Amazon Managed Grafana

Awesome Lists containing this project

README

        

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

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | n/a |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_grafana_license_association.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/grafana_license_association) | resource |
| [aws_grafana_role_association.this](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_iam_policy.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_role.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy_attachment.data_sources](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_iam_policy_document.assume_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_iam_policy_document.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | 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 |
| [tags](#input\_tags) | A mapping of tags to assign to the resources | `map(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. If not specified, the default version for the `aws_grafana_workspace` resource will be used. See `aws_grafana_workspace` documentation for available options. | `string` | `"8.4"` | no |
| [iam\_role\_arn](#input\_iam\_role\_arn) | The arn of the IAM role to use for grafana workspace | `string` | `null` | no |
| [license\_type](#input\_license\_type) | The type of license for the workspace license association. Valid values are `ENTERPRISE` and `ENTERPRISE_FREE_TRIAL` | `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` | `"SERVICE_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 |
| [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 |
|------|-------------|
| [license\_expiration](#output\_license\_expiration) | The expiration date of the enterprise license |
| [license\_free\_trial\_expiration](#output\_license\_free\_trial\_expiration) | The expiration date of the free trial |
| [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\_saml](#output\_workspace\_saml) | The Grafana workspace saml configuration details |