locals {
  bucket_name = "bsmsapp"
  path        = "../resources"

  s3 = {
    website = {
      type        = 1
      bucket_name = local.bucket_name
      bucket_acl  = "private"
      path        = "../resources"

      website = {
        index_document = "index.html"
        error_document = "error.html"
      }

      objects = {
        favicon = {
          filename     = "favicon.ico"
          content_type = "image/x-icon"
        }
        loading = {
          filename     = "loading.gif"
          content_type = "image/gif"
        }
      }
    }

    logs = {
      type        = 2
      bucket_name = "${local.bucket_name}-logs"
      bucket_acl  = "log-delivery-write"
    }
  }

  lambdas = {
    lambdaSQS = {
      package            = "${local.path}/lambda/lambdaSQS.zip"
      function_name      = "AWSLambdaHandlerAPISQSDBg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.stepfunctions_sg.id
    },
    lambdaDB = {
      package            = "${local.path}/lambda/lambdaDB.zip"
      function_name      = "AWSLambdaHandlerAPIDBg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.dynamodb_sg.id
    }
    lambdaSNS = {
      package            = "${local.path}/lambda/lambdaSNS.zip"
      function_name      = "AWSLambdaHandlerAPISNSg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.sns_sg.id
    }
    lambdaGET = {
      package            = "${local.path}/lambda/lambdaGET.zip"
      function_name      = "AWSLambdaHandlerGETg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.7",
      security_group_ids = aws_security_group.sns_sg.id
    }
    lambdaUpdate = {
      package            = "${local.path}/lambda/lambdaUpdate.zip"
      function_name      = "AWSLambdaHandlerUpdateg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.dynamodb_sg.id
    }
    lambdaError = {
      package            = "${local.path}/lambda/lambdaError.zip"
      function_name      = "AWSLambdaHandlerSNSErrorg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.sns_sg.id
    }
    lambdaUpdateAPI = {
      package            = "${local.path}/lambda/lambdaUpdateAPI.zip"
      function_name      = "AWSLambdaHandlerUpdateAPIg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.dynamodb_sg.id
    }
    lambdaRemove = {
      package            = "${local.path}/lambda/lambdaRemove.zip"
      function_name      = "AWSLambdaHandlerRemoveDBg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.dynamodb_sg.id
    }
    lambdaTopicSNS = {
      package            = "${local.path}/lambda/lambdaTopicSNS.zip"
      function_name      = "AWSLambdaHandlerTopicSNSg3"
      role               = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/LabRole"
      handler            = "lambda_handler.main"
      runtime            = "python3.9",
      security_group_ids = aws_security_group.sns_sg.id
    }
  }

  private_inbound = [
    {
      rule_number = 100
      rule_action = "allow"
      from_port   = 1024
      to_port     = 65535
      protocol    = "tcp"
      cidr_block  = "0.0.0.0/0"
    }
  ]
  private_outbound = [
    {
      rule_number = 100
      rule_action = "allow"
      from_port   = 0
      to_port     = 65535
      protocol    = 6
      cidr_block  = "0.0.0.0/0"
    }
  ]

  domain = "santilococo.com.ar"

  emails = ["slococo@itba.edu.ar"]
}