This Terraform module can create typical resources needed for most microservices.
module "microservice" {
source = "github.com/flaconi/terraform-aws-microservice"
env = "playground"
name = "sample"
# iam_user_enabled creates an user with keys, with `iam_role_enabled` the user can switch into the role created by `iam_role_enabled`
# For this example we're only creating a role with access to Dynamodb
iam_user_enabled = false
# iam_role_enabled creates a role.
iam_role_enabled = true
# Sample principal which can assume into this role
#iam_role_principals_arns = ["arn:aws:iam::12374567890:root"]
iam_inline_policies = [
{
name = "s3-access"
statements = [
{
actions = ["s3:ListBucket"]
resources = ["arn:aws:s3:::test"]
},
{
actions = ["s3:get*"]
resources = ["arn:aws:s3:::test/*"]
}
]
},
{
name = "kinesis-full-access"
statements = [
{
actions = ["kinesis:*"]
resources = ["*"]
},
]
}
]
# -------------------------------------------------------------------------------------------------
# DynamoDB
# This module re-uses an implementation of the module https://github.com/cloudposse/terraform-aws-dynamodb
# -------------------------------------------------------------------------------------------------
# `dynamodb_enabled` is set to true to enable Dynamodb
dynamodb_enabled = true
dynamodb_hash_key = "HashKey"
dynamodb_range_key = "RangeKey"
# dynamodb_attributes = []
# dynamodb_global_secondary_index_map = []
# dynamodb_local_secondary_index_map = []
tags = {
Name = "sample"
}
}
module "ms_sample_redis" {
source = "github.com/flaconi/terraform-aws-microservice"
env = "playground"
name = "sample"
vpc_tag_filter = {
"Name"= "dev-vpc",
"env"= "dev"
}
# redis_enabled - Set to false to prevent the module from creating any redis resources
redis_enabled = true
# redis_cluster_id_override - Use only lowercase, numbers and -, _., only use when it needs to be different from `var.name`
# redis_cluster_id_override = ""
# redis_subnet_tag_filter sets the datasource to match the subnet_id's where the RDS will be located
redis_subnet_tag_filter = {
"Name" = "dev-redis-subnet*"
"env" = "dev"
}
# redis_allowed_subnet_cidrs - List of CIDRs/subnets which should be able to connect to the Redis cluster
redis_allowed_subnet_cidrs = ["127.0.0.1/32"]
# redis_shards_count - Number of shards
redis_shards_count = 1
# Number of replica nodes in each node group
redis_replicas_count = 1
# redis_port - Redis Port
# redis_port = 6379
# redis_instance_type - Redis instance type
redis_instance_type = "cache.t2.micro"
# redis_group_engine_version - Redis engine version to be used
# redis_group_engine_version = "5.0.0"
# redis_group_parameter_group_name - Redis parameter group name"
# redis_group_parameter_group_name = "default.redis5.0.cluster.on"
# redis_snapshot_window - Redis snapshot window
# redis_snapshot_window = "00:00-05:00"
# redis_maintenance_window - Redis maintenance window
# redis_maintenance_window = "mon:10:00-mon:12:00"
tags = {
Name = "sample"
}
module "ms_sample_rds" {
source = "github.com/flaconi/terraform-aws-microservice"
env = "playground"
name = "sample"
vpc_tag_filter = {
"Name"= "dev-vpc",
"env"= "dev"
}
# rds_subnet_tag_filter sets the datasource to match the subnet_id's where the RDS will be located
rds_subnet_tag_filter = {
"Name" = "dev-rds-subnet*"
"env" = "dev"
}
# rds_enabled enables RDS
rds_enabled = true
# rds_allowed_subnet_cidrs specifices the allowed subnets
#rds_allowed_subnet_cidrs = ["127.0.0.1/32"]
# rds_admin_user sets the admin user, defaults to admin
# rds_admin_user = "demouser"
# rds_identifier_override overrides the name of the RDS instance, instead of `var.name`
# rds_identifier_override = "overridename"
# rds_engine sets the RDS instance engine
# rds_engine = "mysql"
# rds_major_engine_version RDS instance major engine version
# rds_major_engine_version = 5.7
# rds_family Parameter Group"
# rds_family = "mysql5.7"
# rds_node_type sets VM type which should be taken for nodes in the RDS instance
# rds_node_type = "db.t3.micro"
# rds_multi_az sets multi-az
# rds_multi_az = true
# rds_storage_type sets the RDS storage type
# rds_storage_type = "gp2"
# rds_allocated_storage sets the RDS storage size in Gb
# rds_allocated_storage = "20"
# rds_admin_pass sets the password in case `rds_admin_pass` is set to false
# rds_admin_pass = ""
# rds_use_random_password switched on sets a random password for the rds instance
# rds_use_random_password = true
# rds_parameter_group_name Parameter group for database
# rds_parameter_group_name = ""
# rds_option_group_name option groups for database
# rds_option_group_name = ""
# rds_port TCP port where DB accept connections
# rds_port = "3306"
# rds_db_subnet_group_name Subnet groups for RDS instance
# rds_db_subnet_group_name = ""
# rds_backup_retention_period Retention period for DB snapshots in days
rds_backup_retention_period = 14
# rds_deletion_protection Protect RDS instance from deletion
rds_deletion_protection = false
# rds_skip_final_snapshot Protect RDS instance from deletion
rds_skip_final_snapshot = true
# rds_storage_encrypted - enable encryption for RDS instance storage"
rds_storage_encrypted = true
# rds_kms_key_id - KMS key ARN for storage encryption, defaults to "" = RDS/KMS
rds_kms_key_id = ""
# rds_maintenance_window - Window of RDS Maintenance
rds_maintenance_window = "Mon:16:00-Mon:18:00"
# rds_backup_window - Backup Window
rds_backup_window = "03:00-06:00"
tags = {
Name = "sample"
}
}
The following resources CAN be created:
- 1 IAM Role
- 1 IAM User
- 1 DynamoDB
- 1 RDS Instance
- 1 Policy for accessing Dynamodb from the IAM Role
- 1 Redis cluster with required networking components
Name | Description | Type | Default | Required |
---|---|---|---|---|
env | The environment name to which this project will be applied against (e.g.: common, dev, prod, testing) | string | n/a | yes |
name | The name of the microservice, the dependent resources will be created with this name interpolated | string | n/a | yes |
tags | tags to propagate to the resources | map(any) | n/a | yes |
additional_sg_names_for_rds | Name(s) of the additional VPC Security Group(s) to be attached to the RDS instance. | list(string) | [] |
no |
aws_route53_rds_subdomain_override | To set a custom RDS DNS record subdomain instead of the RDS instance ID | string | "" |
no |
aws_route53_record_ttl | Time to live for DNS record used by the endpoints | string | "60" |
no |
aws_route53_zone_endpoints_enabled | To enable the lookup of the domain used for RDS/Redis private endpoint | string | "false" |
no |
aws_route53_zone_private_endpoint_enabled | To enable the lookup of the domain used for RDS/Redis private endpoint, we need to set this to true | string | "true" |
no |
aws_route53_zone_public_endpoint_enabled | To enable the lookup of the domain used for RDS/Redis public endpoint, we need to set this to true | string | "true" |
no |
dynamodb2_attributes | Additional DynamoDB attributes in the form of a list of mapped values | list | [] |
no |
dynamodb2_autoscale_max_read_capacity | DynamoDB autoscaling max read capacity | number | "20" |
no |
dynamodb2_autoscale_max_write_capacity | DynamoDB autoscaling max write capacity | number | "20" |
no |
dynamodb2_autoscale_min_read_capacity | DynamoDB autoscaling min read capacity | number | "5" |
no |
dynamodb2_autoscale_min_write_capacity | DynamoDB autoscaling min write capacity | number | "5" |
no |
dynamodb2_autoscale_read_target | The target value for DynamoDB read autoscaling | number | "50" |
no |
dynamodb2_autoscale_write_target | The target value for DynamoDB write autoscaling | number | "50" |
no |
dynamodb2_enable_autoscaler | Flag to enable/disable DynamoDB autoscaling | bool | "true" |
no |
dynamodb2_enabled | Set to false to prevent the module from creating any dynamodb resources | string | "false" |
no |
dynamodb2_global_secondary_index_map | Additional global secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb2_hash_key | DynamoDB table Hash Key | string | "" |
no |
dynamodb2_hash_key_type | Hash Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
dynamodb2_local_secondary_index_map | Additional local secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb2_name_override | define dynamodb2_name_override to set a name differnt from var.name | string | "" |
no |
dynamodb2_range_key | DynamoDB table Range Key | string | "" |
no |
dynamodb2_range_key_type | Range Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
dynamodb3_attributes | Additional DynamoDB attributes in the form of a list of mapped values | list | [] |
no |
dynamodb3_autoscale_max_read_capacity | DynamoDB autoscaling max read capacity | number | "20" |
no |
dynamodb3_autoscale_max_write_capacity | DynamoDB autoscaling max write capacity | number | "20" |
no |
dynamodb3_autoscale_min_read_capacity | DynamoDB autoscaling min read capacity | number | "5" |
no |
dynamodb3_autoscale_min_write_capacity | DynamoDB autoscaling min write capacity | number | "5" |
no |
dynamodb3_autoscale_read_target | The target value for DynamoDB read autoscaling | number | "50" |
no |
dynamodb3_autoscale_write_target | The target value for DynamoDB write autoscaling | number | "50" |
no |
dynamodb3_enable_autoscaler | Flag to enable/disable DynamoDB autoscaling | bool | "true" |
no |
dynamodb3_enabled | Set to false to prevent the module from creating any dynamodb resources | string | "false" |
no |
dynamodb3_global_secondary_index_map | Additional global secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb3_hash_key | DynamoDB table Hash Key | string | "" |
no |
dynamodb3_hash_key_type | Hash Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
dynamodb3_local_secondary_index_map | Additional local secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb3_name_override | define dynamodb3_name_override to set a name differnt from var.name | string | "" |
no |
dynamodb3_range_key | DynamoDB table Range Key | string | "" |
no |
dynamodb3_range_key_type | Range Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
dynamodb_attributes | Additional DynamoDB attributes in the form of a list of mapped values | list | [] |
no |
dynamodb_autoscale_max_read_capacity | DynamoDB autoscaling max read capacity | number | "20" |
no |
dynamodb_autoscale_max_write_capacity | DynamoDB autoscaling max write capacity | number | "20" |
no |
dynamodb_autoscale_min_read_capacity | DynamoDB autoscaling min read capacity | number | "5" |
no |
dynamodb_autoscale_min_write_capacity | DynamoDB autoscaling min write capacity | number | "5" |
no |
dynamodb_autoscale_read_target | The target value for DynamoDB read autoscaling | number | "50" |
no |
dynamodb_autoscale_write_target | The target value for DynamoDB write autoscaling | number | "50" |
no |
dynamodb_enable_autoscaler | Flag to enable/disable DynamoDB autoscaling | bool | "true" |
no |
dynamodb_enabled | Set to false to prevent the module from creating any dynamodb resources | string | "false" |
no |
dynamodb_global_secondary_index_map | Additional global secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb_hash_key | DynamoDB table Hash Key | string | "" |
no |
dynamodb_hash_key_type | Hash Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
dynamodb_local_secondary_index_map | Additional local secondary indexes in the form of a list of mapped values | object | [] |
no |
dynamodb_name_override | define dynamodb_name_override to set a name differnt from var.name | string | "" |
no |
dynamodb_range_key | DynamoDB table Range Key | string | "" |
no |
dynamodb_range_key_type | Range Key type, which must be a scalar type: S , N , or B for (S)tring, (N)umber or (B)inary data |
string | "S" |
no |
endpoints_domain | The domain / route53 zone we need to add a record with | string | "" |
no |
iam_inline_policies | Policies applied to the assuming role | list | [] |
no |
iam_role_enabled | Set to false to prevent iam role creation | string | "false" |
no |
iam_role_principals_arns | List of ARNs to allow assuming the iam role. Could be AWS services or accounts, Kops nodes, IAM users or groups | list(string) | [] |
no |
iam_user_enabled | Set to false to prevent iam user creation | string | "false" |
no |
iam_user_path | Set the path for the iam user | string | "/" |
no |
rds_admin_pass | Admin user password. At least 8 characters. | string | "" |
no |
rds_admin_user | Admin user name, should default when empty | string | "admin" |
no |
rds_allocated_storage | Storage size in Gb | string | "20" |
no |
rds_allowed_subnet_cidrs | List of CIDRs/subnets which should be able to connect to the RDS instance | list(string) | [ "127.0.0.1/32" ] |
no |
rds_apply_immediately | Specifies whether any database modifications are applied immediately, or during the next maintenance window | bool | "false" |
no |
rds_auto_minor_version_upgrade | Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window | bool | "false" |
no |
rds_backup_retention_period | Retention period for DB snapshots in days | string | "14" |
no |
rds_backup_window | Backup window | string | "03:00-06:00" |
no |
rds_ca_cert_identifier | The identifier of the CA certificate for the DB instance. | string | "rds-ca-2019" |
no |
rds_copy_tags_to_snapshot | On delete, copy all Instance tags to the final snapshot (if final_snapshot_identifier is specified) | bool | "true" |
no |
rds_db_subnet_group_description | Description of the DB subnet group to create | string | "" |
no |
rds_db_subnet_group_name | Subnet groups for RDS instance | string | "" |
no |
rds_dbname_override | RDS DB Name override in case the identifier is not wished as db name | string | "" |
no |
rds_deletion_protection | Protect RDS instance from deletion | string | "true" |
no |
rds_enable_s3_dump | Set to true to allow the module to create RDS DB dump resources. | bool | "false" |
no |
rds_enabled | Set to false to prevent the module from creating any rds resources | bool | "false" |
no |
rds_enabled_cloudwatch_logs_exports | List of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine): alert, audit, error, general, listener, slowquery, trace, postgresql (PostgreSQL), upgrade (PostgreSQL). | list(string) | [] |
no |
rds_engine | RDS instance engine | string | "mysql" |
no |
rds_engine_version | RDS instance engine version | string | "5.7.19" |
no |
rds_enhanced_monitoring_interval | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. | number | "0" |
no |
rds_family | Parameter Group | string | "mysql5.7" |
no |
rds_final_snapshot_identifier_override | RDS final snapshot identifier override. | string | "" |
no |
rds_iam_database_authentication_enabled | Enable / disable IAM database authentication | string | "false" |
no |
rds_identifier_override | RDS identifier override. Use only lowercase, numbers and -, _., only use when it needs to be different from var.name | string | "" |
no |
rds_iops | The amount of provisioned IOPS. Setting this implies a storage_type of 'io1' | number | "0" |
no |
rds_kms_key_id | KMS key ARN for storage encryption | string | "" |
no |
rds_license_model | License model information for this DB instance. Optional, but required for some DB engines, i.e. Oracle SE1 | string | "" |
no |
rds_maintenance_window | Window of RDS Maintenance | string | "Mon:16:00-Mon:18:00" |
no |
rds_major_engine_version | RDS instance major engine version | string | "5.7" |
no |
rds_max_allocated_storage | Specifies the value for Storage Autoscaling | number | "0" |
no |
rds_multi_az | Replication settings | string | "true" |
no |
rds_node_type | VM type which should be taken for nodes in the RDS instance | string | "db.t3.micro" |
no |
rds_option_group_description | The description of the option group | string | "" |
no |
rds_option_group_name | Option groups for database | string | "" |
no |
rds_option_group_timeouts | Define maximum timeout for deletion of aws_db_option_group resource |
map(string) | { "delete": "15m" } |
no |
rds_option_group_use_name_prefix | Determines whether to use option_group_name as is or create a unique name beginning with the option_group_name as the prefix |
bool | "true" |
no |
rds_options | A list of RDS Options to apply | any | [] |
no |
rds_parameter_group_description | Description of the DB parameter group to create | string | "" |
no |
rds_parameter_group_name | Parameter group for database | string | "" |
no |
rds_parameters | List of RDS parameters to apply | list(map(string)) | [] |
no |
rds_performance_insights_enabled | Specifies whether Performance Insights are enabled | bool | "false" |
no |
rds_performance_insights_retention_period | The amount of time in days to retain Performance Insights data. Either 7 (7 days) or 731 (2 years). | number | "7" |
no |
rds_port | TCP port where DB accept connections | string | "3306" |
no |
rds_s3_dump_allowed_ips | List of CIDRs allowed to access data on the S3 bucket for RDS DB dumps | list(string) | [] |
no |
rds_s3_dump_name_prefix | The S3 name prefix | string | "" |
no |
rds_s3_dump_role_arn | IAM role ARN to be associated with the RDS instance, for being able to access the S3 dump bucket(s). If this is set, the module will not create the role nor its policy but instead will directly associate the RDS instance with passed role. If this is not set, the module will handle the creation of the IAM policy and the role itself. | string | "" |
no |
rds_s3_kms_dump_key_additional_role_arns | List of IAM role ARNs that are able to access the KMS key used for encrypting RDS dump files in the S3 bucket | list(string) | [] |
no |
rds_skip_final_snapshot | Skip final snapshot on deletion | string | "false" |
no |
rds_storage_encrypted | Enable encryption for RDS instance storage | string | "true" |
no |
rds_storage_type | Storage type | string | "gp2" |
no |
rds_subnet_tag_filter | The Map to filter the subnets of the VPC where the RDS component of the Microservice resides | map | {} |
no |
rds_timeouts | (Optional) Updated Terraform resource management timeouts. Applies to aws_db_instance in particular to permit resource management times |
map(string) | { "create": "40m", "delete": "40m", "update": "80m" } |
no |
rds_use_random_password | with rds_use_random_password set to true the RDS database will be configured with a random password | string | "true" |
no |
redis_allowed_subnet_cidrs | List of CIDRs/subnets which should be able to connect to the Redis cluster | list(string) | [ "127.0.0.1/32" ] |
no |
redis_apply_immediately | Specifies whether any modifications are applied immediately, or during the next maintenance window. | string | "false" |
no |
redis_at_rest_encryption_enabled | Redis encrypt storage | string | "false" |
no |
redis_auto_minor_version_upgrade | Redis allow auto minor version upgrade | string | "true" |
no |
redis_cluster_id_override | Redis cluster ID. Use only lowercase, numbers and -, _., only use when it needs to be different from var.name | string | "" |
no |
redis_enabled | Set to false to prevent the module from creating any redis resources | string | "false" |
no |
redis_group_engine_version | Redis engine version to be used | string | "5.0.0" |
no |
redis_group_parameter_group_name | Redis parameter group name | string | "default.redis5.0.cluster.on" |
no |
redis_instance_type | Redis instance type | string | "cache.m4.large" |
no |
redis_maintenance_window | Redis snapshot window | string | "mon:10:00-mon:12:00" |
no |
redis_multi_az_enabled | Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. | bool | "false" |
no |
redis_port | Redis port | string | "6379" |
no |
redis_replicas_count | Number of replica nodes in each node group | string | "1" |
no |
redis_shards_count | Number of shards | string | "1" |
no |
redis_snapshot_window | Redis snapshot window | string | "00:00-05:00" |
no |
redis_subnet_tag_filter | The Map to filter the subnets of the VPC where the Redis component of the Microservice resides | map | {} |
no |
redis_transit_encryption_enabled | Redis encrypt transit TLS | string | "false" |
no |
s3_enabled | S3 bucket creation and iam policy creation enabled | bool | "false" |
no |
s3_force_destroy | S3 Force destroy | bool | "true" |
no |
s3_identifier | The S3 Bucket name | string | "" |
no |
s3_lifecycle_rules | S3 Lifecycle rules | list | [] |
no |
s3_versioning_enabled | S3 Versioning enabled | bool | "true" |
no |
sqs1_delay_seconds | define sqs1_delay_seconds | string | "0" |
no |
sqs1_dlq_enabled | Set to false to prevent the module from creating any sqs-dql resources | string | "false" |
no |
sqs1_enabled | Set to false to prevent the module from creating any sqs resources | string | "false" |
no |
sqs1_fifo_queue | Boolean designating a FIFO queue | string | "false" |
no |
sqs1_max_message_size | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | string | "262144" |
no |
sqs1_name_override | define sqs1_name_override to set a name differnt from var.name | string | "" |
no |
sqs1_receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | string | "0" |
no |
sqs1_redrive_policy | The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string | "" |
no |
sqs1_visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | string | "30" |
no |
sqs2_delay_seconds | define sqs2_delay_seconds | string | "0" |
no |
sqs2_dlq_enabled | Set to false to prevent the module from creating any sqs-dql resources | string | "false" |
no |
sqs2_enabled | Set to false to prevent the module from creating any sqs resources | string | "false" |
no |
sqs2_fifo_queue | Boolean designating a FIFO queue | string | "false" |
no |
sqs2_max_message_size | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | string | "262144" |
no |
sqs2_name_override | define sqs2_name_override to set a name differnt from var.name | string | "" |
no |
sqs2_receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | string | "0" |
no |
sqs2_redrive_policy | The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string | "" |
no |
sqs2_visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | string | "30" |
no |
sqs3_delay_seconds | define sqs3_delay_seconds | string | "0" |
no |
sqs3_dlq_enabled | Set to false to prevent the module from creating any sqs-dql resources | string | "false" |
no |
sqs3_enabled | Set to false to prevent the module from creating any sqs resources | string | "false" |
no |
sqs3_fifo_queue | Boolean designating a FIFO queue | string | "false" |
no |
sqs3_max_message_size | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | string | "262144" |
no |
sqs3_name_override | define sqs3_name_override to set a name differnt from var.name | string | "" |
no |
sqs3_receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | string | "0" |
no |
sqs3_redrive_policy | The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string | "" |
no |
sqs3_visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | string | "30" |
no |
sqs4_delay_seconds | define sqs4_delay_seconds | string | "0" |
no |
sqs4_dlq_enabled | Set to false to prevent the module from creating any sqs-dql resources | string | "false" |
no |
sqs4_enabled | Set to false to prevent the module from creating any sqs resources | string | "false" |
no |
sqs4_fifo_queue | Boolean designating a FIFO queue | string | "false" |
no |
sqs4_max_message_size | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | string | "262144" |
no |
sqs4_name_override | define sqs4_name_override to set a name differnt from var.name | string | "" |
no |
sqs4_receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | string | "0" |
no |
sqs4_redrive_policy | The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string | "" |
no |
sqs4_visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | string | "30" |
no |
sqs5_delay_seconds | define sqs5_delay_seconds | string | "0" |
no |
sqs5_dlq_enabled | Set to false to prevent the module from creating any sqs-dql resources | string | "false" |
no |
sqs5_enabled | Set to false to prevent the module from creating any sqs resources | string | "false" |
no |
sqs5_fifo_queue | Boolean designating a FIFO queue | string | "false" |
no |
sqs5_max_message_size | The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days) | string | "262144" |
no |
sqs5_name_override | define sqs5_name_override to set a name differnt from var.name | string | "" |
no |
sqs5_receive_wait_time_seconds | The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds) | string | "0" |
no |
sqs5_redrive_policy | The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5") | string | "" |
no |
sqs5_visibility_timeout_seconds | The visibility timeout for the queue. An integer from 0 to 43200 (12 hours) | string | "30" |
no |
vpc_tag_filter | The map of tags to match the VPC tags with where the RDS or Redis or other networked AWS component of the Microservice resides | map | {} |
no |
Name | Description |
---|---|
dynamodb2_global_secondary_index_names | DynamoDB secondary index names |
dynamodb2_local_secondary_index_names | DynamoDB local index names |
dynamodb2_table_arn | DynamoDB table ARN |
dynamodb2_table_id | DynamoDB table ID |
dynamodb2_table_name | DynamoDB table name |
dynamodb2_table_stream_arn | DynamoDB table stream ARN |
dynamodb2_table_stream_label | DynamoDB table stream label |
dynamodb3_global_secondary_index_names | DynamoDB secondary index names |
dynamodb3_local_secondary_index_names | DynamoDB local index names |
dynamodb3_table_arn | DynamoDB table ARN |
dynamodb3_table_id | DynamoDB table ID |
dynamodb3_table_name | DynamoDB table name |
dynamodb3_table_stream_arn | DynamoDB table stream ARN |
dynamodb3_table_stream_label | DynamoDB table stream label |
dynamodb_global_secondary_index_names | DynamoDB secondary index names |
dynamodb_local_secondary_index_names | DynamoDB local index names |
dynamodb_table_arn | DynamoDB table ARN |
dynamodb_table_id | DynamoDB table ID |
dynamodb_table_name | DynamoDB table name |
dynamodb_table_stream_arn | DynamoDB table stream ARN |
dynamodb_table_stream_label | DynamoDB table stream label |
private_rds_endpoint_aws_route53_record | Private Redis cluster end-point address (should be used by the service) |
private_redis_endpoint_aws_route53_record | Private Redis cluster end-point address (should be used by the service) |
public_rds_endpoint_aws_route53_record | Public Redis cluster end-point address (should be used by the service) |
public_redis_endpoint_aws_route53_record | Public Redis cluster end-point address (should be used by the service) |
rds_this_db_instance_address | The address of the RDS instance |
rds_this_db_instance_arn | The ARN of the RDS instance |
rds_this_db_instance_availability_zone | The availability zone of the RDS instance |
rds_this_db_instance_endpoint | The connection endpoint |
rds_this_db_instance_hosted_zone_id | The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record) |
rds_this_db_instance_id | The RDS instance ID |
rds_this_db_instance_name | The database name |
rds_this_db_instance_password | The database password (this password may be old, because Terraform doesn't track it after initial creation) |
rds_this_db_instance_port | The database port |
rds_this_db_instance_resource_id | The RDS Resource ID of this instance |
rds_this_db_instance_status | The RDS instance status |
rds_this_db_instance_username | The master username for the database |
rds_this_db_parameter_group_arn | The ARN of the db parameter group |
rds_this_db_parameter_group_id | The db parameter group id |
rds_this_db_subnet_group_arn | The ARN of the db subnet group |
rds_this_db_subnet_group_id | The db subnet group name |
redis_port | Redis port |
sqs1_dlq_queue_arn | SQS queue ARN |
sqs1_queue_arn | SQS queue ARN |
sqs1_queue_id | SQS queue ID |
sqs1_queue_name | SQS queue name |
sqs2_dlq_queue_arn | SQS queue ARN |
sqs2_queue_arn | SQS queue ARN |
sqs2_queue_id | SQS queue ID |
sqs2_queue_name | SQS queue name |
sqs3_dlq_queue_arn | SQS queue ARN |
sqs3_queue_arn | SQS queue ARN |
sqs3_queue_id | SQS queue ID |
sqs3_queue_name | SQS queue name |
sqs4_dlq_queue_arn | SQS queue ARN |
sqs4_queue_arn | SQS queue ARN |
sqs4_queue_id | SQS queue ID |
sqs4_queue_name | SQS queue name |
sqs5_dlq_queue_arn | SQS queue ARN |
sqs5_queue_arn | SQS queue ARN |
sqs5_queue_id | SQS queue ID |
sqs5_queue_name | SQS queue name |
this_aws_iam_access_key | IAM Access Key of the created user |
this_aws_iam_access_key_secret | The secret key of the user |
this_aws_s3_bucket_arn | id of created S3 bucket |
this_aws_s3_bucket_id | id of created S3 bucket |
this_iam_role_arn | iam role arn |
this_iam_role_name | iam role name |
this_redis_replication_group_id | The AWS Elasticache replication group ID |
this_redis_replication_group_number_cache_clusters | The AWS Elasticache replication group number cache clusters |
this_redis_replication_group_replication_group_id | The AWS Elasticache replication group replication group ID |
this_redis_subnet_group_id | The AWS elasticache subnet group ID |
this_redis_subnet_group_name | The AWS elasticache subnet group name |
this_user_arn | ARN of the IAM user |
this_user_name | IAM user name |
Copyright (c) 2019 Flaconi GmbH