This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# how do we get credentials in here? Who knows.... | |
data "external" "stack" { | |
program = [ "xargs", "-0", | |
"aws", "cloudformation", "describe-stack-resource", "--output", "json", | |
"--query", "StackResourceDetail.{id:PhysicalResourceId}" ] | |
query = { | |
StackName: "StackName", | |
LogicalResourceId: "LogicalResourceName", | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from typing import List | |
def most_recent_first(versions: List[str]) -> List[str]: | |
"""Return the list of SemVers sorted by the newest first. | |
>>> versions = ['0.1.0','3.2.1','2.2.3','0.1.1','2.15.3'] | |
>>> most_recent_first(versions) | |
['3.2.1', '2.15.3', '2.2.3', '0.1.1', '0.1.0'] | |
""" | |
import doctest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
systemd: | |
units: | |
- name: etcd2.service | |
enable: true | |
etcd: | |
discovery: https://discovery.etcd.io/cfb401f0c192894e72c78cbd03a65442 | |
passwd: | |
users: | |
- name: core | |
ssh_authorized_keys: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from collections.abc import MutableMapping, MutableSequence | |
from typing import Callable, Iterable, Union | |
MutableCollection = Union[MutableMapping, MutableSequence] | |
Visitor = Callable[[str], str] # we only support string scalars for now | |
def visit(value: str) -> str: | |
"""Visit a string scalar, and mutate it if needed before returning it.""" | |
if len(value) > 4: # example criteria |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# | |
# openssl asn1parse -noout -out private_key.der -genconf <(python jwks2asn1.py private_key.json) | |
# openssl rsa -in private_key.der -inform der > private_key.pem | |
# | |
# rfc7517.3 : urlsafe_b64decode | |
# rfc7517.A.1 : ints are big-indian | |
# | |
import base64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import contextlib | |
import os | |
import tempfile | |
half_lambda_memory = 10**6 * ( | |
int(os.getenv('AWS_LAMBDA_FUNCITON_MEMORY_SIZE', '0')) / 2) | |
@contextlib.contextmanager |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import secrets | |
import boto3 | |
import cfnresponse | |
ec2 = boto3.resource('ec2') | |
def create_ami(instance_id, ami_name, description): | |
instance = ec2.Instance(instance_id) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash -xe | |
# This script requires `jq` and optionally `awsume` | |
awsume --session-name ssummers-update-api-keys # or whatever method to assume an mfa session | |
AWS_EXPIRING_ACCESS_KEY=$(aws configure get aws_access_key_id) | |
AWS_USER=$(aws sts get-caller-identity --query Arn --output text | awk -F/ '/:user/ {print $2}') | |
if [[ $(aws iam list-access-keys --user-name ${AWS_USER} --query '*[]|length(@)') -ne 1 ]] | |
then |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ---------------------- | |
# Git Aliases, mostly from https://jonsuh.com/blog/git-command-line-shortcuts/ | |
# ---------------------- | |
alias ga='git add' | |
alias gaa='git add .' | |
alias gaaa='git add --all' | |
alias gau='git add --update' | |
alias gb='git branch' | |
alias gbd='git branch --delete ' | |
alias gc='git commit' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from itertools import tee | |
try: | |
from itertools import zip_longest | |
except ImportError: | |
from itertools import izip_longest as zip_longest | |
def snake_parts_from_camel(name): | |
parts = tee(name, 2) | |
next(parts[1]) |
NewerOlder