- Add the ESF Lambda role ARN to the allowlist
- In account 150992150901, run:
aws lambda list-functions \ --region us-west-2 \ --query 'Functions[?starts_with(FunctionName, `elastic-serverless-forwar-ApplicationElasticServer`)].Role' \ --output text
- In account 150992150901, run:
| { | |
| "Version": "2012-10-17", | |
| "Statement": [ | |
| { | |
| "Effect": "Allow", | |
| "Principal": { | |
| "AWS": "arn:aws:iam::150992150901:root" | |
| }, | |
| "Action": "sts:AssumeRole", | |
| "Condition": { |
| aws cloudformation describe-stack-events \\ | |
| --stack-name elastic-serverless-forwarder-QA \\ | |
| --region us-west-2 \\ | |
| --query 'StackEvents[0:20].[Timestamp,LogicalResourceId,ResourceStatus,ResourceStatusReason]' \\ | |
| --output table | |
| aws cloudformation describe-stack-events \\ | |
| --stack-name elastic-serverless-forwarder-QA-ElasticServerlessForwarder-RN3PKVPAP516 \\ | |
| --region us-west-2 \\ | |
| --query 'StackEvents[0:20].[Timestamp,LogicalResourceId,ResourceStatus,ResourceStatusReason]' \\ |
| #!/usr/bin/env bash | |
| set -euo pipefail | |
| REGION="${REGION:-us-west-2}" | |
| FUNCTION_PREFIX="${FUNCTION_PREFIX:-elastic-serverless-forwar-ApplicationElasticServer}" | |
| STREAM_ARN="${STREAM_ARN:-arn:aws:kinesis:us-west-2:801458782278:stream/CloudWatchLinuxOSLogs}" | |
| log() { printf '[%s] %s\n' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$1"; } | |
| log "Discovering ESF Lambda" |
| #!/usr/bin/env bash | |
| set -euo pipefail | |
| ENVIRONMENT="${ENVIRONMENT:-dev}" | |
| ACCOUNT_ID="${ACCOUNT_ID:-150992150901}" | |
| REGION="${REGION:-us-west-2}" | |
| CONFIG_BUCKET="pge-elastic-serverless-forwarder-config-${ENVIRONMENT,,}-${ACCOUNT_ID}" | |
| TRAIL_NAME="esf-config-data-events-$(date +%s)" | |
| LOG_BUCKET="pge-cloudtrail-temp-logs-${TRAIL_NAME}" |
| node { | |
| echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1' | |
| echo 'No quotes, pipeline command in single quotes' | |
| sh 'echo $BUILD_NUMBER' // 1 | |
| echo 'Double quotes are silently dropped' | |
| sh 'echo "$BUILD_NUMBER"' // 1 | |
| echo 'Even escaped with a single backslash they are dropped' | |
| sh 'echo \"$BUILD_NUMBER\"' // 1 | |
| echo 'Using two backslashes, the quotes are preserved' | |
| sh 'echo \\"$BUILD_NUMBER\\"' // "1" |
| node { | |
| echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1' | |
| echo 'No quotes, pipeline command in single quotes' | |
| sh 'echo $BUILD_NUMBER' // 1 | |
| echo 'Double quotes are silently dropped' | |
| sh 'echo "$BUILD_NUMBER"' // 1 | |
| echo 'Even escaped with a single backslash they are dropped' | |
| sh 'echo \"$BUILD_NUMBER\"' // 1 | |
| echo 'Using two backslashes, the quotes are preserved' | |
| sh 'echo \\"$BUILD_NUMBER\\"' // "1" |
| #!/bin/bash -xe | |
| ## Create a VPC Peering connection between EKS and RDS Postgres | |
| echo """ run this script as: | |
| ./eks-rds-peering.sh | |
| + read -p 'Enter name of EKS Cluster: ' EKS_CLUSTER | |
| Enter name of EKS Cluster: xolv-dev-cluster | |
| + EKS_VPC=eksctl-xolv-dev-cluster-cluster/VPC | |
| + EKS_PUBLIC_ROUTING_TABLE=eksctl-xolv-dev-cluster-cluster/PublicRouteTable | |
| + read -p 'Enter name of RDS: ' RDS_DB_NAME | |
| Enter name of RDS: sfstackuat |
try sqlite3 for csv wrangling! it's a powerhouse for easily turning your csv files into a queryable in-memory database, and it's trivial to turn that into json, and to pipe a sql query's output into jq or into a .db file, whatever you want. here are some aliases I wrote, put them in your dotfiles somewhere:
alias csvq="sqlite3 :memory: -cmd '.mode csv' -cmd '.import /dev/stdin s3' '.mode json'"
You can see that I generically name the table "s3", cuz it's an alias I use with any csv file I'm streaming from an s3 bucket, so the table name doesn't need to be too specific. I use it like this:
aws s3 cp s3://$bucket/$key - | csvq "select * from s3" | jq '.[]' -c
"select * from table" means "give me a bunch of rows", so jq '.[]' -c turns those rows into pretty-printed compressed jsonlines. I also have an alias tsvq for tsv files. It's the same thing pretty much, except with .mode tabs instead of .mode csv
alias tsvq="sqlite3 :memory: -cmd '.mode tabs' -cmd '.import /dev/stdin s3' '.mode json'"
| https://giphy.com/gifs/roosterteeth-lol-barbara-dunkelman-rt-podcast-lPMBfPCJnhX9kwXxc8 |