AWSの特定OS最新AMIを追いかけるためのワンライナー

# 実現したいこと
著名なOSの最新AMIのリソースIDなどを取得することが目的です。

# 能書き
このエントリーは ["AWS CLI"で最新の"Amazon Linux AMI"(gp2)のIDを取得する](http://blog.suz-lab.com/2015/06/aws-cliamazon-linux-amigp2id.html) を読んで触発されたものです。
AWS CLIで取得した情報を登録年月日にて逆順ソート [^1] し、最初の1件のみを表示することで最新AMIを取得しようと試みています。
[^1]: reverseの使い方については半信半疑です

# OS別
filterなどで定義している内容と取得結果は2015年6月17日現在のものとなります。気付いたらメンテナンスします。
以下の例において、リージョンは ap-northeast-1 にて実施しています。
筆者がHVM以外利用する気が無いため、以下の例でもHVM向けAMIのみを抽出しています。

## Amazon Linux
### RCを含む全て
```shell-session
aws ec2 describe-images --owner amazon --region ap-northeast-1 --filter "Name=name,Values=amzn-ami-hvm-*-gp2" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-cbf90ecb", 
    "YMD": "2015-03-18T16:30:35.000Z", 
    "Name": "amzn-ami-hvm-2015.03.0.x86_64-gp2"
}
```

### RCを含まない
```shell-session
aws ec2 describe-images --owner amazon --region ap-northeast-1 --filter "Name=name,Values=amzn-ami-hvm-*-gp2" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[?!contains(Name,`rc`)].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```


## Amazon Linux(NAT)
```shell-session
aws ec2 describe-images --owner amazon --region ap-northeast-1 --filter "Name=name,Values=amzn-ami-vpc-nat-*" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-03cf3903", 
    "YMD": "2015-03-20T20:45:27.000Z", 
    "Name": "amzn-ami-vpc-nat-hvm-2015.03.0.x86_64-gp2"
}
```

## RHEL
```shell-session
aws ec2 describe-images --owner 309956199498 --region ap-northeast-1 --filter "Name=name,Values=RHEL-7.1*" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-b1b458b1", 
    "YMD": "2015-02-26T16:34:39.000Z", 
    "Name": "RHEL-7.1_HVM_GA-20150225-x86_64-1-Hourly2-GP2"
}
```

## SuSE
```shell-session
aws ec2 describe-images --owner 013907871322 --region ap-northeast-1 --filter "Name=name,Values=suse-sles-12-*" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-f1fdcef0", 
    "YMD": "2014-10-23T22:34:13.000Z", 
    "Name": "suse-sles-12-byos-v20141023-hvm-ssd-x86_64"
}
```

## Ubuntu
```shell-session
aws ec2 describe-images --owner 099720109477 --region ap-northeast-1 --filter "Name=name,Values=*/ubuntu-trusty-14*" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-aa7da3aa", 
    "YMD": "2015-06-09T17:11:36.000Z", 
    "Name": "ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-20150609"
}
```

## CentOS7
```shell-session
aws ec2 describe-images --owners aws-marketplace --region ap-northeast-1 --filters "Name=product-code,Values=aw0evgkw8e5c1q413zgy5pjce" "Name=virtualization-type,Values=hvm" --query 'sort_by(Images[].{YMD:CreationDate,Name:Name,ImageId:ImageId},&YMD)|reverse(@)|[0]'
```
```json
{
    "ImageId": "ami-eec1c380", 
    "YMD": "2016-02-26T21:22:50.000Z", 
    "Name": "CentOS Linux 7 x86_64 HVM EBS 1602-b7ee8a69-ee97-4a49-9e68-afaee216db2e-ami-d7e1d2bd.3"
}
```