Skip to content

Instantly share code, notes, and snippets.

Sébastien Stormacq sebsto

View GitHub Profile
@sebsto
sebsto / gist:2b7516a61db432ebe77c
Last active Aug 29, 2015
Install Python 2.7 on Amazon Linux 2014.03
View gist:2b7516a61db432ebe77c
#credits to: http://www.lecloud.net/post/61401763496/install-update-to-python-2-7-and-latest-pip-on-ec2
# install build tools (stick to a specific version to avoid environment drift)
# yum install -y make automake gcc gcc-c++ kernel-devel git
yum install -y make-1:3.81-20.7.amzn1.x86_64 \
automake-1.13.4-2.14.amzn1.noarch \
gcc48-4.8.2-7.87.amzn1.x86_64 \
gcc48-c++-4.8.2-7.87.amzn1.x86_64 \
kernel-devel-3.10.48-55.140.amzn1.x86_64 \
git-1.8.3.1-2.37.amzn1.x86_64
@sebsto
sebsto / gist:947f8cf66b4b4d4e82bc
Last active Aug 29, 2015 — forked from anamorph/gist:699dbae01ff0f4942acc
Human Readable S3 Bucket Size (don't do that on very large buckets ! :-) )
View gist:947f8cf66b4b4d4e82bc
aws s3api list-objects --bucket $BUCKETNAME --query 'sum(Contents[].Size)' | awk '{print $0/1024/1024/1024" GB"}'
@sebsto
sebsto / gist:505c91bf53bc77c4b921
Created Feb 12, 2015
Select two AZ with a default subnet in (comma separated)
View gist:505c91bf53bc77c4b921
aws ec2 describe-subnets --query 'Subnets[?DefaultForAz == `true`] | @[0:2][].AvailabilityZone' --output text | sed -e 's/\t/,/g’
@sebsto
sebsto / gist:eb48357f0bb24db8b2bf
Created Apr 28, 2015
Find all instances without a specific tag / with a specific tag
View gist:eb48357f0bb24db8b2bf
aws ec2 describe-instances --query 'Reservations[?Instances[?length(Tags[?Key==`Environment`]) == `0`]].Instances[].InstanceId'
aws ec2 describe-instances --query 'Reservations[?Instances[?Tags[?Key==`Environment`]]].Instances[].InstanceId'
@sebsto
sebsto / gist:67a43fc7fba1ff258560
Created Mar 5, 2016
Is your account using long EC2 IDs ?
View gist:67a43fc7fba1ff258560
# $ aws --version
# aws-cli/1.10.8 Python/2.7.11 Darwin/15.3.0 botocore/1.3.30
REGIONS=$(aws ec2 describe-regions --query 'Regions[].RegionName' --output text)
for R in $REGIONS ; do echo $R; aws ec2 describe-id-format --region $R --output text; done
@sebsto
sebsto / gist:c41461767273451cbdad
Last active Nov 2, 2016
EB Command Line Tool Installation
View gist:c41461767273451cbdad
# Set working directory
cd /home/ec2-user
# Install EB Command line tool
wget https://s3.amazonaws.com/elasticbeanstalk/cli/AWS-ElasticBeanstalk-CLI-2.6.3.zip
unzip AWS-ElasticBeanstalk-CLI-2.6.3.zip
sed -i -e "/PATH=/ aPATH=\$PATH:/home/ec2-user/AWS-ElasticBeanstalk-CLI-2.6.3/eb/linux/python2.7" /home/ec2-user/.bash_profile
chown -R ec2-user:ec2-user /home/ec2-user/.elasticbeanstalk && chown -R ec2-user:ec2-user /home/ec2-user/AWS-ElasticBeanstalk-CLI-2.6.3 && chmod 744 /home/ec2-user/AWS-ElasticBeanstalk-CLI-2.6.3/eb/linux/python2.7/eb
# Install Python 2.7
@sebsto
sebsto / gist:9ec2476af3409f302610
Created Mar 23, 2016
Elastic Beanstalk HTTPS only, with Certificate Manager
View gist:9ec2476af3409f302610
option_settings:
"aws:elb:listener:443" :
ListenerProtocol : HTTPS
InstanceProtocol : HTTP
InstancePort : 80
SSLCertificateId : "arn:aws:acm:us-east-1:012345678912:certificate/917....853"
"aws:elb:listener:80" :
ListenerEnabled : false
@sebsto
sebsto / event.json
Created Jan 20, 2019
CloudTrail Event JSON
View event.json
{
"Records": [{
"eventVersion": "2.0",
"eventSource": "aws:s3",
"awsRegion": "us-west-2",
"eventTime": "2014-11-27T21:08:30.487Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:ARxxxxxxxxxxSW:i-4fxxxxa5"
},
View event.json
{
"Records": [{
"eventVersion": "2.0",
"eventSource": "aws:s3",
"awsRegion": "us-west-2",
"eventTime": "2014-11-27T21:08:30.487Z",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "AWS:ARxxxxxxxxxxSW:i-4fxxxxa5"
},
@sebsto
sebsto / lwa_blog.js
Created Jan 20, 2019
example alexa skill handler
View lwa_blog.js
const HelloWorldIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest' && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
},
async handle(handlerInput) {
const {
accessToken
} = handlerInput.requestEnvelope.context.System.user;
let speechText = '';
if (!accessToken) {
You can’t perform that action at this time.