#!/usr/bin/env sh # usage: _aws # # services: # # ACM: _aws acm [json] # _aws acm ListCertificates us-east-1 '{"MaxItems": 2}' # # R53: _aws r53 [query] [xml] # _aws r53 GET /2013-04-01/hostedzone maxitems=2 _aws() { _svc="$1" # _args=... shift if ! _aws_auth; then return 255 fi n="$(printf '\nn')" n="${n%n}" "_aws_svc_$_svc" "$@" } # private # services _aws_svc_acm() { _rpc="$1" _region="$2" _json="$3" _empty='{}' _rpc="x-amz-target:CertificateManager.$_rpc" _type='content-type:application/x-amz-json-1.1' _aws_wrap '"__type":' \ POST "acm.$_region.amazonaws.com" '/' '' "$_region/acm" \ "$_rpc$n$_type" "${_json:-$_empty}" } _aws_svc_r53() { _verb="$1" _path="$2" _query="$3" _xml="$4" _aws_wrap '