I hereby claim:
- I am SamLR on github.
- I am samlr (https://keybase.io/samlr) on keybase.
- I have a public key whose fingerprint is 749F 8D9C F5A3 B979 65F5 9456 E635 E203 95E7 9E5F
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
Total Entries = 184 | |
Errors = 20 | |
Used Entries = 164 | |
Min = 15 min | |
Max = 180 min | |
Average = 52 min | |
---------------------------------------- | |
Duration (min) | Count | |
30 | 48 | |
60 | 38 |
import boto3 | |
from sys import argv | |
def get_name(aws_obj): | |
names = list(tag['Value'] for tag in aws_obj['Tags'] if tag['Key'] == 'Name') | |
if len(names) != 1: | |
# print('No name for object: {}'.format(aws_obj)) | |
return '--unknown--' |
# | |
# Recommended use | |
# python3 aws-action-test.py ec2:create-instance > arns.json | |
# | |
# This is pretty slow but I think it hits most main things in AWS | |
# | |
import boto3 | |
from sys import argv |
# | |
# example usage | |
# # Get the data: | |
# $ python3 aws-iam-crawl.py > iam.json | |
# | |
# # Group summary | |
# $ cat iam.json| jq '.groups | map({"members": (._users|length), "policies": ((._inline_policies|length) + (._attached_policies|length)), "inline_policies": (._inline_policies|length), "name": .GroupName}) | sort_by(.members)[] ' -c | |
# | |
# # User summary (basically the same) | |
# $ cat iam.json| jq '.users | map({"groups": (._groups|length), "policies": ((._inline_policies|length) + (._attached_policies|length)), "inline_policies": (._inline_policies|length), "name": .UserName}) | sort_by(.groups)[] ' -c |
# | |
# Find all the security groups that use a particular CIDR_TO_FIND and update | |
# them with a new ingress rule allowing access from CIDR on ports 0->65535 | |
# | |
# DESCRIPTION can also be set to describe the new rule. | |
# | |
# If DRY_RUN is set to true the security groups will be searched for but not | |
# updated. | |
# |
# Step 1 | |
curl -v https://api.github.com/orgs/alphagov/repos | |
# Copy the 'rel="last"' value from this section | |
# < Link: <https://api.github.com/organizations/596977/repos?page=2>; rel="next", <https://api.github.com/organizations/596977/repos?page=44>; rel="last" | |
# i.e. '44' | |
for i in {1..44}; do curl "https://api.github.com/organizations/596977/repos?page=$i" >> repos.json; done | |
cat repos.json| jq '.[]|.html_url' -r | xargs -I REPO git clone REPO && sleep 1 |
cat repos.json | \ | |
jq '.[]|.full_name' | \ | |
xargs -I REPO | |
curl -X POST \ | |
-H "Content-Type: application/json" \ | |
-H "Authorization: token ${GITHUB_TOKEN}" \ | |
-d '{"organization": "alphagov-mirror"}' \ | |
https://api.github.com/repos/REPO/forks |
from github import Github, GithubException | |
import json | |
from datetime import datetime | |
import os | |
def main(token): | |
g = Github(token) | |
alphagov = g.get_organization('alphagov') |
import os | |
import json | |
import time | |
from datetime import datetime | |
from github import ( | |
Github, UnknownObjectException, GithubException, RateLimitExceededException | |
) | |
RATE_LIMIT_COUNT = 0 |