# Provider determines the method (AWS) and some basic provider properties
provider "aws" {
  region = var.region
}

# Caller Identity
data "aws_caller_identity" "current" {}

# Terraform backends cannot contain interpolations - of the form ${var.environment}-${var.service_name}-state
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/ddex-ingester/iam/terraform.tfstate"
    region  = "us-east-1"
    encrypt = true
  }
}

data "aws_secretsmanager_secret" "rds_read_write_password" {
  name = "prod/ddex-ingester/rds_read_write_password"
}

data "aws_s3_bucket" "s3_ddex_ingester_bucket" {
  bucket = "prod-ddex-ingester"
}

data "aws_sfn_state_machine" "sfn_ddex_ingester" {
  name = "prod-ddex-ingester-sfn"
}

data "aws_sfn_state_machine" "sfn_awal_ingester" {
  name = "prod-awal-ingester-sfn"
}

data "aws_sfn_state_machine" "sfn_sme_marketing_ingester" {
  name = "prod-sme-marketing-ingester-sfn"
}

data "aws_lambda_function" "lambda_awal_ingestion_flow_control" {
  function_name = "prod-ddex-ingester-awal-ingestion-flow-control"
}

data "aws_lambda_function" "lambda_copy_assets_to_asheville" {
  function_name = "ddex-ingester-copy-assets-to-asheville-prod"
}

data "aws_lambda_function" "lambda_create_ingestion_lock" {
  function_name = "ddex-ingester-create-ingestion-lock-prod"
}

data "aws_lambda_function" "lambda_create_tracks" {
  function_name = "ddex-ingester-create-tracks-prod"
}

data "aws_lambda_function" "lambda_create_video" {
  function_name = "ddex-ingester-create-video-prod"
}

data "aws_lambda_function" "lambda_detect_errors" {
  function_name = "ddex-ingester-detect-errors-prod"
}

data "aws_lambda_function" "lambda_fix_video_resolution" {
  function_name = "ddex-ingester-fix-video-resolution-prod"
}

data "aws_lambda_function" "lambda_handle_artwork" {
  function_name = "ddex-ingester-handle-artwork-prod"
}

data "aws_lambda_function" "lambda_handle_audio_asset" {
  function_name = "ddex-ingester-handle-audio-asset-prod"
}

data "aws_lambda_function" "lambda_handle_purged_release" {
  function_name = "ddex-ingester-handle-purged-release-prod"
}

data "aws_lambda_function" "lambda_handle_video_asset" {
  function_name = "ddex-ingester-handle-video-asset-prod"
}

data "aws_lambda_function" "lambda_import_delivery_history" {
  function_name = "ddex-ingester-import-delivery-history-prod"
}

data "aws_lambda_function" "lambda_import_delivery_history_from_ext_ddex" {
  function_name = "ddex-ingester-import-delivery-history-ext-ddex-prod"
}

data "aws_lambda_function" "lambda_import_store_links" {
  function_name = "ddex-ingester-import-store-links-prod"
}

data "aws_lambda_function" "lambda_import_store_links_from_ext_ddex" {
  function_name = "ddex-ingester-import-store-links-ext-ddex-prod"
}

data "aws_lambda_function" "lambda_lookup_orchard_product" {
  function_name = "ddex-ingester-lookup-orchard-product-prod"
}

data "aws_lambda_function" "lambda_lookup_switchboard_deal" {
  function_name = "ddex-ingester-lookup-switchboard-deal-prod"
}

data "aws_lambda_function" "lambda_lookup_video_product" {
  function_name = "ddex-ingester-lookup-video-product-prod"
}

data "aws_lambda_function" "lambda_parse_ddex" {
  function_name = "ddex-ingester-parse-ddex-prod"
}

data "aws_lambda_function" "lambda_parse_sme_marketing" {
  function_name = "ddex-ingester-parse-sme-marketing-prod"
}

data "aws_lambda_function" "lambda_poll_artwork_asset_status" {
  function_name = "ddex-ingester-poll-artwork-asset-status-prod"
}

data "aws_lambda_function" "lambda_poll_audio_asset_status" {
  function_name = "ddex-ingester-poll-audio-asset-status-prod"
}

data "aws_lambda_function" "lambda_poll_video_asset_status" {
  function_name = "ddex-ingester-poll-video-workflow-status-prod"
}

data "aws_lambda_function" "lambda_prep_ddex" {
  function_name = "ddex-ingester-prep-ddex-prod"
}

data "aws_lambda_function" "lambda_prep_sme_ddex" {
  function_name = "ddex-ingester-prep-sme-ddex-prod"
}

data "aws_lambda_function" "lambda_process_participants" {
  function_name = "ddex-ingester-process-participants-prod"
}

data "aws_lambda_function" "lambda_register_delivery_to_ingest" {
  function_name = "ddex-ingester-register-delivery-to-ingest-prod"
}

data "aws_lambda_function" "lambda_remove_ingestion_lock" {
  function_name = "ddex-ingester-remove-ingestion-lock-prod"
}

data "aws_lambda_function" "lambda_report_errors" {
  function_name = "ddex-ingester-report-errors-prod"
}

data "aws_lambda_function" "lambda_retrieve_orchard_metadata" {
  function_name = "ddex-ingester-retrieve-orchard-metadata-prod"
}

data "aws_lambda_function" "lambda_send_sme_ack" {
  function_name = "ddex-ingester-send-sme-ack-prod"
}

data "aws_lambda_function" "lambda_set_carveouts" {
  function_name = "ddex-ingester-set-carveouts-prod"
}

data "aws_lambda_function" "lambda_set_main_release_date" {
  function_name = "ddex-ingester-set-main-release-date-prod"
}

data "aws_lambda_function" "lambda_set_marketing_blurb" {
  function_name = "ddex-ingester-set-marketing-blurb-prod"
}

data "aws_lambda_function" "lambda_set_marketing_highlights" {
  function_name = "ddex-ingester-set-marketing-highlights-prod"
}

data "aws_lambda_function" "lambda_set_preorder_info" {
  function_name = "ddex-ingester-set-preorder-info-prod"
}

data "aws_lambda_function" "lambda_set_pricing" {
  function_name = "ddex-ingester-set-pricing-prod"
}

data "aws_lambda_function" "lambda_set_product" {
  function_name = "ddex-ingester-set-product-prod"
}

data "aws_lambda_function" "lambda_set_product_to_complete" {
  function_name = "ddex-ingester-set-product-to-complete-prod"
}

data "aws_lambda_function" "lambda_set_project" {
  function_name = "ddex-ingester-set-project-prod"
}

data "aws_lambda_function" "lambda_set_release_correction" {
  function_name = "ddex-ingester-set-release-correction-prod"
}

data "aws_lambda_function" "lambda_set_track_metadata" {
  function_name = "ddex-ingester-set-track-metadata-prod"
}

data "aws_lambda_function" "lambda_set_video_metadata" {
  function_name = "ddex-ingester-set-video-metadata-prod"
}

data "aws_lambda_function" "lambda_submit_product" {
  function_name = "ddex-ingester-submit-product-prod"
}

data "aws_lambda_function" "lambda_trigger_state_machine" {
  function_name = "ddex-ingester-trigger-state-machine-prod"
}

data "aws_lambda_function" "lambda_validate_ddex" {
  function_name = "ddex-ingester-validate-ddex-prod"
}

data "aws_lambda_function" "lambda_validate_product" {
  function_name = "ddex-ingester-validate-product-prod"
}

data "aws_lambda_function" "lambda_write_catalog_ingestion" {
  function_name = "ddex-ingester-write-catalog-ingestion-prod"
}
