Example of a bare-minimum terraform script to setup an API Gateway endpoint that takes records and puts them into an SQS queue.
Start by creating the SQS queue.
resource "aws_sqs_queue" "queue" {
service: my-nodejs-api | |
custom: | |
customDomain: | |
domainName: api.ppshein.com | |
basePath: '' | |
stage: ${self:provider.stage} | |
createRoute53Record: true | |
provider: | |
name: aws | |
runtime: nodejs8.10 |
Example of a bare-minimum terraform script to setup an API Gateway endpoint that takes records and puts them into an SQS queue.
Start by creating the SQS queue.
resource "aws_sqs_queue" "queue" {
resource "newrelic_one_dashboard" "this" { | |
name = var.dashboard_name | |
permissions = "public_read_only" | |
# To create TABS in dashboard | |
dynamic "page" { | |
for_each = var.resources | |
content { | |
# To display TABS name in dashboard | |
name = page.value["bu"] | |
# To create graph in dashboard |
resources = [{ | |
bu = "netflix" | |
title = ["title_1", "title_2", "title_3", "title_4", "title_5", "title_6"] | |
query = ["SELECT max(provider.currItems.Maximum) FROM DatastoreSample as 'Cache Items' FROM DatastoreSample WHERE provider='ElastiCacheRedisNode' AND providerAccountName = 'xxx' AND displayName LIKE '${widget_line.value}%' TIMESERIES AUTO FACET displayName", "query_2", "query_3", "query_4", "query_5", "query_6"] | |
}, { | |
bu = "apple" | |
title = ["title_1", "title_2", "title_3", "title_4", "title_5", "title_6"] | |
query = ["query_1", "query_2", "query_3", "query_4", "query_5", "query_6"] | |
}, { | |
bu = "youtube" |
variable "resources" { | |
description = "My Dashboard" | |
type = list(object({ | |
bu = string | |
title = string | |
query = list(string) | |
})) | |
} |
resource "aws_iam_role" "firehose_role" { | |
name = "firehose_es_delivery_role" | |
assume_role_policy = <<EOF | |
{ | |
"Version": "2012-10-17", | |
"Statement": [ | |
{ | |
"Action": "sts:AssumeRole", | |
"Principal": { |
# AWS S3 bucket for static hosting | |
resource "aws_s3_bucket" "website" { | |
bucket = "${var.website_bucket_name}" | |
acl = "public-read" | |
tags { | |
Name = "Website" | |
Environment = "production" | |
} |
version: "3" | |
networks: | |
kong-net: | |
driver: bridge | |
services: | |
####################################### | |
# Postgres: The database used by Kong |
const AWS = require("aws-sdk"); | |
const s3 = new AWS.S3({ apiVersion: "2006-03-01" }); | |
const fs = require("fs"); | |
AWS.config.update({ | |
accessKeyId: "", | |
secretAccessKey: "", | |
region: "ap-southeast-1", | |
Bucket: "mobile-ayaplus-backend-dev", | |
}) |