cloudwatch-logs
cloudposse/cloudwatch-logs/aws
Terraform Module to Provide a CloudWatch Logs Endpoint
Terraform module for creation of CloudWatch Log Streams and Log Groups. Useful in combination with Fluentd/Fluent-bit for shipping logs. > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Usage ``terraform module "cloudwatch_logs" { source = "cloudposse/cloudwatch-logs/aws" # Cloud Posse recommends pinning every module to a specific version # version = "x.x.x" namespace = "eg" stage = "prod" name = "app" stream_names = ["kafka-instance-1", "kafka-instance-2"] } ` > [!IMPORTANT] > In Cloud Posse's examples, we avoid pinning module
| Name | Type | Description | Default |
|---|---|---|---|
| context | any | Single object for setting entire context at once. See description of individual | {
"additional_tag_map": {},
"attribu |
| namespace | string | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp' | null |
| tenant | string | ID element _(Rarely used, not included by default)_. A customer identifier, indi | null |
| environment | string | ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'st | null |
| attributes | list(string) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, | [] |
| descriptor_formats | any | Describe additional descriptors to be output in the `descriptors` output map. Ma | {} |
| additional_tag_map | map(string) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not add | {} |
| label_key_case | string | Controls the letter case of the `tags` keys (label names) for tags generated by | null |
| iam_role_enabled | bool | Whether to create an IAM role which is able to write logs to the CloudWatch Logs | true |
| principals | map(any) | Map of service name as key and a list of ARNs to allow assuming the role as valu | {
"Service": [
"ec2.amazonaws.com" |
| enabled | bool | Set to false to prevent the module from creating any resources | null |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| name | string | ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'. Thi | null |
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | null |
| regex_replace_chars | string | Terraform regular expression (regex) string. Characters matching the regex will | null |
| label_value_case | string | Controls the letter case of ID elements (labels) as included in `id`, set as tag | null |
| additional_permissions | list(string) | Additional permissions granted to the IAM role | [
"logs:CreateLogStream",
"logs:Dele |
| delimiter | string | Delimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` | null |
| labels_as_tags | set(string) | Set of labels (ID elements) to include as tags in the `tags` output. Default is | [
"default"
] |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
log_group_arn — ARN of the log groupstream_arns — ARNs of the log streamslog_group_name — Name of log grouprole_arn — ARN of the IAM rolerole_name — Name of the IAM roleAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,