Lambdaで最新AMIを取得する!(Python)
Lambda(python)で最新AMI IDを取得するプログラムを書きました。
Windowsは「Windows Servier 2012 R2 Base」、Linuxは「Amazon Linux」の最新AMI IDを取得してます。 Filters部分をカスタマイズしてもらえれば、その他にも使えると思います!
import boto3 def lambda_handler(event, context): client = boto3.client('ec2') response = client.describe_images( Owners=['amazon'], Filters=[ { 'Name': 'root-device-type', 'Values': ['ebs'] }, { 'Name': 'architecture', 'Values': ['x86_64'] }, { 'Name': 'name', 'Values': ['Windows_Server-2012-R2_RTM-Japanese-64Bit-Base*'] } ] ) list = [] for x in response["Images"]: name = x["Name"] ami_id = x["ImageId"] list.append([name, ami_id]) list.sort(key=lambda x:x[0], reverse=True) print list[0][1]
import boto3 def lambda_handler(event, context): client = boto3.client('ec2') response = client.describe_images( Owners=['amazon'], Filters=[ { 'Name': 'root-device-type', 'Values': ['ebs'] }, { 'Name': 'architecture', 'Values': ['x86_64'] }, { 'Name': 'block-device-mapping.volume-type', 'Values': ['standard'] }, { 'Name': 'name', 'Values': ['amzn-ami-hvm*'] } ] ) list = [] for x in response["Images"]: name = x["Name"] ami_id = x["ImageId"] list.append([name, ami_id]) list.sort(key=lambda x:x[0], reverse=True) print list[0][1]