{"id":19508841,"url":"https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket","last_synced_at":"2025-07-28T05:04:24.700Z","repository":{"id":47488467,"uuid":"277616738","full_name":"rhythmictech/terraform-aws-atlassian-bitbucket","owner":"rhythmictech","description":"Creates a Bitbucket EC2 instance and ELB","archived":false,"fork":false,"pushed_at":"2024-12-05T16:21:19.000Z","size":90,"stargazers_count":2,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-26T03:44:01.581Z","etag":null,"topics":["atlassian","aws","bitbucket","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/rhythmictech/atlassian-bitbucket/aws/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhythmictech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-06T18:17:29.000Z","updated_at":"2023-02-28T00:27:35.000Z","dependencies_parsed_at":"2025-04-26T03:41:55.151Z","dependency_job_id":null,"html_url":"https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":"rhythmictech/terraform-terraform-template","purl":"pkg:github/rhythmictech/terraform-aws-atlassian-bitbucket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-atlassian-bitbucket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-atlassian-bitbucket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-atlassian-bitbucket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-atlassian-bitbucket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhythmictech","download_url":"https://codeload.github.com/rhythmictech/terraform-aws-atlassian-bitbucket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-atlassian-bitbucket/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267464522,"owners_count":24091505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atlassian","aws","bitbucket","terraform","terraform-module"],"created_at":"2024-11-10T23:10:04.183Z","updated_at":"2025-07-28T05:04:24.672Z","avatar_url":"https://github.com/rhythmictech.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-atlassian-bitbucket\n\n[![tflint](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/workflows/tflint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/actions?query=workflow%3Atflint+event%3Apush+branch%3Amaster)\n[![tfsec](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/workflows/tfsec/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/actions?query=workflow%3Atfsec+event%3Apush+branch%3Amaster)\n[![yamllint](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/workflows/yamllint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/actions?query=workflow%3Ayamllint+event%3Apush+branch%3Amaster)\n[![misspell](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/workflows/misspell/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/actions?query=workflow%3Amisspell+event%3Apush+branch%3Amaster)\n[![pre-commit-check](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/workflows/pre-commit-check/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-atlassian-bitbucket/actions?query=workflow%3Apre-commit-check+event%3Apush+branch%3Amaster)\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=RhythmicTech\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/RhythmicTech?style=social\u0026logo=twitter\" alt=\"follow on Twitter\"\u003e\u003c/a\u003e\n\nCreates an Atlassian Bitbucket instance, optionally bootstrapping the configuration.\n\n## Example\n```hcl\nmodule \"bitbucket\" {\n  source = \"rhythmictech/atlassian-bitbucket/aws\"\n\n  admin_email                    = \"me@rhythmic.dev\"\n  admin_password                 = \"hunter2\"\n  ami_id                         = data.aws_ami.bitbucket.id\n  asg_additional_iam_policies    = [\"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore\"]\n  asg_instance_type              = \"m6g.large\"\n  asg_subnet                     = \"subnet-123456789\"\n  availability_zone              = \"us-east-1a\"\n  data_volume_size               = 50\n  db_instance_class              = \"db.m5.large\"\n  db_storage_size                = 50\n  db_subnet_group                = \"database\"\n  dns_prefix                     = \"bitbucket\"\n  elb_certificate                = \"arn:aws:acm:us-east-1:012345678901:certificate/618601f5-bf87-13d4-a0f6-8a243a54af93\"\n  elb_subnets                    = [\"subnet-123456789\", \"subnet-012345678\"]\n  site_name                      = \"Bitbucket Demo\"\n  vpc_id                         = \"vpc-123456789\"\n  zone_id                        = \"zone-123456789\"\n}\n```\n\n## About\nA bit about this module\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.12.19 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 5 |\n| \u003ca name=\"requirement_random\"\u003e\u003c/a\u003e [random](#requirement\\_random) | \u003e= 1.2 |\n| \u003ca name=\"requirement_template\"\u003e\u003c/a\u003e [template](#requirement\\_template) | \u003e= 2.1 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 3.39.0 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | 3.1.0 |\n| \u003ca name=\"provider_template\"\u003e\u003c/a\u003e [template](#provider\\_template) | 2.2.0 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_bitbucketdb\"\u003e\u003c/a\u003e [bitbucketdb](#module\\_bitbucketdb) | rhythmictech/rds-postgres/aws | ~\u003e 5.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_autoscaling_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group) | resource |\n| [aws_ebs_volume.data](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ebs_volume) | resource |\n| [aws_elb.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb) | resource |\n| [aws_iam_instance_profile.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource |\n| [aws_iam_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_role.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.additional](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_role_policy_attachment.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_launch_configuration.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration) | resource |\n| [aws_lb.https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb) | resource |\n| [aws_lb.ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb) | resource |\n| [aws_lb_listener.https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_listener.ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource |\n| [aws_lb_target_group.https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |\n| [aws_lb_target_group.ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_target_group) | resource |\n| [aws_route53_record.ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_route53_record.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_security_group.alb_https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group.elb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group_rule.alb_https_egress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.alb_https_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_all](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_inbound_from_lb_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_inbound_http_from_lb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_inbound_http_from_lb_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.elb_egress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.elb_egress_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.elb_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.elb_ingress_ssh](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [random_string.admin_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |\n| [aws_iam_policy_document.assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n| [aws_route53_zone.zone](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone) | data source |\n| [aws_secretsmanager_secret_version.dbpassword](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/secretsmanager_secret_version) | data source |\n| [template_cloudinit_config.this](https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_config) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_access_logs_bucket\"\u003e\u003c/a\u003e [access\\_logs\\_bucket](#input\\_access\\_logs\\_bucket) | The name of the bucket to store LB access logs in. Required if `access_logs_enabled` is `true` | `string` | `null` | no |\n| \u003ca name=\"input_access_logs_enabled\"\u003e\u003c/a\u003e [access\\_logs\\_enabled](#input\\_access\\_logs\\_enabled) | Whether to enable LB access logging | `bool` | `false` | no |\n| \u003ca name=\"input_access_logs_interval\"\u003e\u003c/a\u003e [access\\_logs\\_interval](#input\\_access\\_logs\\_interval) | The log publishing interval in minutes | `number` | `60` | no |\n| \u003ca name=\"input_access_logs_prefix\"\u003e\u003c/a\u003e [access\\_logs\\_prefix](#input\\_access\\_logs\\_prefix) | The path prefix to apply to the LB access logs. | `string` | `null` | no |\n| \u003ca name=\"input_admin_email\"\u003e\u003c/a\u003e [admin\\_email](#input\\_admin\\_email) | email address for administrator | `string` | n/a | yes |\n| \u003ca name=\"input_admin_password\"\u003e\u003c/a\u003e [admin\\_password](#input\\_admin\\_password) | initial password to use for administrator (only used when bootstrapping a new instance, otherwise ignored) | `string` | `null` | no |\n| \u003ca name=\"input_alb_additional_sg_tags\"\u003e\u003c/a\u003e [alb\\_additional\\_sg\\_tags](#input\\_alb\\_additional\\_sg\\_tags) | Additional tags to apply to the LB security group. Useful if you use an external process to manage ingress rules. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_alb_allowed_https_cidr_blocks\"\u003e\u003c/a\u003e [alb\\_allowed\\_https\\_cidr\\_blocks](#input\\_alb\\_allowed\\_https\\_cidr\\_blocks) | List of allowed CIDR blocks. If `[]` is specified, no inbound ingress rules will be created | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_alb_allowed_ssh_cidr_blocks\"\u003e\u003c/a\u003e [alb\\_allowed\\_ssh\\_cidr\\_blocks](#input\\_alb\\_allowed\\_ssh\\_cidr\\_blocks) | List of allowed CIDR blocks for SSH access. If `[]` is specified, no inbound ingress rules will be created | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_alb_certificate\"\u003e\u003c/a\u003e [alb\\_certificate](#input\\_alb\\_certificate) | ARN of certificate to associate with LB | `string` | n/a | yes |\n| \u003ca name=\"input_alb_https_internal\"\u003e\u003c/a\u003e [alb\\_https\\_internal](#input\\_alb\\_https\\_internal) | Create as an internal or internet-facing LB | `bool` | `true` | no |\n| \u003ca name=\"input_alb_https_port\"\u003e\u003c/a\u003e [alb\\_https\\_port](#input\\_alb\\_https\\_port) | Port that the Load Balancer for Bitbucket should listen for HTTPS on (Default is 443.) | `number` | `443` | no |\n| \u003ca name=\"input_alb_https_subnets\"\u003e\u003c/a\u003e [alb\\_https\\_subnets](#input\\_alb\\_https\\_subnets) | Subnets to associate HTTPS LB to | `list(string)` | n/a | yes |\n| \u003ca name=\"input_alb_ssh_internal\"\u003e\u003c/a\u003e [alb\\_ssh\\_internal](#input\\_alb\\_ssh\\_internal) | Create as an internal or internet-facing LB for SSH | `bool` | `true` | no |\n| \u003ca name=\"input_alb_ssh_port\"\u003e\u003c/a\u003e [alb\\_ssh\\_port](#input\\_alb\\_ssh\\_port) | Port that the Load Balancer for Bitbucket should listen for SSH on (Default is 22.) | `number` | `22` | no |\n| \u003ca name=\"input_alb_ssh_subnets\"\u003e\u003c/a\u003e [alb\\_ssh\\_subnets](#input\\_alb\\_ssh\\_subnets) | Subnets to associate SSH LB to | `list(string)` | `null` | no |\n| \u003ca name=\"input_alb_ssl_policy\"\u003e\u003c/a\u003e [alb\\_ssl\\_policy](#input\\_alb\\_ssl\\_policy) | SSL policy for ALB | `string` | `\"ELBSecurityPolicy-TLS-1-2-2017-01\"` | no |\n| \u003ca name=\"input_ami_id\"\u003e\u003c/a\u003e [ami\\_id](#input\\_ami\\_id) | AMI to build on (must have `ansible-role-atlassian-bitbucket` module installed) | `string` | n/a | yes |\n| \u003ca name=\"input_asg_additional_iam_policies\"\u003e\u003c/a\u003e [asg\\_additional\\_iam\\_policies](#input\\_asg\\_additional\\_iam\\_policies) | Additional IAM policies to attach to the  ASG instance profile | `list(string)` | `[]` | no |\n| \u003ca name=\"input_asg_additional_security_groups\"\u003e\u003c/a\u003e [asg\\_additional\\_security\\_groups](#input\\_asg\\_additional\\_security\\_groups) | Additional security group IDs to attach to ASG instances | `list(string)` | `[]` | no |\n| \u003ca name=\"input_asg_additional_user_data\"\u003e\u003c/a\u003e [asg\\_additional\\_user\\_data](#input\\_asg\\_additional\\_user\\_data) | Additional User Data to attach to the launch template | `string` | `\"\"` | no |\n| \u003ca name=\"input_asg_allow_outbound_egress\"\u003e\u003c/a\u003e [asg\\_allow\\_outbound\\_egress](#input\\_asg\\_allow\\_outbound\\_egress) | whether or not the default SG should allow outbound egress | `bool` | `true` | no |\n| \u003ca name=\"input_asg_desired_capacity\"\u003e\u003c/a\u003e [asg\\_desired\\_capacity](#input\\_asg\\_desired\\_capacity) | The number of Amazon EC2 instances that should be running in the group. | `number` | `1` | no |\n| \u003ca name=\"input_asg_instance_type\"\u003e\u003c/a\u003e [asg\\_instance\\_type](#input\\_asg\\_instance\\_type) | Instance type for app | `string` | `\"t3a.micro\"` | no |\n| \u003ca name=\"input_asg_key_name\"\u003e\u003c/a\u003e [asg\\_key\\_name](#input\\_asg\\_key\\_name) | Optional ssh keypair to associate with instances | `string` | `null` | no |\n| \u003ca name=\"input_asg_max_size\"\u003e\u003c/a\u003e [asg\\_max\\_size](#input\\_asg\\_max\\_size) | Maximum number of instances in the autoscaling group | `number` | `1` | no |\n| \u003ca name=\"input_asg_min_size\"\u003e\u003c/a\u003e [asg\\_min\\_size](#input\\_asg\\_min\\_size) | Minimum number of instances in the autoscaling group | `number` | `1` | no |\n| \u003ca name=\"input_asg_root_volume_size\"\u003e\u003c/a\u003e [asg\\_root\\_volume\\_size](#input\\_asg\\_root\\_volume\\_size) | size of root volume (includes app install but not data dir) | `number` | `20` | no |\n| \u003ca name=\"input_asg_subnet\"\u003e\u003c/a\u003e [asg\\_subnet](#input\\_asg\\_subnet) | Subnet to associate ASG instances with (specify no more than 1) | `string` | n/a | yes |\n| \u003ca name=\"input_availability_zone\"\u003e\u003c/a\u003e [availability\\_zone](#input\\_availability\\_zone) | Specify the availability zone that the instance will be deployed in. Because Bitbucket requires an EBS volume for data and can't use EFS, the value of `availability_zone` must match the AZ associated with the value of `asg_subnet`. | `string` | n/a | yes |\n| \u003ca name=\"input_create_alb\"\u003e\u003c/a\u003e [create\\_alb](#input\\_create\\_alb) | Create an ALB. This will by requirement create an NLB for SSH access on a separate address. | `bool` | `false` | no |\n| \u003ca name=\"input_data_volume_size\"\u003e\u003c/a\u003e [data\\_volume\\_size](#input\\_data\\_volume\\_size) | Size in GB of the data volume | `number` | n/a | yes |\n| \u003ca name=\"input_db_additional_security_groups\"\u003e\u003c/a\u003e [db\\_additional\\_security\\_groups](#input\\_db\\_additional\\_security\\_groups) | SGs permitted access to RDS | `list(string)` | `[]` | no |\n| \u003ca name=\"input_db_allowed_access_cidrs\"\u003e\u003c/a\u003e [db\\_allowed\\_access\\_cidrs](#input\\_db\\_allowed\\_access\\_cidrs) | CIDRs permitted access to RDS | `list(string)` | `[]` | no |\n| \u003ca name=\"input_db_engine_version\"\u003e\u003c/a\u003e [db\\_engine\\_version](#input\\_db\\_engine\\_version) | engine version to run | `string` | `\"11\"` | no |\n| \u003ca name=\"input_db_instance_class\"\u003e\u003c/a\u003e [db\\_instance\\_class](#input\\_db\\_instance\\_class) | DB Instance Size | `string` | `\"db.t3.large\"` | no |\n| \u003ca name=\"input_db_monitoring_interval\"\u003e\u003c/a\u003e [db\\_monitoring\\_interval](#input\\_db\\_monitoring\\_interval) | Enhanced monitoring interval (5-60 seconds, 0 to disable) | `number` | `0` | no |\n| \u003ca name=\"input_db_monitoring_role_arn\"\u003e\u003c/a\u003e [db\\_monitoring\\_role\\_arn](#input\\_db\\_monitoring\\_role\\_arn) | IAM Role ARN for Database Monitoring permissions (if `db_monitoring_interval \u003e 0` and this is omitted, a role will be created automatically) | `string` | `null` | no |\n| \u003ca name=\"input_db_multi_az\"\u003e\u003c/a\u003e [db\\_multi\\_az](#input\\_db\\_multi\\_az) | If true, DB will be configured in multi-AZ mode | `bool` | `false` | no |\n| \u003ca name=\"input_db_parameters\"\u003e\u003c/a\u003e [db\\_parameters](#input\\_db\\_parameters) | DB parameters (by default only sets utf8 as required by Bitbucket) | \u003cpre\u003elist(object({\u003cbr\u003e    apply_method = string\u003cbr\u003e    name         = string\u003cbr\u003e    value        = string\u003cbr\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"apply_method\": \"immediate\",\u003cbr\u003e    \"name\": \"client_encoding\",\u003cbr\u003e    \"value\": \"UTF8\"\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_db_password_version\"\u003e\u003c/a\u003e [db\\_password\\_version](#input\\_db\\_password\\_version) | Increment to force master user password change | `number` | `1` | no |\n| \u003ca name=\"input_db_performance_insights_enabled\"\u003e\u003c/a\u003e [db\\_performance\\_insights\\_enabled](#input\\_db\\_performance\\_insights\\_enabled) | Whether or not to enable DB performance insights | `bool` | `false` | no |\n| \u003ca name=\"input_db_storage_size\"\u003e\u003c/a\u003e [db\\_storage\\_size](#input\\_db\\_storage\\_size) | Size of DB (in GB) | `number` | n/a | yes |\n| \u003ca name=\"input_db_subnet_group\"\u003e\u003c/a\u003e [db\\_subnet\\_group](#input\\_db\\_subnet\\_group) | Database subnet group | `string` | n/a | yes |\n| \u003ca name=\"input_db_vpc_id\"\u003e\u003c/a\u003e [db\\_vpc\\_id](#input\\_db\\_vpc\\_id) | VPC ID for database (if omitted, the value for `vpc_id` is used instead) | `string` | `null` | no |\n| \u003ca name=\"input_dns_prefix\"\u003e\u003c/a\u003e [dns\\_prefix](#input\\_dns\\_prefix) | Hostname that will be used for bitbucket. This will be combined with the domain in `zone_id` or the value of `domain_name` to form the base url. | `string` | `null` | no |\n| \u003ca name=\"input_dns_ssh_prefix\"\u003e\u003c/a\u003e [dns\\_ssh\\_prefix](#input\\_dns\\_ssh\\_prefix) | Hostname that will be used for bitbucket SSH access. This is only used when `create_alb == true` | `string` | `null` | no |\n| \u003ca name=\"input_domain_name\"\u003e\u003c/a\u003e [domain\\_name](#input\\_domain\\_name) | domain name, which is only used if `zone_id` is not specified to compute the base url | `string` | `null` | no |\n| \u003ca name=\"input_elb_additional_sg_tags\"\u003e\u003c/a\u003e [elb\\_additional\\_sg\\_tags](#input\\_elb\\_additional\\_sg\\_tags) | Additional tags to apply to the ELB security group. Useful if you use an external process to manage ingress rules. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_elb_allowed_cidr_blocks\"\u003e\u003c/a\u003e [elb\\_allowed\\_cidr\\_blocks](#input\\_elb\\_allowed\\_cidr\\_blocks) | List of allowed CIDR blocks. If `[]` is specified, no inbound ingress rules will be created | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_elb_certificate\"\u003e\u003c/a\u003e [elb\\_certificate](#input\\_elb\\_certificate) | ARN of certificate to associate with ELB | `string` | `null` | no |\n| \u003ca name=\"input_elb_internal\"\u003e\u003c/a\u003e [elb\\_internal](#input\\_elb\\_internal) | Create as an internal or internet-facing ELB | `bool` | `true` | no |\n| \u003ca name=\"input_elb_port\"\u003e\u003c/a\u003e [elb\\_port](#input\\_elb\\_port) | Port that the Elastic Load Balancer for Bitbucket should listen for HTTPS on (Default is 443.) | `number` | `443` | no |\n| \u003ca name=\"input_elb_ssh_port\"\u003e\u003c/a\u003e [elb\\_ssh\\_port](#input\\_elb\\_ssh\\_port) | Port that the Elastic Load Balancer for Bitbucket should listen for SSH on (Default is 22.) | `number` | `22` | no |\n| \u003ca name=\"input_elb_subnets\"\u003e\u003c/a\u003e [elb\\_subnets](#input\\_elb\\_subnets) | Subnets to associate ELB to | `list(string)` | `null` | no |\n| \u003ca name=\"input_license_key\"\u003e\u003c/a\u003e [license\\_key](#input\\_license\\_key) | Bitbucket license key (optional, must be a single line) | `string` | `\"\"` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Moniker to apply to all resources in the module | `string` | `\"bitbucket\"` | no |\n| \u003ca name=\"input_site_name\"\u003e\u003c/a\u003e [site\\_name](#input\\_site\\_name) | Bitbucket site name | `string` | `\"Bitbucket\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | User-Defined tags | `map(string)` | `{}` | no |\n| \u003ca name=\"input_volume_key\"\u003e\u003c/a\u003e [volume\\_key](#input\\_volume\\_key) | This value is set to a key on the EBS volume and must be present for the bitbucket instance to be permitted to attach it. | `string` | `\"bitbucket-volume\"` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | VPC to create associated resources in | `string` | n/a | yes |\n| \u003ca name=\"input_zone_id\"\u003e\u003c/a\u003e [zone\\_id](#input\\_zone\\_id) | Zone ID to make Route53 entry for bitbucket in. If not specified, `domain_name` must be specified so that the base URL can be determined. | `string` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_asg_arn\"\u003e\u003c/a\u003e [asg\\_arn](#output\\_asg\\_arn) | ARN of the ASG for the Bitbucket instance |\n| \u003ca name=\"output_asg_id\"\u003e\u003c/a\u003e [asg\\_id](#output\\_asg\\_id) | ID of the ASG for the Bitbucket instance |\n| \u003ca name=\"output_asg_name\"\u003e\u003c/a\u003e [asg\\_name](#output\\_asg\\_name) | Name of the ASG for the Bitbucket instance |\n| \u003ca name=\"output_db_instance_connection_info\"\u003e\u003c/a\u003e [db\\_instance\\_connection\\_info](#output\\_db\\_instance\\_connection\\_info) | DB Instance Connect Info (object) |\n| \u003ca name=\"output_db_instance_id\"\u003e\u003c/a\u003e [db\\_instance\\_id](#output\\_db\\_instance\\_id) | DB Instance ID |\n| \u003ca name=\"output_db_password_secretsmanager_arn\"\u003e\u003c/a\u003e [db\\_password\\_secretsmanager\\_arn](#output\\_db\\_password\\_secretsmanager\\_arn) | Secret ARN for DB password |\n| \u003ca name=\"output_db_password_secretsmanager_version\"\u003e\u003c/a\u003e [db\\_password\\_secretsmanager\\_version](#output\\_db\\_password\\_secretsmanager\\_version) | Secret Version for DB password |\n| \u003ca name=\"output_db_username\"\u003e\u003c/a\u003e [db\\_username](#output\\_db\\_username) | Master username |\n| \u003ca name=\"output_iam_role_arn\"\u003e\u003c/a\u003e [iam\\_role\\_arn](#output\\_iam\\_role\\_arn) | IAM Role ARN of Bitbucket instance |\n| \u003ca name=\"output_lb_arn\"\u003e\u003c/a\u003e [lb\\_arn](#output\\_lb\\_arn) | ARN of the ELB for Bitbucket access (HTTPS when ALB is used) |\n| \u003ca name=\"output_lb_dns_name\"\u003e\u003c/a\u003e [lb\\_dns\\_name](#output\\_lb\\_dns\\_name) | DNS Name of the ELB for Bitbucket access |\n| \u003ca name=\"output_lb_zone_id\"\u003e\u003c/a\u003e [lb\\_zone\\_id](#output\\_lb\\_zone\\_id) | Route53 Zone ID of the ELB for Bitbucket access |\n| \u003ca name=\"output_ssh_lb_arn\"\u003e\u003c/a\u003e [ssh\\_lb\\_arn](#output\\_ssh\\_lb\\_arn) | ARN of the LB for Bitbucket SSH access (only valid when ALB is used) |\n| \u003ca name=\"output_ssh_lb_dns_name\"\u003e\u003c/a\u003e [ssh\\_lb\\_dns\\_name](#output\\_ssh\\_lb\\_dns\\_name) | DNS Name of the LB for Bitbucket access (only valid when ALB is used) |\n| \u003ca name=\"output_ssh_lb_zone_id\"\u003e\u003c/a\u003e [ssh\\_lb\\_zone\\_id](#output\\_ssh\\_lb\\_zone\\_id) | Route53 Zone ID of the LB for Bitbucket SSH access |\n| \u003ca name=\"output_url\"\u003e\u003c/a\u003e [url](#output\\_url) | Bitbucket Server URL |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## The Giants Underneath this Module\n- [pre-commit.com](pre-commit.com)\n- [terraform.io](terraform.io)\n- [github.com/tfutils/tfenv](github.com/tfutils/tfenv)\n- [github.com/segmentio/terraform-docs](github.com/segmentio/terraform-docs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-atlassian-bitbucket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhythmictech%2Fterraform-aws-atlassian-bitbucket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-atlassian-bitbucket/lists"}