Skip to content

Latest commit

 

History

History
67 lines (59 loc) · 2.66 KB

README.md

File metadata and controls

67 lines (59 loc) · 2.66 KB

Synopsis

A set of core terraform modules for standardized infrastructure provisioning across multi-account life-cycles.

Code Example

In order to provision the example standardized setup, create a terraform git repo and make sure it is registered as a jenkins infra terraform multi aws account lifecycles project.

module "app_name" {
  source             = "[email protected]:albumprinter/eops_tf_modules.git//apps/sample_loadbalanced_application?ref={TAG_VERSION}" # for eg. {TAG_VERSION} = v0.2.1
  description        = "Terraform Demo"
  environment        = "dev"
  application_name   = "app_name"
  ami_id             = "ami-405f7226"
  servers            = 2
}

Supported Usage Examples:

module "scheduled_lambda_app" {
  //  source = "[email protected]:albumprinter/eops_tf_modules.git//apps/lambda_function_scheduled?ref={TAG_VERSION}" # for eg. {TAG_VERSION} = v0.2.1
  source = "../eops_tf_modules/apps/lambda_function_scheduled"
  app_name = "lambda-cloudwatch-sample"
  description = "lambda-cloudwatch-sample"
  handler = "myHandler"
  filename = "filename.zip"
  schedule_expression = "rate(5 minutes)" // optional For example, "rate(5 minutes)" or "cron(0 20 * * ? *)"
  environment = "dev"
  tags_team = "eops"
  //  iam_policy_document = "{json policy}" // optional
  variables = "" // optional
  runtime = "dotnetcore1.0" // optional default:nodejs | nodejs4.3 | java8 | python2.7 | dotnetcore1.0 | nodejs4.3-edge
  memory_size = "128" //optional
  timeout = "3" // optional
  enabled = 1 // optional avail options: 1 | 0
}

module "scheduled_lambda_app_vpc" {
  //  source = "[email protected]:albumprinter/eops_tf_modules.git//apps/lambda_function_scheduled_vpc?ref={TAG_VERSION}" # for eg. {TAG_VERSION} = v0.3.0
  source = "../eops_tf_modules/apps/lambda_function_scheduled_vpc"
  app_name = "lambda-cloudwatch-sample-vpc"
  description = "lambda-cloudwatch-sample-in-vpc"
  handler = "myHandler"
  filename = "filename.zip"
  schedule_expression = "rate(5 minutes)" // optional For example, "rate(5 minutes)" or "cron(0 20 * * ? *)"
  environment = "dev"
  tags_team = "eops"
  //  iam_policy_document = "{json policy}" // optional
  variables = "" // optional
  runtime = "dotnetcore1.0" // optional default:nodejs | nodejs4.3 | java8 | python2.7 | dotnetcore1.0 | nodejs4.3-edge
  memory_size = "128" //optional
  timeout = "3" // optional
  enabled = 1 // optional avail options: 1 | 0
  private = true // optional
}

To get access to the core-infrastructure data (vpc's, subnets, regions, tags):

module "aws_account_core_data" {
  source = "[email protected]:albumprinter/eops_tf_modules.git//data_providers/aws_account_core_data"
}