import boto3
import os

#環境変数 
client = boto3.client('rds')
AUTO_STOP_TAG_TAGKEY = os.environ['AUTO_STOP_TAG_TAGKEY']
AUTO_STOP_ENABLE = os.environ['AUTO_STOP_ENABLE']

def lambda_handler(event, context):
    #クラスターを停止
    clusters = client.describe_db_clusters()
    for cluster in clusters['DBClusters']:
        if cluster['Status'] == "available":
            tags = client.list_tags_for_resource(ResourceName=cluster['DBClusterArn'])
            for tag in tags['TagList']:
                if tag['Key'] == AUTO_STOP_TAG_TAGKEY and tag['Value'] == AUTO_STOP_ENABLE:
                    client.stop_db_cluster(DBClusterIdentifier=cluster['DBClusterIdentifier'])

    #インスタンスを停止
    instances = client.describe_db_instances()
    for instance in instances['DBInstances']:
        if instance['DBInstanceStatus'] == "available":
            tags = client.list_tags_for_resource(ResourceName=instance['DBInstanceArn'])
            for tag in tags['TagList']:
                if tag['Key'] == AUTO_STOP_TAG_TAGKEY and tag['Value'] == AUTO_STOP_ENABLE:
                    client.stop_db_instance(DBInstanceIdentifier=instance['DBInstanceIdentifier'])
                    