{"id":19508896,"url":"https://github.com/rhythmictech/terraform-aws-netbox","last_synced_at":"2026-03-19T10:12:12.723Z","repository":{"id":51669157,"uuid":"307855185","full_name":"rhythmictech/terraform-aws-netbox","owner":"rhythmictech","description":null,"archived":false,"fork":false,"pushed_at":"2021-05-10T19:34:37.000Z","size":49,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-12T09:47:32.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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}},"created_at":"2020-10-27T23:39:24.000Z","updated_at":"2023-02-14T09:57:48.000Z","dependencies_parsed_at":"2022-08-22T21:21:14.768Z","dependency_job_id":null,"html_url":"https://github.com/rhythmictech/terraform-aws-netbox","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rhythmictech/terraform-aws-netbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-netbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-netbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-netbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-netbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhythmictech","download_url":"https://codeload.github.com/rhythmictech/terraform-aws-netbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-netbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29952249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T18:42:55.706Z","status":"ssl_error","status_checked_at":"2026-02-28T18:42:48.811Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-10T23:10:19.090Z","updated_at":"2026-02-28T21:31:34.158Z","avatar_url":"https://github.com/rhythmictech.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-netbox\n\n[![tflint](https://github.com/rhythmictech/terraform-aws-netbox/workflows/tflint/badge.svg?branch=main\u0026event=push)](https://github.com/rhythmictech/terraform-aws-netbox/actions?query=workflow%3Atflint+event%3Apush+branch%3Amain)\n[![tfsec](https://github.com/rhythmictech/terraform-aws-netbox/workflows/tfsec/badge.svg?branch=main\u0026event=push)](https://github.com/rhythmictech/terraform-aws-netbox/actions?query=workflow%3Atfsec+event%3Apush+branch%3Amain)\n[![yamllint](https://github.com/rhythmictech/terraform-aws-netbox/workflows/yamllint/badge.svg?branch=main\u0026event=push)](https://github.com/rhythmictech/terraform-aws-netbox/actions?query=workflow%3Ayamllint+event%3Apush+branch%3Amain)\n[![misspell](https://github.com/rhythmictech/terraform-aws-netbox/workflows/misspell/badge.svg?branch=main\u0026event=push)](https://github.com/rhythmictech/terraform-aws-netbox/actions?query=workflow%3Amisspell+event%3Apush+branch%3Amain)\n[![pre-commit-check](https://github.com/rhythmictech/terraform-aws-netbox/workflows/pre-commit-check/badge.svg?branch=main\u0026event=push)](https://github.com/rhythmictech/terraform-aws-netbox/actions?query=workflow%3Apre-commit-check+event%3Apush+branch%3Amain)\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 [Netbox](github.com/netbox-community/) instance, optionally bootstrapping the configuration.\n\n## Example\n```hcl\nmodule \"netbox\" {\n  source = \"rhythmictech/netbox/aws\"\n\n  ami_id                         = \"ami-12345678\"\n  asg_subnets                     = [\"subnet-123456789\"]\n  db_instance_class              = \"db.t3.medium\"\n  db_storage_size                = 5\n  db_subnet_group                = \"database\"\n  dns_prefix                     = \"netbox\"\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                      = \"Netbox\"\n  vpc_id                         = \"vpc-123456789\"\n  zone_id                        = \"zone-123456789\"\n}\n```\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | \u003e= 0.13.0 |\n| aws | \u003e= 2.65 |\n| random | \u003e= 1.2 |\n| template | \u003e= 2.1 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| aws | \u003e= 2.65 |\n| template | \u003e= 2.1 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| ami\\_id | AMI to build on (must have `ansible-role-netbox` module installed) | `string` | n/a | yes |\n| asg\\_subnets | Subnets to associate ASG instances with | `list(string)` | n/a | yes |\n| db\\_storage\\_size | Size of DB (in GB) | `number` | n/a | yes |\n| db\\_subnet\\_group | Database subnet group | `string` | n/a | yes |\n| efs\\_subnets | Subnets to create EFS mountpoints in | `list(string)` | n/a | yes |\n| elb\\_certificate | ARN of certificate to associate with ELB | `string` | n/a | yes |\n| elb\\_subnets | Subnets to associate ELB to | `list(string)` | n/a | yes |\n| vpc\\_id | VPC to create associated resources in | `string` | n/a | yes |\n| asg\\_additional\\_iam\\_policies | Additional IAM policies to attach to the  ASG instance profile | `list(string)` | `[]` | no |\n| asg\\_additional\\_security\\_groups | Additional security group IDs to attach to ASG instances | `list(string)` | `[]` | no |\n| asg\\_additional\\_user\\_data | Additional User Data to attach to the launch template | `string` | `\"\"` | no |\n| asg\\_allow\\_outbound\\_egress | whether or not the default SG should allow outbound egress | `bool` | `true` | no |\n| asg\\_desired\\_capacity | The number of Amazon EC2 instances that should be running in the group. | `number` | `1` | no |\n| asg\\_instance\\_type | Instance type for app | `string` | `\"t3a.micro\"` | no |\n| asg\\_key\\_name | Optional ssh keypair to associate with instances | `string` | `null` | no |\n| asg\\_max\\_size | Maximum number of instances in the autoscaling group | `number` | `1` | no |\n| asg\\_min\\_size | Minimum number of instances in the autoscaling group | `number` | `1` | no |\n| asg\\_root\\_volume\\_size | size of root volume (includes app install but not data dir) | `number` | `20` | no |\n| asg\\_start\\_nginx | should nginx be started (must be started elsewhere in userdata otherwise or the ASG will kill the instance) | `bool` | `true` | no |\n| db\\_additional\\_security\\_groups | SGs permitted access to RDS | `list(string)` | `[]` | no |\n| db\\_allowed\\_access\\_cidrs | CIDRs permitted access to RDS | `list(string)` | `[]` | no |\n| db\\_backup\\_retention\\_period | Number of daily DB backups to retain | `number` | `7` | no |\n| db\\_engine\\_version | engine version to run (netbox at present requires \u003e= 9.6 and \u003c 11) | `string` | `\"11\"` | no |\n| db\\_instance\\_class | DB Instance Size | `string` | `\"db.t3.large\"` | no |\n| db\\_monitoring\\_interval | Enhanced monitoring interval (5-60 seconds, 0 to disable) | `number` | `0` | no |\n| db\\_monitoring\\_role\\_arn | IAM Role ARN for Database Monitoring permissions (required for performance insights) | `string` | `null` | no |\n| db\\_multi\\_az | If true, DB will be configured in multi-AZ mode | `bool` | `false` | no |\n| db\\_netbox\\_password\\_secret\\_arn | ARN for SecretsManager secret containing password for Netbox (leave blank to auto-generate) | `string` | `null` | no |\n| db\\_netbox\\_username | Database username for Netbox | `string` | `\"netbox\"` | no |\n| db\\_parameters | DB parameters (by default only sets utf8 as required) | \u003cpre\u003elist(object({\u003cbr\u003e    name  = string\u003cbr\u003e    value = string\u003cbr\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"name\": \"client_encoding\",\u003cbr\u003e    \"value\": \"UTF8\"\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n| db\\_password\\_version | Increment to force master user password change | `number` | `1` | no |\n| db\\_performance\\_insights\\_enabled | Whether or not to enable DB performance insights | `bool` | `false` | no |\n| db\\_vpc\\_id | VPC ID for database (if omitted, the value for `vpc_id` is used instead) | `string` | `null` | no |\n| dns\\_prefix | The hostname that will be used. 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| domain\\_name | domain name, which is only used if `zone_id` is not specified to compute the base url | `string` | `null` | no |\n| efs\\_additional\\_allowed\\_security\\_groups | Additional security group IDs to attach to the EFS export | `list(string)` | `[]` | no |\n| efs\\_backup\\_retain\\_days | Days to retain EFS backups for (only used if `enable_efs_backups=true`) | `number` | `30` | no |\n| efs\\_backup\\_schedule | AWS Backup cron schedule (only used if `enable_efs_backups=true`) | `string` | `\"cron(0 5 ? * * *)\"` | no |\n| efs\\_backup\\_vault\\_name | AWS Backup vault name (only used if `enable_efs_backups=true`) | `string` | `\"netbox-efs-vault\"` | no |\n| 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| 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| elb\\_deregistration\\_delay | The deregistration delay for the target group | `number` | `60` | no |\n| elb\\_healthcheck\\_healthy\\_threshold | Healthy threshold for ELB healthcheck | `number` | `2` | no |\n| elb\\_healthcheck\\_interval | Interval for ELB healthcheck | `number` | `15` | no |\n| elb\\_internal | Create as an internal or internet-facing ELB | `bool` | `true` | no |\n| elb\\_ssl\\_policy | SSL Policy to use (see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) | `string` | `\"ELBSecurityPolicy-FS-1-2-2019-08\"` | no |\n| enable\\_efs\\_backups | Enable EFS backups using AWS Backup (recommended if you aren't going to back up EFS some other way) | `bool` | `false` | no |\n| name | Moniker to apply to all resources in the module | `string` | `\"netbox\"` | no |\n| site\\_name | Site name | `string` | `\"Netbox\"` | no |\n| tags | User-Defined tags | `map(string)` | `{}` | no |\n| zone\\_id | Zone ID to make Route53 entry 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| db\\_instance\\_connection\\_info | DB Instance Connect Info (object) |\n| db\\_instance\\_id | DB Instance ID |\n| db\\_password\\_secretsmanager\\_arn | Secret ARN for DB password |\n| db\\_password\\_secretsmanager\\_version | Secret Version for DB password |\n| db\\_username | Master username |\n| elb\\_security\\_group\\_id | ARN of the ELB for Netbox access |\n| iam\\_role\\_arn | IAM Role ARN of Netbox instance |\n| lb\\_arn | ARN of the ELB for Netbox access |\n| lb\\_dns\\_name | DNS Name of the ELB for Netbox access |\n| lb\\_listener\\_arn | ARN of the ELB Listener for Netbox access |\n| lb\\_target\\_group\\_arn | ARN of the ELB Target Group for Netbox access |\n| lb\\_zone\\_id | Route53 Zone ID of the ELB for Netbox access |\n| url | Netbox Server URL |\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-netbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhythmictech%2Fterraform-aws-netbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-netbox/lists"}