{"id":40842682,"url":"https://github.com/opszero/terraform-aws-security-group","last_synced_at":"2026-01-21T23:07:37.032Z","repository":{"id":321482266,"uuid":"1062328929","full_name":"opszero/terraform-aws-security-group","owner":"opszero","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-07T05:01:17.000Z","size":46,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-07T07:05:38.050Z","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opszero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["abhiyerra"],"custom":["https://www.opszero.com"]}},"created_at":"2025-09-23T05:49:45.000Z","updated_at":"2025-11-07T05:01:20.000Z","dependencies_parsed_at":"2025-10-29T22:33:44.592Z","dependency_job_id":null,"html_url":"https://github.com/opszero/terraform-aws-security-group","commit_stats":null,"previous_names":["opszero/terraform-aws-security-group"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/opszero/terraform-aws-security-group","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-security-group","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-security-group/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-security-group/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-security-group/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opszero","download_url":"https://codeload.github.com/opszero/terraform-aws-security-group/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-security-group/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28646731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"2026-01-21T23:07:36.142Z","updated_at":"2026-01-21T23:07:37.027Z","avatar_url":"https://github.com/opszero.png","language":"HCL","funding_links":["https://github.com/sponsors/abhiyerra","https://www.opszero.com"],"categories":[],"sub_categories":[],"readme":"# Terraform-aws-security-group\n\n# Terraform AWS Cloud Security-Group Module\n\n## Table of Contents\n- [Introduction](#introduction)\n- [Usage](#usage)\n- [Examples](#Examples)\n- [Author](#Author)\n- [License](#license)\n- [Inputs](#inputs)\n- [Outputs](#outputs)\n\n## Introduction\nThis Terraform module creates an AWS security-group along with additional configuration options.\n## Usage\nTo use this module, you can include it in your Terraform configuration. Here's an example of how to use it:\n\n## Examples\n\n## Example: Basic\n\n```hcl\nmodule \"security_group\" {\n  source      = \"git::https://github.com/opszero/terraform-aws-security-group.git?ref=v1.0.0\"\n  name        = \"app\"\n  vpc_id      = module.vpc.vpc_id\n\n  ## INGRESS Rules\n  new_sg_ingress_rules_with_cidr_blocks = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"172.18.0.0/16\"]\n    description = \"Allow ssh traffic.\"\n  },\n    {\n      rule_count  = 2\n      from_port   = 27017\n      to_port     = 27017\n      protocol    = \"tcp\"\n      cidr_blocks = [\"172.18.0.0/16\"]\n      description = \"Allow Mongodb traffic.\"\n    }\n  ]\n}\n```\n\n## Example: Complete\n```hcl\nmodule \"security_group\" {\n  source      = \"git::https://github.com/opszero/terraform-aws-security-group.git?ref=v1.0.0\"\n  name        = \"aap\"\n  vpc_id      = module.vpc.vpc_id\n\n  ## INGRESS Rules\n  new_sg_ingress_rules_with_cidr_blocks = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"172.16.0.0/16\"]\n    description = \"Allow ssh traffic.\"\n  },\n    {\n      rule_count  = 2\n      from_port   = 27017\n      to_port     = 27017\n      protocol    = \"tcp\"\n      cidr_blocks = [\"172.16.0.0/16\"]\n      description = \"Allow Mongodb traffic.\"\n    }\n  ]\n\n  new_sg_ingress_rules_with_self = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    description = \"Allow ssh traffic.\"\n  },\n    {\n      rule_count  = 2\n      from_port   = 443\n      to_port     = 443\n      protocol    = \"tcp\"\n      description = \"Allow Mongodbn traffic.\"\n    }\n  ]\n}\n```\n\n## Example: Only_rules\n\n```hcl\nmodule \"security_group_rules\" {\n  source         = \"git::https://github.com/opszero/terraform-aws-security-group.git?ref=v1.0.0\"\n  name           = \"app\"\n  vpc_id         = module.vpc.vpc_id\n  new_sg         = false\n  existing_sg_id = \"sg-0092e77f40ba8e3ee\"\n\n  ## INGRESS Rules\n  existing_sg_ingress_rules_with_cidr_blocks = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"10.9.0.0/16\"]\n    description = \"Allow ssh traffic.\"\n  },\n    {\n      rule_count  = 2\n      from_port   = 27017\n      to_port     = 27017\n      protocol    = \"tcp\"\n      cidr_blocks = [\"10.9.0.0/16\"]\n      description = \"Allow Mongodb traffic.\"\n    }\n  ]\n\n  ## EGRESS Rules\n  existing_sg_egress_rules_with_cidr_blocks = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"10.9.0.0/16\"]\n    description = \"Allow ssh outbound traffic.\"\n  },\n    {\n      rule_count  = 2\n      from_port   = 27017\n      to_port     = 27017\n      protocol    = \"tcp\"\n      cidr_blocks = [\"10.9.0.0/16\"]\n      description = \"Allow Mongodb outbound traffic.\"\n    }]\n\n}\n```\n\n## Example: Prefix_list\n\n```hcl\nmodule \"security_group\" {\n  source              = \"git::https://github.com/opszero/terraform-aws-security-group.git?ref=v1.0.0\"\n  name                = \"app\"\n  vpc_id              = module.vpc.vpc_id\n  prefix_list_enabled = true\n  entry = [{\n    cidr = \"10.19.0.0/16\"\n  }]\n\n  ## INGRESS Rules\n  new_sg_ingress_rules_with_prefix_list = [{\n    rule_count  = 1\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    description = \"Allow ssh traffic.\"\n  }\n  ]\n\n  ## EGRESS Rules\n  new_sg_egress_rules_with_prefix_list = [{\n    rule_count  = 1\n    from_port   = 3306\n    to_port     = 3306\n    protocol    = \"tcp\"\n    description = \"Allow mysql/aurora outbound traffic.\"\n  }\n  ]\n}\n```\n\n## Examples\nFor detailed examples on how to use this module, please refer to the [Examples](https://github.com/opszero/terraform-aws-security-group/tree/master/example) directory within this repository.\n\n## Author\nYour Name Replace **MIT** and **opsZero** with the appropriate license and your information. Feel free to expand this README with additional details or usage instructions as needed for your specific use case.\n\n## License\nThis project is licensed under the **MIT** License - see the [LICENSE](https://github.com/opszero/terraform-aws-security-group/blob/master/LICENSE) file for details.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 6.14.0 |\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_create_timeout\"\u003e\u003c/a\u003e [create\\_timeout](#input\\_create\\_timeout) | Timeout for creating the security group | `string` | `\"10m\"` | no |\n| \u003ca name=\"input_delete_timeout\"\u003e\u003c/a\u003e [delete\\_timeout](#input\\_delete\\_timeout) | Timeout for deleting the security group | `string` | `\"10m\"` | no |\n| \u003ca name=\"input_enabled\"\u003e\u003c/a\u003e [enabled](#input\\_enabled) | Flag to control module creation. | `bool` | `true` | no |\n| \u003ca name=\"input_entry\"\u003e\u003c/a\u003e [entry](#input\\_entry) | Can be specified multiple times for each prefix list entry. | `list(any)` | `[]` | no |\n| \u003ca name=\"input_existing_sg_egress_rules_with_cidr_blocks\"\u003e\u003c/a\u003e [existing\\_sg\\_egress\\_rules\\_with\\_cidr\\_blocks](#input\\_existing\\_sg\\_egress\\_rules\\_with\\_cidr\\_blocks) | Ingress rules with only cidr block. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_egress_rules_with_prefix_list\"\u003e\u003c/a\u003e [existing\\_sg\\_egress\\_rules\\_with\\_prefix\\_list](#input\\_existing\\_sg\\_egress\\_rules\\_with\\_prefix\\_list) | Egress rules with only prefic ist ids. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_egress_rules_with_self\"\u003e\u003c/a\u003e [existing\\_sg\\_egress\\_rules\\_with\\_self](#input\\_existing\\_sg\\_egress\\_rules\\_with\\_self) | Egress rules with only self. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_egress_rules_with_source_sg_id\"\u003e\u003c/a\u003e [existing\\_sg\\_egress\\_rules\\_with\\_source\\_sg\\_id](#input\\_existing\\_sg\\_egress\\_rules\\_with\\_source\\_sg\\_id) | Egress rules with only source security group id. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_id\"\u003e\u003c/a\u003e [existing\\_sg\\_id](#input\\_existing\\_sg\\_id) | Provide existing security group id for updating existing rule | `string` | `null` | no |\n| \u003ca name=\"input_existing_sg_ingress_rules_with_cidr_blocks\"\u003e\u003c/a\u003e [existing\\_sg\\_ingress\\_rules\\_with\\_cidr\\_blocks](#input\\_existing\\_sg\\_ingress\\_rules\\_with\\_cidr\\_blocks) | Ingress rules with only cidr blocks. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_ingress_rules_with_prefix_list\"\u003e\u003c/a\u003e [existing\\_sg\\_ingress\\_rules\\_with\\_prefix\\_list](#input\\_existing\\_sg\\_ingress\\_rules\\_with\\_prefix\\_list) | Ingress rules with only prefix\\_list. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_ingress_rules_with_self\"\u003e\u003c/a\u003e [existing\\_sg\\_ingress\\_rules\\_with\\_self](#input\\_existing\\_sg\\_ingress\\_rules\\_with\\_self) | Ingress rules with only source security group id. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_existing_sg_ingress_rules_with_source_sg_id\"\u003e\u003c/a\u003e [existing\\_sg\\_ingress\\_rules\\_with\\_source\\_sg\\_id](#input\\_existing\\_sg\\_ingress\\_rules\\_with\\_source\\_sg\\_id) | Ingress rules with only prefix list ids. Should be used when there is existing security group. | `any` | `{}` | no |\n| \u003ca name=\"input_max_entries\"\u003e\u003c/a\u003e [max\\_entries](#input\\_max\\_entries) | The maximum number of entries that this prefix list can contain. | `number` | `5` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name  (e.g. `app` or `cluster`). | `string` | `\"\"` | no |\n| \u003ca name=\"input_new_sg\"\u003e\u003c/a\u003e [new\\_sg](#input\\_new\\_sg) | Flag to control creation of new security group. | `bool` | `true` | no |\n| \u003ca name=\"input_new_sg_egress_rules_with_cidr_blocks\"\u003e\u003c/a\u003e [new\\_sg\\_egress\\_rules\\_with\\_cidr\\_blocks](#input\\_new\\_sg\\_egress\\_rules\\_with\\_cidr\\_blocks) | n/a | \u003cpre\u003elist(object({\u003cbr/\u003e    rule_count       = number\u003cbr/\u003e    from_port        = number\u003cbr/\u003e    to_port          = number\u003cbr/\u003e    protocol         = string\u003cbr/\u003e    cidr_blocks      = optional(list(string))\u003cbr/\u003e    ipv6_cidr_blocks = optional(list(string))\u003cbr/\u003e    description      = string\u003cbr/\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr/\u003e  {\u003cbr/\u003e    \"cidr_blocks\": [\u003cbr/\u003e      \"0.0.0.0/0\"\u003cbr/\u003e    ],\u003cbr/\u003e    \"description\": \"Allow all outbound traffic.\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"ipv6_cidr_blocks\": [\u003cbr/\u003e      \"::/0\"\u003cbr/\u003e    ],\u003cbr/\u003e    \"protocol\": \"-1\",\u003cbr/\u003e    \"rule_count\": 1,\u003cbr/\u003e    \"to_port\": 0\u003cbr/\u003e  }\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_new_sg_egress_rules_with_prefix_list\"\u003e\u003c/a\u003e [new\\_sg\\_egress\\_rules\\_with\\_prefix\\_list](#input\\_new\\_sg\\_egress\\_rules\\_with\\_prefix\\_list) | Egress rules with only prefix list ids. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_egress_rules_with_self\"\u003e\u003c/a\u003e [new\\_sg\\_egress\\_rules\\_with\\_self](#input\\_new\\_sg\\_egress\\_rules\\_with\\_self) | Egress rules with only self. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_egress_rules_with_source_sg_id\"\u003e\u003c/a\u003e [new\\_sg\\_egress\\_rules\\_with\\_source\\_sg\\_id](#input\\_new\\_sg\\_egress\\_rules\\_with\\_source\\_sg\\_id) | Egress rules with only source security group id. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_ingress_rules_with_cidr_blocks\"\u003e\u003c/a\u003e [new\\_sg\\_ingress\\_rules\\_with\\_cidr\\_blocks](#input\\_new\\_sg\\_ingress\\_rules\\_with\\_cidr\\_blocks) | Ingress rules with only cidr blocks. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_ingress_rules_with_prefix_list\"\u003e\u003c/a\u003e [new\\_sg\\_ingress\\_rules\\_with\\_prefix\\_list](#input\\_new\\_sg\\_ingress\\_rules\\_with\\_prefix\\_list) | Ingress rules with only prefix list ids. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_ingress_rules_with_self\"\u003e\u003c/a\u003e [new\\_sg\\_ingress\\_rules\\_with\\_self](#input\\_new\\_sg\\_ingress\\_rules\\_with\\_self) | Ingress rules with only self. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_new_sg_ingress_rules_with_source_sg_id\"\u003e\u003c/a\u003e [new\\_sg\\_ingress\\_rules\\_with\\_source\\_sg\\_id](#input\\_new\\_sg\\_ingress\\_rules\\_with\\_source\\_sg\\_id) | Ingress rules with only source security group id. Should be used when new security group is been deployed. | `any` | `{}` | no |\n| \u003ca name=\"input_prefix_list_address_family\"\u003e\u003c/a\u003e [prefix\\_list\\_address\\_family](#input\\_prefix\\_list\\_address\\_family) | (Required, Forces new resource) The address family (IPv4 or IPv6) of prefix list. | `string` | `\"IPv4\"` | no |\n| \u003ca name=\"input_prefix_list_enabled\"\u003e\u003c/a\u003e [prefix\\_list\\_enabled](#input\\_prefix\\_list\\_enabled) | Enable prefix\\_list. | `bool` | `false` | no |\n| \u003ca name=\"input_prefix_list_ids\"\u003e\u003c/a\u003e [prefix\\_list\\_ids](#input\\_prefix\\_list\\_ids) | The ID of the prefix list. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_sg_description\"\u003e\u003c/a\u003e [sg\\_description](#input\\_sg\\_description) | Security group description. Defaults to Managed by Terraform. Cannot be empty string. NOTE: This field maps to the AWS GroupDescription attribute, for which there is no Update API. If you'd like to classify your security groups in a way that can be updated, use tags. | `string` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Additional tags to apply to the security group | `map(string)` | `{}` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The ID of the VPC that the instance security group belongs to. | `string` | `\"\"` | no |\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_ec2_managed_prefix_list.prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ec2_managed_prefix_list) | resource |\n| [aws_security_group.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group_rule.existing_sg_egress_with_cidr_blocks](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_egress_with_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_egress_with_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_egress_with_source_sg_id](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_ingress_cidr_blocks](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_ingress_with_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_ingress_with_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.existing_sg_ingress_with_source_sg_id](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_egress_with_cidr_blocks](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_egress_with_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_egress_with_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_egress_with_source_sg_id](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_ingress_with_cidr_blocks](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_ingress_with_prefix_list](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_ingress_with_self](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.new_sg_ingress_with_source_sg_id](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group.existing](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/security_group) | data source |\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_existing_security_group\"\u003e\u003c/a\u003e [existing\\_security\\_group](#output\\_existing\\_security\\_group) | n/a |\n| \u003ca name=\"output_existing_sg\"\u003e\u003c/a\u003e [existing\\_sg](#output\\_existing\\_sg) | This outputs the existing security group ID to verify it is correct. |\n| \u003ca name=\"output_prefix_list_arn\"\u003e\u003c/a\u003e [prefix\\_list\\_arn](#output\\_prefix\\_list\\_arn) | The Amazon Resource Name (ARN) of the prefix list. |\n| \u003ca name=\"output_prefix_list_id\"\u003e\u003c/a\u003e [prefix\\_list\\_id](#output\\_prefix\\_list\\_id) | The ID of the prefix list. |\n| \u003ca name=\"output_prefix_list_owner_id\"\u003e\u003c/a\u003e [prefix\\_list\\_owner\\_id](#output\\_prefix\\_list\\_owner\\_id) | The ID of the AWS account that owns the prefix list. |\n| \u003ca name=\"output_security_group_arn\"\u003e\u003c/a\u003e [security\\_group\\_arn](#output\\_security\\_group\\_arn) | IDs on the AWS Security Groups associated with the instance. |\n| \u003ca name=\"output_security_group_id\"\u003e\u003c/a\u003e [security\\_group\\_id](#output\\_security\\_group\\_id) | IDs on the AWS Security Groups associated with the instance. |\n| \u003ca name=\"output_security_group_tags\"\u003e\u003c/a\u003e [security\\_group\\_tags](#output\\_security\\_group\\_tags) | A mapping of public tags to assign to the resource. |\n# 🚀 Built by opsZero!\n\n\u003ca href=\"https://opszero.com\"\u003e\u003cimg src=\"https://opszero.com/img/common/opsZero-Logo-Large.webp\" width=\"300px\"/\u003e\u003c/a\u003e\n\n[opsZero](https://opszero.com) provides software and consulting for Cloud + AI. With our decade plus of experience scaling some of the world’s most innovative companies we have developed deep expertise in Kubernetes, DevOps, FinOps, and Compliance.\n\nOur software and consulting solutions enable organizations to:\n\n- migrate workloads to the Cloud\n- setup compliance frameworks including SOC2, HIPAA, PCI-DSS, ITAR, FedRamp, CMMC, and more.\n- FinOps solutions to reduce the cost of running Cloud workloads\n- Kubernetes optimized for web scale and AI workloads\n- finding underutilized Cloud resources\n- setting up custom AI training and delivery\n- building data integrations and scrapers\n- modernizing onto modern ARM based processors\n\nWe do this with a high-touch support model where you:\n\n- Get access to us on Slack, Microsoft Teams or Email\n- Get 24/7 coverage of your infrastructure\n- Get an accelerated migration to Kubernetes\n\nPlease [schedule a call](https://calendly.com/opszero-llc/discovery) if you need support.\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cdiv style=\"display: block\"\u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-advanced.png\" alt=\"AWS Advanced Tier\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-devops-competency.png\" alt=\"AWS DevOps Competency\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-eks.png\" alt=\"AWS EKS Delivery\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-public-sector.png\" alt=\"AWS Public Sector\" width=\"150px\" \u003e\n\u003c/div\u003e\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-security-group","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopszero%2Fterraform-aws-security-group","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-security-group/lists"}