Skip to content

dare-global/terraform-aws-timestream-influxdb

Repository files navigation

terraform-aws-timestream-influxdb

TODO

  • upgrade aws provider version when influxdb cluster resource becomes available and uncomment relevant resources
  • update documentation with provider details
  • release module to terraform registry
  • implement influxdb cluster example
  • parameter group support- currently not supported by provider

Examples

Requirements

Name Version
terraform >= 1.3.0
aws >= 5.91.0

Providers

Name Version
aws >= 5.91.0

Modules

No modules.

Resources

Name Type
aws_security_group.this resource
aws_security_group_rule.this_ingress_cidr_blocks resource
aws_security_group_rule.this_ingress_ipv6_cidr_blocks resource
aws_security_group_rule.this_ingress_prefix_list_ids resource
aws_timestreaminfluxdb_db_instance.this resource
aws_subnet.this data source

Inputs

Name Description Type Default Required
allocated_storage Amount of storage in GiB (gibibytes). The minimum value is 20, the maximum value is 16384. number 20 no
bucket Name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization. string null no
db_instance_type The type of compute and memory capacity for the instance string "db.influx.medium" no
db_storage_type The storage type to be used (e.g., 'InfluxIOIncludedT1', 'InfluxIOIncludedT2', 'InfluxIOIncludedT3') string null no
deployment_type Deployment type, SINGLE_AZ, WITH_MULTIAZ_STANDBY, MULTI_NODE_READ_REPLICAS. string n/a yes
ingress_cidr_blocks List of security group ipv4 cidr blocks list(string) [] no
ingress_ipv6_cidr_blocks List of security group ipv6 cidr blocks list(string) [] no
ingress_prefix_list_ids List of security group prefix list ids list(string) [] no
log_delivery_configuration Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable.
object({
s3_configuration = object({
bucket_name = string
enabled = bool
})
})
null no
name Unique identifier name for the Timestream for InfluxDB instance or cluster string n/a yes
network_type Specifies whether the network type of the Timestream for InfluxDB cluster is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols. string null no
organization The organization name for InfluxDB string n/a yes
password Password for accessing the InfluxDB instance string n/a yes
port The port on which the cluster/instance accepts connections. Valid values: 1024-65535. Cannot be 2375-2376, 7788-7799, 8090, or 51678-51680. This argument is updatable. number 8086 no
publicly_accessible Configures the DB instance/cluster with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access. bool null no
tags Tags to apply to the resources map(string) {} no
username Username for accessing the InfluxDB instance string n/a yes
vpc_security_group_ids List of security group IDs list(string) [] no
vpc_subnet_ids List of VPC subnet IDs list(string) n/a yes

Outputs

Name Description
instance_arn ARN of the InfluxDB instance
instance_endpoint Endpoint for the InfluxDB instance
instance_id ID of the Timestream for InfluxDB instance
instance_influx_auth_parameters_secret_arn ARN of the AWS Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.

License

See LICENSE file for full details.

Maintainers

Pre-commit hooks

Install dependencies

MacOS

brew install pre-commit terraform-docs tflint

brew tap git-chglog/git-chglog
brew install git-chglog