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 / 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
@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 / 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 / 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 / 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 / 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 / example.git
Last active May 29, 2023 09:20
Moving pushed commit from one branch to another
// moving 71b8026 from features/project-part-2 to features/project-part-1
git checkout features/project-part-2
git revert 71b8026
// for sanity check can run git diff to between branched for particular file(s)
git difftool features/project-part-2..features/project-part-1 -- ./website/app/controllers/ExampleController.php
git push origin features/project-part-2
git checkout features/project-part-1
git cherry-pick 71b8026
<?php
namespace Acme\DemoBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Role\SwitchUserRole;
@b-b3rn4rd
b-b3rn4rd / FormErrors.php
Last active August 29, 2015 14:05
Symfony2 - get form errors as a flat array
<?php
namespace Interprac\Bundle\UtilityBundle\Form;
use Symfony\Component\Form\Form;
class FormErrors
{
public function getArray(Form $form, $style = 'KO')
{
@b-b3rn4rd
b-b3rn4rd / function_v1.php
Last active March 28, 2018 19:06
Convert adjacency list into tree without recursion and second array.
<?php
function array_to_tree(array $array, $parent_id = 0)
{
$array = array_combine(array_column($array, 'id'), array_values($array));
foreach ($array as $k => &$v) {
if (isset($array[$v['parent_id']])) {
$array[$v['parent_id']]['children'][$k] = &$v;
}