provider "aws" {
  region = "us-east-1"

  default_tags {
    tags = module.default_tags.tags
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = "dev"
  application_family = "devops"
  service_name       = "rbac"
  team_name          = "devops"
}

module "rbac_policy" {
  source = "../../modules/rbac"

  application_family = "test_family"
  cloudsearch_domains_or_prefixes_to_access = [
    "cloudsearch-domain",
    "cloudsearch-prefix-*",
  ]
  dynamodb_tables_or_prefixes_to_access = [
    "dynamo-table",
    "dynamo-prefix-*",
  ]
  elastic_transcoder_pipelines_or_presets_or_prefixes_to_access = [
    "elastictranscoder-pipeline",
    "elastictranscoder-prefix-*",
  ]
  kinesis_streams_or_prefixes_to_access = [
    "kinesis-stream",
    "kinesis-prefix-*",
  ]
  managed_airflow_environments_or_prefixes_to_access = [
    "managed-airflow-environment",
    "managed-airflow-prefix-*",
  ]
  stepfunctions_state_machines_or_prefixes_to_access = [
    "state-machine",
    "state-machine-prefix-*",
  ]
  mediaconvert_jobs_or_prefixes_to_access = [
    "mediaconvert-job",
    "mediaconvert-prefix-*",
  ]
  mediaconvert_queues_or_prefixes_to_access = [
    "mediaconvert-queue",
    "mediaconvert-prefix-*",
  ]
  mediaconvert_jobtemplates_or_prefixes_to_access = [
    "mediaconvert-jobtemplate",
    "mediaconvert-prefix-*",
  ]
  mediaconvert_presets_or_prefixes_to_access = [
    "mediaconvert-preset",
    "mediaconvert-prefix-*",
  ]
  mediaconvert_passed_roles_to_access = [
    "mediaconvert-passed-role",
    "mediaconvert-passed-role-2",
  ]
  s3_buckets_or_prefixes_to_access = [
    "s3-bucket",
    "s3-prefix-*",
  ]
  sqs_queues_or_prefixes_to_access = [
    "sqs-queue",
    "sqs-prefix-*",
  ]
}

module "empty_rbac_policy" {
  source = "../../modules/rbac"
  application_family = "test_family"
}

resource "null_resource" "echo" {
  provisioner "local-exec" {
    command = "echo First ARN is ${tolist(module.rbac_policy.iam_policy_arns)[0]}"
  }
}
