From d8207fe351391bd36f7183952d930ecd24b219a8 Mon Sep 17 00:00:00 2001 From: JimCodified Date: Fri, 5 Feb 2021 15:41:39 -0600 Subject: [PATCH 1/4] added tf starters --- terraform/templates/apigateway.tf | 173 ++++++++++++++++++++++++++++ terraform/templates/cloudwatch.tf | 23 ++++ terraform/templates/configs.tf | 16 +++ terraform/templates/dynamodb.tf | 39 +++++++ terraform/templates/environments.tf | 2 + terraform/templates/firehose.tf | 64 ++++++++++ terraform/templates/glue.tf | 87 ++++++++++++++ terraform/templates/lambda.tf | 68 +++++++++++ terraform/templates/policies.tf | 106 +++++++++++++++++ terraform/templates/providers.tf | 5 + terraform/templates/roles.tf | 105 +++++++++++++++++ terraform/templates/s3.tf | 16 +++ 12 files changed, 704 insertions(+) create mode 100644 terraform/templates/apigateway.tf create mode 100644 terraform/templates/cloudwatch.tf create mode 100644 terraform/templates/configs.tf create mode 100644 terraform/templates/dynamodb.tf create mode 100644 terraform/templates/environments.tf create mode 100644 terraform/templates/firehose.tf create mode 100644 terraform/templates/glue.tf create mode 100644 terraform/templates/lambda.tf create mode 100644 terraform/templates/policies.tf create mode 100644 terraform/templates/providers.tf create mode 100644 terraform/templates/roles.tf create mode 100644 terraform/templates/s3.tf diff --git a/terraform/templates/apigateway.tf b/terraform/templates/apigateway.tf new file mode 100644 index 0000000..96e32a4 --- /dev/null +++ b/terraform/templates/apigateway.tf @@ -0,0 +1,173 @@ + +resource "aws_api_gateway_rest_api" "click_logger_api" { + name = "${var.app_prefix}-api" + description = "click logger api" + +} + +#create a resource with name 'resource' in the gateway api , many resources can be created like this +resource "aws_api_gateway_resource" "resource" { + path_part = "clicklogger" + parent_id = "${aws_api_gateway_rest_api.click_logger_api.root_resource_id}" + rest_api_id = "${aws_api_gateway_rest_api.click_logger_api.id}" + depends_on = ["aws_api_gateway_rest_api.click_logger_api"] +} + +resource "aws_api_gateway_account" "click_logger_api_gateway_account" { + cloudwatch_role_arn = "${aws_iam_role.click_logger_api_gateway_cloudwatch_role.arn}" +} + +resource "aws_cloudwatch_log_group" "clicklogger-api-log-group" { + name = "/aws/apigateway/${var.app_prefix}-API-Gateway-Execution-Logs/${var.stage_name}" + retention_in_days = 7 +} + +resource "aws_api_gateway_method_settings" "general_settings" { + rest_api_id = "${aws_api_gateway_rest_api.click_logger_api.id}" + stage_name = "${aws_api_gateway_deployment.clicklogger_deployment.stage_name}" + method_path = "*/*" + settings { + # Enable CloudWatch logging and metrics + metrics_enabled = true + data_trace_enabled = true + logging_level = "INFO" + # Limit the rate of calls to prevent abuse and unwanted charges + throttling_rate_limit = 100 + throttling_burst_limit = 50 + } +} + +resource "aws_api_gateway_authorizer" "clicklogger-authorizer" { + name = "clicklogger-authorizer" + rest_api_id = "${aws_api_gateway_rest_api.click_logger_api.id}" + authorizer_uri = "${aws_lambda_function.lambda_clicklogger_authorizer.invoke_arn}" + authorizer_credentials = "${aws_iam_role.click_logger_invocation_role.arn}" + identity_source = "method.request.header.Authorization" + type = "TOKEN" +} + + +resource "aws_api_gateway_request_validator" "clicklogger_validator" { + name = "${var.app_prefix}-validator" + rest_api_id = "${aws_api_gateway_rest_api.click_logger_api.id}" + validate_request_body = true + validate_request_parameters = true +} + +resource "aws_api_gateway_model" "clicklogger_model" { + rest_api_id = "${aws_api_gateway_rest_api.click_logger_api.id}" + name = "${var.app_prefix}model" + description = "${var.app_prefix}-JSON schema" + content_type = "application/json" + + schema = < Date: Fri, 19 Feb 2021 17:00:22 -0600 Subject: [PATCH 2/4] update debian base --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b5ad270..13d3733 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:experimental -FROM debian:8 as jdk +FROM debian:10 as jdk ARG ZULU_REPO_VER=1.0.0-2 From e1be87237fe245d7113e1f3fd105216cacf91818 Mon Sep 17 00:00:00 2001 From: JimCodified Date: Fri, 19 Feb 2021 17:05:56 -0600 Subject: [PATCH 3/4] update debian base --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 13d3733..33c1c1a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:experimental -FROM debian:10 as jdk +FROM debian:10.4 as jdk ARG ZULU_REPO_VER=1.0.0-2 From 9e876fbbd7967adc03f24b28425588da4f563095 Mon Sep 17 00:00:00 2001 From: JimCodified Date: Fri, 19 Feb 2021 17:10:57 -0600 Subject: [PATCH 4/4] update debian base --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 33c1c1a..8bb9990 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:experimental -FROM debian:10.4 as jdk +FROM debian:9 as jdk ARG ZULU_REPO_VER=1.0.0-2