Git Product home page Git Product logo

terraform-aws-queue's Introduction

terraform-aws-queue

Lint Status LICENSE

The following content needed to be created and managed:

Introduction Explaination of module Intended users Resource created and managed by this module Example Usages

Requirements

Name Version
terraform >= 1.3.0
aws >= 3.72
kubernetes >= 2.10
tls >= 3.0

Providers

No providers.

Modules

No modules.

Resources

Name Type
random_string resource
aws_security_group resource
aws_mq_broker resource
aws_instance.ec2 resource
aws_ami.amazon-linux-2 data source
template_file.user_data data source
aws_iam_instance_profile resource
aws_iam_role_policy resource
aws_iam_policy_document data source
aws_ssm_parameter resource
aws_iam_role_policy resource

Usage

module "message_queue" {
  source              = "git::https://github.com/tothenew/terraform-aws-queue.git"
  ec2_subnet_id = "subnet-99999999999"
  key_name = "tothenew"
  vpc_id  = "vpc-xxxxxxxx"
  vpc_cidr_block = "0.0.0.0/0"
  instance_type = "t3.medium"
  disable_api_termination = true
  disable_api_stop        = true
  subnet_ids          = ["subnet-99999999999","subnet-99999999999"]
  apply_immediately = false
  host_instance_type = "mq.t3.micro"
  deployment_mode    = "ACTIVE_STANDBY_MULTI_AZ"
  storage_type = "efs"
  console_access = true
  publicly_accessible = true
  engine_type = "ActiveMQ"
  engine_version = "5.15.14"
  auto_minor_version_upgrade = false
  activemq_username   = "username"
  activemq_password   = "password"
  audit_logs = false
  general_logs = false
  root_volume_size = 50
  region  = "us-east-1"
  vpc_cidr_block = "0.0.0.0/0"  //This is for SG egress rules
  worker  = 1
  master  = 1
  
  create_aws_activemq     = true
  create_aws_ec2_rabbitmq = false

  common_tags         = {
    "Project"     = "ToTheNew",
    "Environment" = "dev"
  }
  project_name_prefix = "TTN"
}
}

Inputs

Name Description Type Default Required
create_aws_activemq If you want to create the AWS active-mq enable this check bool bool no
create_aws_ec2_rabbitmq If you want to create the AWS EC2 instance rabbit-mq enable this check bool true no
project_name_prefix A string value to describe prefix of all the resources string n/a yes
engine_type Type of broker engine, ActiveMQ or RabbitMQ sting ActiveMQ yes
engine_version The version of the broker engine string 5.15.14 yes
create_aws_ec2_elasticsearch If you want to create the AWS EC2 instance elasticsearch enable this check bool true no
storage_type Type of storage string ebs no
auto_minor_version_upgrade Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. bool false no
apply_immediately Specifies whether any cluster modifications are applied immediately, or during the next maintenance window bool false no
host_instance_type The broker's instance type. e.g. mq.t2.micro or mq.m4.large string mq.m5.large no
security_group_ids A string value for Security Group ID list(string) n/a yes
deployment_mode The deployment mode of the broker. Supported: SINGLE_INSTANCE and ACTIVE_STANDBY_MULTI_AZ string SINGLE_INSTANCE no
subnet_ids Subnet Ids where server will be launched list(string) n/a yes
publicly_accessible Whether to enable connections from applications outside of the VPC that hosts the broker's subnets bool true no
activemq_username Admin username string n/a yes
activemq_password Admin password string n/a yes
console_access Whether to enable console access bool true no
environment environment where services need to be run string dev no
common_tags A map to add common tags to all the resources map(string) n/a yes
master_user_password Password of the security option enabled string n/a no
project A string value to describe project of all the resources string test yes
ec2_subnet_id Subnet Ids where server will be launched string n/a yes
key_name Key name of the Key Pair to use for the instance string n/a yes
subnet_ids Subnet Ids where server will be launched list(string) n/a yes
iam_instance_profile IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile sting n/a yes
instance_type EC2 Instance Type string t3a.medium yes
disable_api_termination Disable API termination means disable instance termination bool true no
disable_api_stop If true, enables EC2 Instance Stop Protection bool false no
ebs_optimized If true, the launched EC2 instance will be EBS-optimized bool true no
source_dest_check Source destination Check. Used for NAT or VPNs bool true no
delete_on_termination Whether EBS volume will be deleted when instance gets deleted bool true no
kms_key_id KMS key ID for creating AWS resources string n/a yes
encrypted Whether EBS volume will be encrypted bool true yes
root_volume_size Root volume size of the EC2 instance number 50 yes
volume_type Volume type for EC2 instance default latest type string gp3 no
audit_logs KMS key ID for creating AWS resources bool false no
general_logs KMS key ID for creating AWS resources bool false no
vpc_cidr_block CIDR range of sg string 0.0.0.0/0 yes
vpc_id vpc id for rabbit sg string n/a yes
rabbit_sg_name SG name for rabbit string rabbit-sg no
region Region where resources will deploy string us-east-1 yes
environment_name Environment name string dev yes
root_volume_size Root volume size of the EC2 instance number 50 no

Outputs

Outputs

Name Description
activemq_id n/a
activemq_url n/a
activemq_arn n/a
ec2_rabbitmq_private_ip n/a

Authors

Module managed by TO THE NEW Pvt. Ltd.

License

Apache 2 Licensed. See LICENSE for full details.

terraform-aws-queue's People

Contributors

chhavisharma-97 avatar github-actions[bot] avatar nitinbhadauria avatar nitinpainoli avatar nitintothenew avatar prashantgupta123 avatar rahulttn avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-aws-queue's Issues

Seperate iam roles for each deployment

When creating multiple deployments in same aws account the module throws error about role already exists.

When creating the iam role it could use a format like {env}-{region}-rabbit-role as format for role name

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.