Skip to content

Instantly share code, notes, and snippets.

@htnosm
htnosm / convertDistributionId.py
Created February 18, 2017 07:55
[Lambda] e.g. DatadogMonitor->SNS->Lambda->Slack
from __future__ import print_function
import boto3
import json
import logging
import os
import re
from base64 import b64decode
from urllib2 import Request, urlopen, URLError, HTTPError
@htnosm
htnosm / postSlack.py
Created February 18, 2017 21:32
[Lambda] e.g. API Gateway->Lambda->Slack
from __future__ import print_function
import boto3
import json
import logging
import os
from base64 import b64decode
from urllib2 import Request, urlopen, URLError, HTTPError
@htnosm
htnosm / README.md
Last active June 25, 2019 06:58
URL Check of GET

Usage

Usage: ./check-url.sh "target csv"

Setting

cat <<_EOF > target.csv
@htnosm
htnosm / sns2slack.py
Last active August 7, 2019 08:29
[Lambda] e.g. Amazon SNS -> Lambda -> Slack
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import boto3
import json
import logging
import os
from base64 import b64decode
from urllib.request import Request, urlopen
@htnosm
htnosm / tf-dd-prov-imp2tf.py
Last active November 3, 2019 21:27
Convert tfstate to tf for datadog_monitor on Terraform Datadog Provider
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import sys
import codecs
#reload(sys) # for OSX
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
#sys.setdefaultencoding('utf-8') # for OSX
@htnosm
htnosm / get-latest-pd-incident.sh
Created April 10, 2020 18:51
PagerDuty の直近インシデントを取得するサンプルスクリプト
#!/bin/bash
# [REST API v2 Overview](https://v2.developer.pagerduty.com/docs/rest-api)
# [API Reference](https://developer.pagerduty.com/api-reference)
_TOKEN="" # REST API Key
_API_VERSION=2
_SERVICE_ID="" # service ID
_TIME_ZONE="Asia/Tokyo"
_LIMIT=100 # Def:25/Max:100
@htnosm
htnosm / zabbix_export.py
Created November 8, 2020 23:28
Zabbix Export Sample. (Zabbix Ver 4.x)
from pyzabbix import ZabbixAPI
import os
import json
zapi = ZabbixAPI("Your Zabbix URL")
zapi.session.verify = False
zapi.login("Your Zabbix User", "Your Zabbix Password")
print("Connected to Zabbix API Version %s" % zapi.api_version())
output_dir = './var'
@htnosm
htnosm / rewrite-host-header-index.js
Created September 24, 2021 20:23
Lambda@Edge origin-request trigger to change HTTP Host Header.
'use strict';
exports.handler = (event, context, callback) => {
console.log('event:' + JSON.stringify(event));
// Get contents of request
const request = event.Records[0].cf.request;
// Rewrite
request.headers.host[0].value = '${rewrite_value}';
console.log('request headers:' + JSON.stringify(request.headers));
@htnosm
htnosm / aws-codebuild-list-build-durations.sh
Last active January 2, 2022 19:29
List output of AWS CodeBuild duration times.
_PROJECT="Your CodeBuild Project Name"
aws --no-cli-pager codebuild batch-get-builds \
--ids $(aws --no-cli-pager codebuild list-builds-for-project \
--project-name "${_PROJECT}" \
--sort-order DESCENDING --query 'ids[]' --max-items 100 --output text \
| grep -v 'None') \
| jq -r '[
"id", "buildNumber", "startTime", "endTime", "buildStatus",
"buildDuration",
@htnosm
htnosm / echo-awscli.sh
Last active July 3, 2022 04:15
Output aws cli command in bash script
#!/usr/bin/env bash
# Output aws cli command in bash script
# Usage: echo-awscli.sh scriptPath [arg1 arg2 ...]
shopt -s expand_aliases
# mocks
function aws_cli_mock() {
case $@ in