Skip to content

Instantly share code, notes, and snippets.

View sasasin's full-sized avatar

Shinnosuke Suzuki sasasin

View GitHub Profile
@sasasin
sasasin / aws-iam-get-policy-document.sh
Created March 14, 2023 09:55
IAMポリシードキュメントをダウンロードするやつ
#!/bin/bash
IAM_POLICY_ARN="$1"
IAM_POLICY_NAME=$(echo "${IAM_POLICY_ARN}" | awk 'BEGIN{FS="/"}{print $NF}')
aws iam get-policy-version \
--policy-arn "${IAM_POLICY_ARN}" \
--version-id $(\
aws iam get-policy \
@sasasin
sasasin / aws-cli-exec-with-next-token.sh
Created March 9, 2023 03:07
AWS CLI の任意のコマンドを実行して .NextToken を追い掛けて全部取るやつ
#!/bin/bash
set -eo pipefail
# https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-pagination.html
AWS_CLI_COMMAND=$@
aws-cli-exec-with-next-token()
{
NEXT_TOKEN="$1"
if [ "${NEXT_TOKEN}" == "" ]; then
@sasasin
sasasin / aws-synthetics-canaries-start-stop-all
Created March 8, 2023 12:39
AWS CloudWatch Synthetics Canary の定期実行を一括で開始したり止めたりするやつ
# 起動停止の状態を確認するやつ
aws synthetics describe-canaries \
| jq -r '.Canaries[] | [.Name, .Status.State] | @csv'
# ぜんぶ起動するやつ
aws synthetics describe-canaries \
| jq -r '.Canaries[].Name' \
| sort \
| xargs -L1 aws synthetics start-canary --name
@sasasin
sasasin / get-canary-source-code.sh
Created March 8, 2023 12:14
AWS CloudWatch Synthetics Canary のソースコードのzipをダウンロードして解凍するやつ
#!/bin/bash
CANARY_NAME="$1"
CANARY_SOURCE_LOCATION_ARN=$( \
aws synthetics get-canary \
--name "${CANARY_NAME}" \
--query 'Canary.Code.SourceLocationArn' \
--output text \
)
@sasasin
sasasin / codebuild_image_update_apply.sh
Last active March 23, 2023 06:48
CodeBuild のコンテナイメージのとこだけ書き換えるやつ
#!/bin/bash
set -eo pipefail
CODEBUILD_PROJECT_NAME="$1"
aws codebuild update-project \
--name "${CODEBUILD_PROJECT_NAME}" \
--cli-input-json file://"${CODEBUILD_PROJECT_NAME}".patch.json \
> /dev/null
@sasasin
sasasin / aws-codebuild-list-all-projects.sh
Created March 3, 2023 13:30
CodeBuild のビルドプロジェクト名とコンテナイメージ名をガッと出すやつ
#!/bin/bash
set -eo pipefail
aws codebuild list-projects \
| jq -r '.projects[]' \
| sort \
| xargs -IXXXX -P1 aws codebuild batch-get-projects --names XXXX \
| jq -r '.projects[] | [.name, .environment.image] | @csv'
@sasasin
sasasin / get-awsdocs-atom-list.sh
Last active March 3, 2023 08:16
https://github.com/awsdocs の全リポジトリの Atom の URL を得るやつ
#!/bin/bash
set -eo pipefail
# https://github.com/awsdocs の全リポジトリの Atom の URL を得るやつ
# たぶん全部 main ブランチ
gh repo list awsdocs --no-archived --limit 500 \
| cut -f 1 \
| sort -u \
| awk '{print "https://github.com/" $1 "/commits/main.atom"}'
@sasasin
sasasin / get-lambda-func-source-code.sh
Created March 2, 2023 06:10
AWS Lambda ファンクションのソースコードのzipをダウンロードして解凍するやつ
#!/bin/bash
LAMBDA_FUNC_NAME="$1"
aws lambda get-function \
--function-name "${LAMBDA_FUNC_NAME}" \
--query 'Code.Location' \
| xargs wget -O "${LAMBDA_FUNC_NAME}.zip"
unzip -d "${LAMBDA_FUNC_NAME}" "${LAMBDA_FUNC_NAME}.zip"
@sasasin
sasasin / README.md
Last active February 18, 2023 07:06
Lima で maOS 13 で Rosetta 2 と VirtioFS を効かすやつ
@sasasin
sasasin / git_pull_force_default_branch.sh
Created January 9, 2023 07:48
カレントディレクトリの全ディレクトリに git pull するやつ
#!/bin/bash
set -eo pipefail
# カレントディレクトリの全ディレクトリに git pull するやつ
function git-pull-force-default-branch () {
cd "$1"
DEFAULT_BRANCH=$(
git remote show origin \
| grep 'HEAD branch' \
| awk '{print $NF}'