Skip to content

Instantly share code, notes, and snippets.

View b-b3rn4rd's full-sized avatar

Bernard Baltrusaitis b-b3rn4rd

  • Bendigo Bank
  • Melbourne
View GitHub Profile
@b-b3rn4rd
b-b3rn4rd / helpers.php
Last active October 5, 2015 22:03
Convert single level array that uses "dot" notation into nested array (opposite to array_dot)
<?php
/**
* Do an opposite of what array_dot does
*
* @param array $array
* @param string $delimiter
* @return array "undotted" nested array
*/
function array_undot(array $array, $delimiter = '.')
@b-b3rn4rd
b-b3rn4rd / example2.git
Last active November 2, 2015 03:24
List local tracking branches with removed remote-tracking branches
git branch -vv | grep ": gone]" | awk '{ print $1 }'
@b-b3rn4rd
b-b3rn4rd / handler.py
Last active October 4, 2016 04:51
API Gateway decorators for transforming request and response templates to lambda Proxy
def handler_pre_dispatch(handler):
"""
Request decorator to convert APIG Proxy params to the old style
Merge GET, POST, STAGE into new event dict
:param handler: resource handler
:return:
"""
def request_decorator(event, content):
event_decorated = {}
@b-b3rn4rd
b-b3rn4rd / hook-dns-01-lets-encrypt-route53.py
Created October 12, 2016 00:06
Python 3 script to use as a hook for the letsencrypt.sh client
#!/usr/bin/env python3
# How to use:
#
# LE_HOSTED_ZONE=XXXXXX LE_AWS_PROFILE=dns-access ./letsencrypt.sh --cron --domain example.org --challenge dns-01 --hook /tmp/hook-dns-01-lets-encrypt-route53.py
#
# More info about letsencrypt.sh: https://github.com/lukas2511/letsencrypt.sh/wiki/Examples-for-DNS-01-hooks
# Using AWS Profiles: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
# Obtaining your Hosted Zone ID from Route 53: http://docs.aws.amazon.com/cli/latest/reference/route53/list-hosted-zones-by-name.html
@b-b3rn4rd
b-b3rn4rd / issue-rule-priority
Created November 16, 2017 01:44
auto-increment ALB ListenerRule priority
#!/usr/bin/python
import boto3
import sys
import os
from operator import itemgetter
def main(listener_arn):
client = boto3.client('elbv2')
@b-b3rn4rd
b-b3rn4rd / index.py
Created January 16, 2019 23:52
AWS lambda using RAM by sending HTTP API request without external dependencies
import os
import boto3
import json
import botocore.auth
import botocore.credentials
from botocore.awsrequest import AWSRequest
from botocore.endpoint import BotocoreHTTPSession
from botocore.auth import SigV4Auth