Skip to content

tf-cloud-modules/terraform-aiven-mysql

Repository files navigation

Aiven MySQL Terraform module

Terraform module which creates Aiven MySQL resources

Usage

module "mysql" {
  source       = "tf-cloud-modules/mysql/aiven"
  project      = "test"
  service_name = "test"
}

Requirements

Name Version
terraform >= 0.13.1
aiven >= 4.0.0, < 5.0.0

Providers

Name Version
aiven 3.5.0

Modules

No modules.

Resources

Name Type
aiven_mysql.this resource

Inputs

Name Description Type Default Required
binlog_retention_period The minimum amount of time in seconds to keep binlog entries before deletion. number null no
cloud_name Defines where the cloud provider and region where the service is hosted in. string "aws-us-east-1" no
connect_timeout connect_timeout number null no
create Controls if resources should be created. bool true no
default_time_zone default_time_zone string "" no
group_concat_max_len group_concat_max_len number null no
information_schema_stats_expiry information_schema_stats_expiry number null no
innodb_change_buffer_max_size innodb_change_buffer_max_size number null no
innodb_flush_neighbors innodb_flush_neighbors number null no
innodb_ft_min_token_size innodb_ft_min_token_size number null no
innodb_ft_server_stopword_table innodb_ft_server_stopword_table string "" no
innodb_lock_wait_timeout innodb_lock_wait_timeout string null no
innodb_log_buffer_size innodb_log_buffer_size number null no
innodb_online_alter_log_max_size innodb_online_alter_log_max_size number null no
innodb_print_all_deadlocks innodb_print_all_deadlocks bool null no
innodb_read_io_threads innodb_read_io_threads number null no
innodb_rollback_on_timeout innodb_rollback_on_timeout bool null no
innodb_thread_concurrency innodb_thread_concurrency number null no
innodb_write_io_threads innodb_write_io_threads number null no
interactive_timeout interactive_timeout number null no
internal_tmp_mem_storage_engine internal_tmp_mem_storage_engine string "" no
ip_filter_object Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'. list(any)
[
{
"network": "0.0.0.0/0"
}
]
no
long_query_time long_query_time number null no
maintenance_window_dow Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc. string "thursday" no
maintenance_window_time Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format. string "01:00:00" no
max_allowed_packet max_allowed_packet number null no
max_heap_table_size max_heap_table_size number null no
migration Migrate data from existing server. list(any) [] no
mysql_version MySQL major version. string "8" no
net_buffer_length net_buffer_length number null no
net_read_timeout net_read_timeout number null no
net_write_timeout net_write_timeout number null no
plan Defines what kind of computing resources are allocated for the service. string "startup-4" no
private_access_mysql Allow clients to connect to mysql with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations. bool false no
private_access_mysqlx Allow clients to connect to mysqlx with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations. bool false no
private_access_prometheus Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. bool false no
privatelink_mysql Enable mysql. bool false no
privatelink_mysqlx Enable mysqlx. bool false no
privatelink_prometheus Enable prometheus. bool false no
project Aiven Cloud Project Name string n/a yes
project_to_fork_from Name of another project to fork a service from. string "" no
project_vpc_id Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. string null no
public_access_mysql Allow clients to connect to mysql from the public internet for service nodes that are in a project VPC or another type of private network. bool false no
public_access_mysqlx Allow clients to connect to mysqlx from the public internet for service nodes that are in a project VPC or another type of private network. bool false no
public_access_prometheus Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network. bool false no
recovery_target_time Recovery target time when forking a service. string "" no
service_integrations Service integrations to specify when creating a service. list(any) [] no
service_name Specifies the actual name of the service. string n/a yes
service_to_fork_from Name of another service to fork from. string "" no
slow_query_log slow_query_log bool null no
sort_buffer_size sort_buffer_size number null no
sql_mode sql_mode string "" no
sql_require_primary_key sql_require_primary_key bool null no
static_ips Static IPs that are going to be associated with this service. list(string) [] no
tags List of the service tags. list(any) [] no
termination_protection Prevents the service from being deleted. bool false no
tmp_table_size tmp_table_size number null no
wait_timeout wait_timeout number null no

Outputs

Name Description
cloud_name Defines where the cloud provider and region where the service is hosted in.
components Service component information objects.
disk_space_cap The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
disk_space_default The default disk space of the service, possible values depend on the service type, the cloud provider and the project.
disk_space_step The default disk space step of the service, possible values depend on the service type, the cloud provider and the project.
id The ID of this resource.
maintenance_window_dow Day of week when maintenance operations should be performed.
maintenance_window_time Time of day when maintenance operations should be performed.
mysql_user_config MySQL user configurable settings.
plan Defines what kind of computing resources are allocated for the service.
project Aiven Cloud Project Name.
service_host The hostname of the service.
service_integrations Service integrations to specify when creating a service.
service_name Specifies the actual name of the service.
service_password Password used for connecting to the service, if applicable.
service_port The port of the service.
service_type Aiven internal service type code.
service_uri URI for connecting to the service.
service_username Username used for connecting to the service.
static_ips Static IPs that are going to be associated with this service.