Skip to content

Instantly share code, notes, and snippets.

View naamancampbell's full-sized avatar

Naaman Campbell naamancampbell

  • Brisbane, Australia
View GitHub Profile
@naamancampbell
naamancampbell / awscli-sso-config.sh
Last active November 16, 2022 03:15
awscli-sso-config - generates AWS CLI config file for SSO accounts and roles
#!/bin/bash
#
# awscli-sso-config - generates AWS CLI config file for
# SSO accounts and roles
#
# Usage: ./awscli-sso-config.sh aws_profile sso_start_url [--resume]
#
# Requires: awscli, jq
#
# Author: Naaman Campbell
@naamancampbell
naamancampbell / OneDrive.env
Last active September 1, 2021 10:19
rclone OneDrive User Mount - Ubuntu 21.04 Hirsuite Hippo
REMOTE_NAME=OneDrive
MOUNT_DIR=/home/USERNAME/OneDrive
RCLONE_MOUNT_VFS_CACHE_MODE=writes
@naamancampbell
naamancampbell / aws_reinvent_language_filter.js
Created November 27, 2020 22:58
Removes language-tagged AWS re:invent sessions from the https://virtual.awsevents.com/agenda Session Catalog
let excludedLanguages = ['Chinese', 'French', 'Italian', 'Japanese', 'Korean', 'Portuguese', 'Spanish']
for (const tagsDiv of document.querySelectorAll(".event-list-item-tags")) {
for (const tagDiv of tagsDiv.querySelectorAll(".tag")) {
if (excludedLanguages.includes(tagDiv.textContent)) {
let parentDiv = tagsDiv.closest(".event-list-item")
parentDiv.parentNode.removeChild(parentDiv)
break
}
}
---
title: "Boy Swallows Universe - Routes"
author: "Naaman Campbell"
date: "11 January 2020"
output:
html_document:
code_folding: hide
---
```{r setup, include=FALSE}
@naamancampbell
naamancampbell / dashboard.html
Last active October 19, 2019 21:38
Display Multiple Strava Activity Maps in Flask Template
{% for activity in activities %}
<div class="post">
{% if activity.strava_data['map']['polyline'] is not none %}
<div id="map_{{ activity.id }}" class="img-fluid" style="height: 300px;"></div>
{% endif %}
{# other activity data #}
</div>
{% endfor %}
@naamancampbell
naamancampbell / copy_lambda_env_vars.py
Last active May 30, 2019 10:12
Copy AWS Lambda environment variables from source Lambda function to destination Lambda function
import argparse
import boto3
"""
Usage: copy_lambda_env_vars.py [-h] [--src-profile-name SRC_PROFILE]
[--dst-profile-name DST_PROFILE]
src_function dst_function
Utility to copy environment variables from source Lambda function to
destination Lambda function.
## generate Certificate Signing Request (CSR) with certutil
$FedServiceName = "sts.clancampbell.id.au"
$RequestPolicy = @"
[Version]
Signature="`$Windows NT$"
[NewRequest]
Subject = "CN=$FedServiceName,OU=ICT,O=ClanCampbell,L=Brisbane,S=Queensland,C=AU"
Exportable = FALSE ; TRUE = Private key is exportable
KeyLength = 2048 ; Valid key sizes: 1024, 2048, 4096, 8192, 16384
KeySpec = 1 ; Key Exchange – Required for encryption
@naamancampbell
naamancampbell / CloudFormation-PowerShell-Creds.ps1
Last active May 10, 2019 08:43 — forked from davefunkel/Script-Template-WithCreds.ps1
Generates and distributes encrypted passwords for use with PowerShell scripts used in CloudFormation templates.
<#
.SYNOPSIS
Generates and distributes encrypted passwords for use with PowerShell scripts used in CloudFormation templates.
.DESCRIPTION
The CloudFormation-PowerShell-Creds script is designed to be run prior to running a CloudFormation stack
then called again from within the CloudFormation template. The purpose is to avoid the use of cleartext
passwords in CloudFormation templates/PowerShell scripts.
There are three main components of this script:
@naamancampbell
naamancampbell / powershell-commands.ps1
Last active May 10, 2019 08:42
aws-cloudformation-awsmad - Automating the setup of an Office 365-enabled AWS Directory Services Microsoft Active Directory - as per https://aws.amazon.com/blogs/security/how-to-enable-your-users-to-access-office-365-with-aws-microsoft-active-directory-credentials/
# ADMgmt
## install chocolatey
Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
## install firefox
choco install -y firefox
## install AD Tools
Import-Module ServerManager
Add-WindowsFeature RSAT-AD-Tools
## create testing accounts
New-ADOrganizationalUnit -Name "Groups" -Path "OU=CLANCAMPBELL,DC=clancampbell,DC=id,DC=au"
@naamancampbell
naamancampbell / function.json
Created January 2, 2018 11:35
Strava API Subscription Webhook on Azure Functions
{
"bindings": [
{
"type": "httpTrigger",
"direction": "in",
"name": "req",
"authLevel": "anonymous",
"methods": [
"get",
"post"