{"id":21725480,"url":"https://github.com/jameswoolfenden/terraform-aws-artifactory","last_synced_at":"2025-04-12T22:54:44.386Z","repository":{"id":56101126,"uuid":"312104518","full_name":"JamesWoolfenden/terraform-aws-artifactory","owner":"JamesWoolfenden","description":"A basic module to provision artifactory","archived":false,"fork":false,"pushed_at":"2023-07-29T20:00:42.000Z","size":197,"stargazers_count":0,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T22:54:40.985Z","etag":null,"topics":["artifactory","aws","bitnami","jfrog","module","oss","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamesWoolfenden.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-11-11T22:22:05.000Z","updated_at":"2021-11-23T11:32:44.000Z","dependencies_parsed_at":"2023-01-18T15:01:39.799Z","dependency_job_id":null,"html_url":"https://github.com/JamesWoolfenden/terraform-aws-artifactory","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesWoolfenden%2Fterraform-aws-artifactory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesWoolfenden%2Fterraform-aws-artifactory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesWoolfenden%2Fterraform-aws-artifactory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesWoolfenden%2Fterraform-aws-artifactory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesWoolfenden","download_url":"https://codeload.github.com/JamesWoolfenden/terraform-aws-artifactory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643047,"owners_count":21138353,"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","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":["artifactory","aws","bitnami","jfrog","module","oss","terraform"],"created_at":"2024-11-26T03:18:09.403Z","updated_at":"2025-04-12T22:54:44.362Z","avatar_url":"https://github.com/JamesWoolfenden.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-artifactory\n\n[![Build Status](https://github.com/JamesWoolfenden/terraform-aws-artifactory/workflows/Verify%20and%20Bump/badge.svg?branch=master)](https://github.com/JamesWoolfenden/terraform-aws-artifactory)\n[![Latest Release](https://img.shields.io/github/release/JamesWoolfenden/terraform-aws-artifactory.svg)](https://github.com/JamesWoolfenden/terraform-aws-artifactory/releases/latest)\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/JamesWoolfenden/terraform-aws-artifactory.svg?label=latest)](https://github.com/JamesWoolfenden/terraform-aws-artifactory/releases/latest)\n![Terraform Version](https://img.shields.io/badge/tf-%3E%3D0.14.0-blue.svg)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/JamesWoolfenden/terraform-aws-artifactory/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=JamesWoolfenden%2Fterraform-aws-artifactory\u0026benchmark=CIS+AWS+V1.2)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![checkov](https://img.shields.io/badge/checkov-verified-brightgreen)](https://www.checkov.io/)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/jameswoolfenden/terraform-aws-artifactory/general)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=JamesWoolfenden%2Fterraform-aws-artifactory\u0026benchmark=INFRASTRUCTURE+SECURITY)\n\nUpdated and significantly modified from \u003chttps://github.com/jfrog/JFrog-Cloud-Installers\u003e\n\nThis method has a number of Issues including:\n\n- SSL termination, requires upfront provision of non ACM certificate rather than termination of SSL at an ELB.\n- Creates an IAM user.\n- Generates access keys for IAM user and adds it to filesystem of an instance.\n- Security groups very very open\n\n## Terraform Template For Artifactory Enterprise\n\n## Prerequisites\n\n- An AWS account\n- Basic knowledge of AWS\n- Predefined Keys\n- Basic knowledge of Artifactory\n- Learn about [system requirements for Artifactory](https://www.jfrog.com/confluence/display/RTF/System+Requirements#SystemRequirements-RecommendedHardware)\n- Learn more about Terraform AWS provider follow: https://www.terraform.io/docs/providers/aws/index.html\n\n## Usage\n\nThere are 2 examples included one, provisions into an existing VPC the other create a vpc for you as well.\n\nexample\n├── examplea\n└── exampleb-newvpc\n\nCopy either as you starting point or make your own by adding a module definition to your own code module.artifactory.tf:\n\n![alt text](./diagram/artifactory.png)\n\n```terraform\nmodule \"artifactory\" {\n  source             = \"JamesWoolfenden/artifactory-oss/aws\"\n  version            = \"0.1.0\"\n  subnet_ids         = var.subnet_ids\n  vpc_id             = var.vpc_id\n  ssl_certificate_id = var.ssl_certificate_id\n  vpc_cidr           = var.vpc_cidr\n  ssh_access         = [module.ip.cidr]\n  access_cidr        = [module.ip.cidr]\n  bucket_name        = \"artifactory-${data.aws_caller_identity.current.account_id}\"\n  instance_type      = \"m4.xlarge\"\n  record             = var.record\n  zone_id            = var.zone_id\n}\n\n```\n\n## Costs\n\n```text\nMonthly cost estimate\n\nProject: JamesWoolfenden/terraform-aws-artifactory/example/examplea\n\n Name                                                           Monthly Qty  Unit                    Monthly Cost\n\n module.artifactory.aws_autoscaling_group.art\n └─ module.artifactory.aws_launch_configuration.master\n    ├─ Instance usage (Linux/UNIX, on-demand, m4.xlarge)                730  hours                        $169.36\n    ├─ EC2 detailed monitoring                                            7  metrics                        $2.10\n    └─ root_block_device\n       └─ Storage (general purpose SSD, gp2)                            250  GB                            $29.00\n\n module.artifactory.aws_db_instance.default\n ├─ Database instance                                                   730  hours                         $27.74\n └─ Database storage                                                      5  GB                             $0.67\n\n module.artifactory.aws_elb.web\n ├─ Classic load balancer                                               730  hours                         $21.46\n └─ Data processed                                        Monthly cost depends on usage: $0.0084 per GB\n\n module.artifactory.aws_s3_bucket.b\n └─ Standard\n    ├─ Storage                                            Monthly cost depends on usage: $0.024 per GB\n    ├─ PUT, COPY, POST, LIST requests                     Monthly cost depends on usage: $0.0053 per 1k requests\n    ├─ GET, SELECT, and all other requests                Monthly cost depends on usage: $0.00042 per 1k requests\n    ├─ Select data scanned                                Monthly cost depends on usage: $0.00225 per GB\n    └─ Select data returned                               Monthly cost depends on usage: $0.0008 per GB\n\n OVERALL TOTAL                                                                                            $250.33\n```\n\n### Steps to Deploy Artifactory Enterprise Using Terraform Template\n\n1. Set your AWS account credentials by setting environment variables:\n\n   ```bash\n       export AWS_ACCESS_KEY_ID=\"your_access_key\"\n       export AWS_SECRET_ACCESS_KEY=\"your_secret_key\"\n       export AWS_DEFAULT_REGION=\"aws_region\"\n   ```\n\n   To learn more about Terraform aws provider follow there documentation.\n   https://www.terraform.io/docs/providers/aws/index.html\n\n2. Modify the default values in the `variables.tf` file\n\n3. Pass the Artifactory Enterprise licenses as a string in the variables `artifactory_license_1-5`.\n   For example: Change disk space to 500Gb:\n\n   ```bash\n    variable \"volume_size\" {\n      description = \"Disk size for each EC2 instances\"\n      default     = 500\n    }\n   ```\n\n4. Run the `terraform init -var 'key_name=myAwsKey'` command. This will install the required plugin for the AWS provider.\n\n5. Run the `terraform plan -var 'key_name=myAwsKey'` command.\n\n6. Run the `terraform apply -var 'key_name=myAwsKey'` command to deploy Artifactory Enterprise cluster on AWS\n\n   **Note**: it takes approximately 15 minutes to bring up the cluster.\n\n7. You will receive ELB Url to access Artifactory. By default, this template starts only one node in the Artifactory cluster.\n   It takes 7-10 minutes for Artifactory to start and to attach the instance to the ELB.The output can be viewed as:\n\n   ```terraform\n    Outputs:\n\n    address = artifactory-elb-265664219.us-west-2.elb.amazonaws.com\n   ```\n\n8. Access the Artifactory UI using ELB Url provided in outputs.\n\n9. Scale your cluster using following command: `terraform apply -var 'key_name=myAwsKey' -var 'secondary_node_count=2'`\n   In this example we are scaling artifactory cluster to 2 nodes.\n\n   **Note**: You can only scale nodes to number of artifactory licenses you have available for cluster.\n\n10. SSH into Artifactory primary instance and type [inactiveServerCleaner](inactiveServerCleaner.groovy) plugin in `'/var/opt/jfrog/artifactory/etc/plugins'` directory.\n    (Optional) To destroy the cluster, run the following commend: `terraform destroy -var 'key_name=myAwsKey'`\n\n### Note\n\nThis template only supports Artifactory version 5.8.x and above.\nTurn off daily backups. Read Documentation provided [here](https://www.jfrog.com/confluence/display/RTF/Managing+Backups).\n\n**Note**: In this template as default S3 is default filestore and data is persisted in S3. If you keep daily backups on disk space (default 250Gb) will get occupied quickly.\nUse an SSL Certificate with a valid wildcard to your artifactory as docker registry with subdomain method.\n\n### Use Artifactory as backend\n\nTo to store state as an artifact in a given repository of Artifactory, see [https://www.terraform.io/docs/backends/types/artifactory.html](https://www.terraform.io/docs/backends/types/artifactory.html)\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | n/a |\n| \u003ca name=\"provider_local\"\u003e\u003c/a\u003e [local](#provider\\_local) | n/a |\n| \u003ca name=\"provider_template\"\u003e\u003c/a\u003e [template](#provider\\_template) | n/a |\n| \u003ca name=\"provider_tls\"\u003e\u003c/a\u003e [tls](#provider\\_tls) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_autoscaling_attachment.asg_attachment_bar](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_attachment) | resource |\n| [aws_autoscaling_group.art](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group) | resource |\n| [aws_db_instance.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance) | resource |\n| [aws_db_subnet_group.main_db_subnet_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_subnet_group) | resource |\n| [aws_elb.web](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elb) | resource |\n| [aws_iam_instance_profile.art](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource |\n| [aws_iam_role.art](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy.art](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_key_pair.ssm_key](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair) | resource |\n| [aws_launch_configuration.master](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration) | resource |\n| [aws_route53_record.www](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource |\n| [aws_s3_bucket.b](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_acl.b](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl) | resource |\n| [aws_s3_bucket_public_access_block.b](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_server_side_encryption_configuration.b](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |\n| [aws_s3_bucket_versioning.b](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning) | resource |\n| [aws_security_group.default](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.main_db_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_security_group_rule.allow_all_outbound](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow_db_access](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [local_file.private_ssh](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource |\n| [local_file.public_ssh](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource |\n| [tls_private_key.ssh](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |\n| [aws_ami.amazon_linux_2_ami](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |\n| [template_file.init](https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/file) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_access_cidr\"\u003e\u003c/a\u003e [access\\_cidr](#input\\_access\\_cidr) | n/a | `list(any)` | n/a | yes |\n| \u003ca name=\"input_artifactory_server_name\"\u003e\u003c/a\u003e [artifactory\\_server\\_name](#input\\_artifactory\\_server\\_name) | Provide artifactory server name to be used in Nginx. e.g artifactory for artifactory.jfrog.team | `string` | `\"artifactory\"` | no |\n| \u003ca name=\"input_artifactory_sg_name\"\u003e\u003c/a\u003e [artifactory\\_sg\\_name](#input\\_artifactory\\_sg\\_name) | (optional) describe your variable | `string` | `\"artifactory_sg\"` | no |\n| \u003ca name=\"input_autoscaling_group_name\"\u003e\u003c/a\u003e [autoscaling\\_group\\_name](#input\\_autoscaling\\_group\\_name) | artifactory autoscaling group | `string` | `\"artifactory autoscaling group\"` | no |\n| \u003ca name=\"input_bucket_name\"\u003e\u003c/a\u003e [bucket\\_name](#input\\_bucket\\_name) | AWS S3 Bucket name | `string` | n/a | yes |\n| \u003ca name=\"input_db_allocated_storage\"\u003e\u003c/a\u003e [db\\_allocated\\_storage](#input\\_db\\_allocated\\_storage) | The size of the database (Gb) | `string` | `\"5\"` | no |\n| \u003ca name=\"input_db_instance_class\"\u003e\u003c/a\u003e [db\\_instance\\_class](#input\\_db\\_instance\\_class) | The database instance type | `string` | `\"db.t2.small\"` | no |\n| \u003ca name=\"input_db_name\"\u003e\u003c/a\u003e [db\\_name](#input\\_db\\_name) | MySQL database name | `string` | `\"artdb\"` | no |\n| \u003ca name=\"input_db_password\"\u003e\u003c/a\u003e [db\\_password](#input\\_db\\_password) | Database password | `string` | n/a | yes |\n| \u003ca name=\"input_db_user\"\u003e\u003c/a\u003e [db\\_user](#input\\_db\\_user) | Database user name | `string` | `\"artifactory\"` | no |\n| \u003ca name=\"input_elb_name\"\u003e\u003c/a\u003e [elb\\_name](#input\\_elb\\_name) | The name of the Load balancer | `string` | `\"artifactoryelb\"` | no |\n| \u003ca name=\"input_extra_java_options\"\u003e\u003c/a\u003e [extra\\_java\\_options](#input\\_extra\\_java\\_options) | Setting Java Memory Parameters for Artifactory. Learn about system requirements for Artifactory https://www.jfrog.com/confluence/display/RTF/System+Requirements#SystemRequirements-RecommendedHardware. | `string` | `\"-server -Xms2g -Xmx14g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\\\\\\\\\"kill -9 %p\\\\\\\\\"\"` | no |\n| \u003ca name=\"input_instance_type\"\u003e\u003c/a\u003e [instance\\_type](#input\\_instance\\_type) | Artifactory EC2 instance type | `string` | n/a | yes |\n| \u003ca name=\"input_key_name\"\u003e\u003c/a\u003e [key\\_name](#input\\_key\\_name) | Desired name of AWS key pair | `string` | `\"jfrog\"` | no |\n| \u003ca name=\"input_kms_key\"\u003e\u003c/a\u003e [kms\\_key](#input\\_kms\\_key) | n/a | `any` | n/a | yes |\n| \u003ca name=\"input_master_key\"\u003e\u003c/a\u003e [master\\_key](#input\\_master\\_key) | Master key for Artifactory cluster. Generate master.key using command '$openssl rand -hex 16' | `string` | `\"35767fa0164bac66b6cccb8880babefb\"` | no |\n| \u003ca name=\"input_monitoring_interval\"\u003e\u003c/a\u003e [monitoring\\_interval](#input\\_monitoring\\_interval) | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance | `string` | `30` | no |\n| \u003ca name=\"input_monitoring_role_arn\"\u003e\u003c/a\u003e [monitoring\\_role\\_arn](#input\\_monitoring\\_role\\_arn) | n/a | `string` | `\"\"` | no |\n| \u003ca name=\"input_profile_name\"\u003e\u003c/a\u003e [profile\\_name](#input\\_profile\\_name) | Instance profile name | `string` | `\"artifactory\"` | no |\n| \u003ca name=\"input_rds\"\u003e\u003c/a\u003e [rds](#input\\_rds) | Settings for the DB instance | `map(any)` | \u003cpre\u003e{\u003cbr\u003e  \"engine\": \"mysql\",\u003cbr\u003e  \"engine_version\": \"5.5\",\u003cbr\u003e  \"multi_az\": \"false\",\u003cbr\u003e  \"skip_final_snapshot\": \"true\",\u003cbr\u003e  \"storage_type\": \"gp2\"\u003cbr\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_record\"\u003e\u003c/a\u003e [record](#input\\_record) | Value for Route53 entry | `string` | n/a | yes |\n| \u003ca name=\"input_sse_algorithm\"\u003e\u003c/a\u003e [sse\\_algorithm](#input\\_sse\\_algorithm) | The type of encryption algorithm to use | `string` | `\"aws:kms\"` | no |\n| \u003ca name=\"input_ssh_access\"\u003e\u003c/a\u003e [ssh\\_access](#input\\_ssh\\_access) | n/a | `list(any)` | n/a | yes |\n| \u003ca name=\"input_ssl_certificate_id\"\u003e\u003c/a\u003e [ssl\\_certificate\\_id](#input\\_ssl\\_certificate\\_id) | The ID of the SSL certificate from ACM | `string` | n/a | yes |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | A list of Subnet ids | `list(any)` | n/a | yes |\n| \u003ca name=\"input_volume_size\"\u003e\u003c/a\u003e [volume\\_size](#input\\_volume\\_size) | Disk size for each EC2 instances | `string` | `250` | no |\n| \u003ca name=\"input_vpc_cidr\"\u003e\u003c/a\u003e [vpc\\_cidr](#input\\_vpc\\_cidr) | The CIDR of the VPC | `list(any)` | n/a | yes |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The VPC id | `string` | n/a | yes |\n| \u003ca name=\"input_zone_id\"\u003e\u003c/a\u003e [zone\\_id](#input\\_zone\\_id) | The Route53 zone for the record | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_address\"\u003e\u003c/a\u003e [address](#output\\_address) | URL of the Artifactory |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Policy\n\n\u003c!-- BEGINNING OF PRE-COMMIT-PIKE DOCS HOOK --\u003e\nThe Terraform resource required is:\n\n```golang\nresource \"aws_iam_policy\" \"terraform_pike\" {\n  name_prefix = \"terraform_pike\"\n  path        = \"/\"\n  description = \"Pike Autogenerated policy from IAC\"\n\n  policy = jsonencode({\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"VisualEditor0\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"autoscaling:AttachLoadBalancers\",\n                \"autoscaling:CreateAutoScalingGroup\",\n                \"autoscaling:CreateLaunchConfiguration\",\n                \"autoscaling:DeleteAutoScalingGroup\",\n                \"autoscaling:DeleteLaunchConfiguration\",\n                \"autoscaling:DescribeAutoScalingGroups\",\n                \"autoscaling:DescribeLaunchConfigurations\",\n                \"autoscaling:DescribeScalingActivities\",\n                \"autoscaling:DetachLoadBalancers\",\n                \"autoscaling:UpdateAutoScalingGroup\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor1\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ec2:AuthorizeSecurityGroupEgress\",\n                \"ec2:AuthorizeSecurityGroupIngress\",\n                \"ec2:CreateKeyPair\",\n                \"ec2:CreateSecurityGroup\",\n                \"ec2:DeleteKeyPair\",\n                \"ec2:DeleteSecurityGroup\",\n                \"ec2:DescribeAccountAttributes\",\n                \"ec2:DescribeImages\",\n                \"ec2:DescribeKeyPairs\",\n                \"ec2:DescribeNetworkInterfaces\",\n                \"ec2:DescribeSecurityGroups\",\n                \"ec2:ImportKeyPair\",\n                \"ec2:RevokeSecurityGroupEgress\",\n                \"ec2:RevokeSecurityGroupIngress\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor2\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"elasticloadbalancing:AttachLoadBalancerToSubnets\",\n                \"elasticloadbalancing:CreateLoadBalancer\",\n                \"elasticloadbalancing:CreateLoadBalancerListeners\",\n                \"elasticloadbalancing:DeleteLoadBalancer\",\n                \"elasticloadbalancing:DescribeLoadBalancerAttributes\",\n                \"elasticloadbalancing:DescribeLoadBalancers\",\n                \"elasticloadbalancing:DescribeTags\",\n                \"elasticloadbalancing:ModifyLoadBalancerAttributes\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor3\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"iam:AddRoleToInstanceProfile\",\n                \"iam:CreateInstanceProfile\",\n                \"iam:CreateRole\",\n                \"iam:DeleteInstanceProfile\",\n                \"iam:DeleteRole\",\n                \"iam:DeleteRolePolicy\",\n                \"iam:GetInstanceProfile\",\n                \"iam:GetRole\",\n                \"iam:GetRolePolicy\",\n                \"iam:ListAttachedRolePolicies\",\n                \"iam:ListInstanceProfilesForRole\",\n                \"iam:ListRolePolicies\",\n                \"iam:PassRole\",\n                \"iam:PutRolePolicy\",\n                \"iam:RemoveRoleFromInstanceProfile\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor4\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"rds:CreateDBInstance\",\n                \"rds:CreateDBSubnetGroup\",\n                \"rds:DeleteDBSubnetGroup\",\n                \"rds:DescribeDBInstances\",\n                \"rds:DescribeDBSubnetGroups\",\n                \"rds:ListTagsForResource\",\n                \"rds:ModifyDBInstance\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor5\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"route53:ChangeResourceRecordSets\",\n                \"route53:GetChange\",\n                \"route53:GetHostedZone\",\n                \"route53:ListResourceRecordSets\"\n            ],\n            \"Resource\": \"*\"\n        },\n        {\n            \"Sid\": \"VisualEditor6\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"s3:CreateBucket\",\n                \"s3:DeleteBucket\",\n                \"s3:GetAccelerateConfiguration\",\n                \"s3:GetBucketAcl\",\n                \"s3:GetBucketCORS\",\n                \"s3:GetBucketLogging\",\n                \"s3:GetBucketObjectLockConfiguration\",\n                \"s3:GetBucketPolicy\",\n                \"s3:GetBucketPublicAccessBlock\",\n                \"s3:GetBucketRequestPayment\",\n                \"s3:GetBucketTagging\",\n                \"s3:GetBucketVersioning\",\n                \"s3:GetBucketWebsite\",\n                \"s3:GetEncryptionConfiguration\",\n                \"s3:GetLifecycleConfiguration\",\n                \"s3:GetObject\",\n                \"s3:GetObjectAcl\",\n                \"s3:GetReplicationConfiguration\",\n                \"s3:ListAllMyBuckets\",\n                \"s3:ListBucket\",\n                \"s3:PutBucketAcl\",\n                \"s3:PutBucketPublicAccessBlock\",\n                \"s3:PutBucketVersioning\",\n                \"s3:PutEncryptionConfiguration\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n})\n}\n\n\n```\n\u003c!-- END OF PRE-COMMIT-PIKE DOCS HOOK --\u003e\n\n## Related Projects\n\nCheck out these related projects.\n\n- [terraform-aws-s3](https://github.com/jameswoolfenden/terraform-aws-s3) - S3 buckets\n\n## Help\n\n**Got a question?**\n\nFile a GitHub [issue](https://github.com/JamesWoolfenden/terraform-aws-artifactory/issues).\n\n## Contributing\n\n### Bug Reports \u0026 Feature Requests\n\nPlease use the [issue tracker](https://github.com/JamesWoolfenden/terraform-aws-artifactory/issues) to report any bugs or file feature requests.\n\n## Copyrights\n\nCopyright © 2019-2022 James Woolfenden\n\n## License\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nSee [LICENSE](LICENSE) for full details.\n\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements. See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership. The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\"License\"); you may not use this file except in compliance\nwith the License. You may obtain a copy of the License at\n\n\u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied. See the License for the\nspecific language governing permissions and limitations\nunder the License.\n\n### Contributors\n\n[![James Woolfenden][jameswoolfenden_avatar]][jameswoolfenden_homepage]\u003cbr/\u003e[James Woolfenden][jameswoolfenden_homepage]\n\n[jameswoolfenden_homepage]: https://github.com/jameswoolfenden\n[jameswoolfenden_avatar]: https://github.com/jameswoolfenden.png?size=150\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameswoolfenden%2Fterraform-aws-artifactory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjameswoolfenden%2Fterraform-aws-artifactory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameswoolfenden%2Fterraform-aws-artifactory/lists"}