# Scripts to generate S3 recovery manifests

## generate_recovery_manifest.py

Awsume backup account credentials for running the script.

Generates two CSV files containing the S3 bucket, key, and version ID for all objects in the specified S3 bucket. One file contains objects smaller than 5GB and the other contains objects 5GB or larger. The smaller one can be directly used with create_batch_operation_copy_job.py.

The larger one needs Lambda workflow.

Use --yesterday to use yesterday's inventory instead of today's. This is useful if today's inventory is not available yet.

Use --prefix to filter the results to a specific prefix.

Use --last-modified-newer-than and --last-modified-older-than to filter the results to a specific date range. These can be combined to query for a specific date or date range.

## get_objects_larger_than_5gb_from_all_inventories.py

Queries Athena for all inventories and combines the results into a single CSV file. This is used for the larger manifest that needs Lambda workflow.

This is mostly informational and not used directly in the Lambda workflow.

## create_batch_operation_copy_job.py

Creates a batch operations copy job in the recovery bucket. This is used for the smaller manifest that does not need Lambda workflow.
