Skip to content

Instantly share code, notes, and snippets.

@brysontyrrell
brysontyrrell / Install_Python_Ubuntu.sh
Last active Jun 30, 2017
Install Python from source on Ubuntu Linux
View Install_Python_Ubuntu.sh
#!/bin/bash
# This script will install specific versions of Python on Ubuntu Linux servers
if [ "$(whoami)" != "root" ]; then
echo "WARNING: You must run this script as 'root'"
# This shortcut method will fail if the script file does not have execute permissions
exec sudo -- "$0" "$@"
fi
inputVersion=$1
if [[ $inputVersion == "" ]]; then
View Enabled_Disabled_Policies.py
import base64
import getpass
import sys
import xml.etree.ElementTree as Et
import urllib
import urllib2
reload(sys)
sys.setdefaultencoding('utf-8')
@brysontyrrell
brysontyrrell / JamfUAPIAuthToken.py
Created Oct 19, 2016
Generate a token for the Jamf Universal API (UAPI) that will auto-refresh as needed.
View JamfUAPIAuthToken.py
import datetime
import logging
import requests
import urlparse
class JamfUAPIAuthToken(object):
def __init__(self, jamf_url, username, password):
"""
:param jamf_url: Jamf Pro URL
:type jamf_url: str
@brysontyrrell
brysontyrrell / cipher.py
Last active Jun 29, 2017
AES256 encryption using pyca/cryptography
View cipher.py
import base64
import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
class AESCipher(object):
block_size = algorithms.AES.block_size / 8
@brysontyrrell
brysontyrrell / create_jss_account.py
Last active Mar 15, 2018
Create a JSS admin account
View create_jss_account.py
import getpass
import sys
import xml.etree.ElementTree as Et
import requests
try:
NEW_USERNAME = sys.argv[1]
except IndexError:
print('No username provided!')
View build_jamfpro_docker_version.sh
# Run from a directory that contains your ROOT.war file.
# Change VERSION to that of the ROOT.war being deployed
VERSION=10.17.0
docker build . -t jamfpro:${VERSION} -f - <<EOF
FROM jamfdevops/jamfpro:0.0.10
ADD ROOT.war /data/
EOF
@brysontyrrell
brysontyrrell / jamfpro-docker-compose.yml
Created Nov 25, 2019
A Docker Compose file for launching Jamf Pro
View jamfpro-docker-compose.yml
version: "3"
services:
mysql:
image: "mysql:5.7"
networks:
- jamfnet
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "jamfsw03"
@brysontyrrell
brysontyrrell / jamfpro-template.yaml
Last active Sep 14, 2020
Deploy Jamf Pro using Fargate and Aurora Serverless (non production)
View jamfpro-template.yaml
AWSTemplateFormatVersion: 2010-09-09
Parameters:
AvailabilityZone1:
Type: String
Default: a
AvailabilityZone2:
Type: String
@brysontyrrell
brysontyrrell / ami-lookup.yaml
Created Nov 30, 2019
A CloudFormation custom resource to perform the lookup of the latest NAT instance AMI ID for the region.
View ami-lookup.yaml
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Resources:
NatInstaceAmi:
Type: AWS::CloudFormation::CustomResource
Properties:
ServiceToken: !GetAtt NatInstanceAmiLookup.Arn
View dynamodb-eventbus-stream-processor.py
from datetime import datetime
import json
import os
import boto3
EVENT_BUS = os.getenv("EVENT_BUS")
events_client = boto3.client("events")