@@ -1420,72 +1420,69 @@ Resources:
14201420 Description : Identifies snapshots connected to AMI's with CUR data
14211421 Name : inventory_snapshot_connected_to_ami_with_CUR
14221422 QueryString : |
1423-
1424- with latest_snapshot as (
1425- select
1426- max(date_parse(collection_date, '%Y-%m-%d %T')) as snapshot_collection_date
1427- FROM optimization_data.inventory_snapshot_data
1428- ),
1429- recent_snapshots as (
1423+ with latest_snapshot as (
1424+ select
1425+ max(date_parse(collection_date, '%Y-%m-%d %T')) as snapshot_collection_date
1426+ FROM optimization_data.inventory_snapshot_data
1427+ ),
1428+ recent_snapshots as (
1429+ SELECT
1430+ Description,
1431+ ownerid,
1432+ snapshotid,
1433+ latest_snapshot.snapshot_collection_date,
1434+
1435+ CASE
1436+ WHEN substr(Description, 1, 22) = 'Created by CreateImage' THEN split_part(Description,' ', 5)
1437+ WHEN substr(Description, 2, 11) = 'Copied snap' THEN split_part(Description,' ', 9)
1438+ WHEN substr(Description, 1, 22) = 'Copied for Destination' THEN split_part(Description,' ', 4)
1439+ ELSE NULL
1440+ END AS snapshot_ami_id
1441+ FROM optimization_data.inventory_snapshot_data
1442+ INNER JOIN latest_snapshot ON latest_snapshot.snapshot_collection_date = date_parse(collection_date, '%Y-%m-%d %T')
1443+ ),
1444+ snapshot_costs as(
14301445 SELECT
1431- Description,
1432- ownerid,
1433- snapshotid,
1434- latest_snapshot.snapshot_collection_date,
1435-
1436- CASE
1437- WHEN substr(Description, 1, 22) = 'Created by CreateImage' THEN split_part(Description,' ', 5)
1438- WHEN substr(Description, 2, 11) = 'Copied snap' THEN split_part(Description,' ', 9)
1439- WHEN substr(Description, 1, 22) = 'Copied for Destination' THEN split_part(Description,' ', 4)
1440- ELSE NULL
1441- END AS snapshot_ami_id
1442- FROM optimization_data.inventory_snapshot_data
1443- INNER JOIN latest_snapshot ON latest_snapshot.snapshot_collection_date = date_parse(collection_date, '%Y-%m-%d %T')
1444- ),
1445-
1446-
1447- snapshot_costs as(
1448- SELECT
1449- SPLIT(line_item_resource_id,'/')[2] as snapshot_cur_id,
1450- SUM(CAST(line_item_unblended_cost AS DECIMAL(16,8))) AS sum_line_item_unblended_cost
1451- FROM
1452- ${DatabaseName}.cur2
1453- WHERE
1454- product['product_name'] = 'Amazon Elastic Compute Cloud'
1455- AND line_item_usage_type LIKE '%%EBS%%Snapshot%%'
1456- AND line_item_line_item_type = 'Usage'
1457- GROUP BY
1458- line_item_resource_id),
1446+ SPLIT(line_item_resource_id,'/')[2] as snapshot_cur_id,
1447+ SUM(CAST(line_item_unblended_cost AS DECIMAL(16,8))) AS sum_line_item_unblended_cost
1448+ FROM
1449+ cid_data_export.cur2
1450+ WHERE
1451+ product['product_name'] = 'Amazon Elastic Compute Cloud'
1452+ AND line_item_usage_type LIKE '%%EBS%%Snapshot%%'
1453+ AND line_item_line_item_type = 'Usage'
1454+ GROUP BY
1455+ line_item_resource_id),
14591456
1460- latest_ami as (
1461- select
1462- max(date_parse(collection_date, '%Y-%m-%d %T')) as ami_last_collection_date
1463- FROM optimization_data.inventory_ami_data
1464- ),
1465- recent_amis as (
1466- SELECT
1467- imageid,
1468- description as ami_description,
1469- latest_ami.ami_last_collection_date
1470- FROM optimization_data.inventory_ami_data
1471- -- only see things that overlap
1472- INNER JOIN latest_ami ON latest_ami.ami_last_collection_date = date_parse(collection_date, '%Y-%m-%d %T')
1473- )
1457+ latest_ami as (
1458+ select
1459+ max(date_parse(collection_date, '%Y-%m-%d %T')) as ami_last_collection_date
1460+ FROM optimization_data.inventory_ami_data
1461+ ),
1462+ recent_amis as (
1463+ SELECT
1464+ imageid,
1465+ description as ami_description,
1466+ latest_ami.ami_last_collection_date
1467+ FROM optimization_data.inventory_ami_data
1468+ -- only see things that overlap
1469+ INNER JOIN latest_ami ON latest_ami.ami_last_collection_date = date_parse(collection_date, '%Y-%m-%d %T')
1470+ )
14741471
1475- SELECT
1476- recent_snapshots.*,
1477- recent_amis.*,
1478- CASE
1479- WHEN snapshot_ami_id = imageid THEN 'AMI Available'
1480- WHEN snapshot_ami_id LIKE 'ami%' THEN 'AMI Removed'
1481- ELSE 'Not AMI'
1482- END AS status,
1483- snapshot_costs.sum_line_item_unblended_cost
1484- FROM recent_snapshots
1485- LEFT JOIN recent_amis ON recent_snapshots.snapshot_ami_id = recent_amis.imageid
1486- LEFT JOIN snapshot_costs on recent_snapshots.snapshotid = snapshot_costs.snapshot_cur_id
1487- WHERE snapshot_ami_id is not NULL
1488- order by snapshotid
1472+ SELECT
1473+ recent_snapshots.*,
1474+ recent_amis.*,
1475+ CASE
1476+ WHEN snapshot_ami_id = imageid THEN 'AMI Available'
1477+ WHEN snapshot_ami_id LIKE 'ami%' THEN 'AMI Removed'
1478+ ELSE 'Not AMI'
1479+ END AS status,
1480+ snapshot_costs.sum_line_item_unblended_cost
1481+ FROM recent_snapshots
1482+ LEFT JOIN recent_amis ON recent_snapshots.snapshot_ami_id = recent_amis.imageid
1483+ LEFT JOIN snapshot_costs on recent_snapshots.snapshotid = snapshot_costs.snapshot_cur_id
1484+ WHERE snapshot_ami_id is not NULL
1485+ order by snapshotid
14891486
14901487
14911488 AthenaSnaphotAMIPricing :
0 commit comments