Skip to content

Instantly share code, notes, and snippets.

View mochizuki-masao's full-sized avatar

Masao Mochizuki mochizuki-masao

  • Classmethod, Inc.
View GitHub Profile
@mochizuki-masao
mochizuki-masao / copy_permission.sh
Last active January 15, 2018 11:02
Copy EC2 AMI Permission to another AMI
#!/bin/bash
source_ami=ami-xxxxxxx
dest_ami=ami-yyyyyyy
aws ec2 modify-image-attribute \
--image-id ${dest_ami} \
--attribute launchPermission \
--operation-type add \
--user-ids $(aws ec2 describe-image-attribute --image-id ${source_ami} --attribute launchPermission \
| jq -r '.LaunchPermissions[].UserId' | tr '\n' ' ')
@mochizuki-masao
mochizuki-masao / taskdef.sh
Created July 6, 2017 07:11
generate `docker run` command from AWS ECS TaskDefinition
#!/bin/bash
taskDefinitionName=$1
OPTS=""
definition=$(aws ecs describe-task-definition --task-definition ${taskDefinitionName} | jq '.taskDefinition.containerDefinitions[0]')
image=$(echo $definition | jq -r '.image')
# envvar
OPTS="${OPTS}$(echo $definition | jq -r '.environment[] | "-e \(.name)=\"\(.value)\""' | tr '\n' ' ')"
@mochizuki-masao
mochizuki-masao / cfn2yaml
Created September 20, 2016 04:50
Convert ALL JSON Files to YAML syntax. (Especially work well with CloudFormation update...)
$ ruby -rjson -ryaml -e 'Dir.glob("*.json").map{ |f| File.write(f, YAML.dump(JSON.parse(File.read(f)))) }'
@mochizuki-masao
mochizuki-masao / tag.rb
Last active August 2, 2016 05:12
Create EBS Name tag based on attached EC2 instance name.
#!/usr/bin/env ruby
require 'aws-sdk'
ec2 = Aws::EC2::Resource.new
kv = ec2.instances.each do |i|
begin
name = i.tags.find{|t| t["key"] == "Name" }.value
rescue
#!/usr/bin/env ruby
require 'aws-sdk'
require 'optparse'
require 'yaml'
require 'json'
begin
require 'aws/profile_parser'
rescue LoadError; end
@mochizuki-masao
mochizuki-masao / count.rb
Last active September 8, 2016 17:50
S3_count_storage_size
#!/usr/bin/env ruby
require 'aws-sdk'
require 'optparse'
begin
require 'aws/profile_parser'
rescue LoadError; end
def conv_unit size