diff --git a/terraform/data.tf b/terraform/data.tf new file mode 100644 index 0000000..98cf3df --- /dev/null +++ b/terraform/data.tf @@ -0,0 +1,3 @@ +data "aws_ssm_parameter" "core_contract" { + name = "/infra/${var.environment}/gfw-aws-core-infra/contract" +} diff --git a/terraform/locals.tf b/terraform/locals.tf index e8cf683..1c58c5e 100644 --- a/terraform/locals.tf +++ b/terraform/locals.tf @@ -1,6 +1,4 @@ locals { - bucket_suffix = var.environment == "production" ? "" : "-${var.environment}" - tf_state_bucket = "gfw-terraform${local.bucket_suffix}" project = "lambda-layers" name_suffix = terraform.workspace == "default" ? "" : "-${terraform.workspace}" tags = { @@ -8,4 +6,5 @@ locals { Environment = var.environment, BuiltBy = "Terraform" } + core = jsondecode(data.aws_ssm_parameter.core_contract.value) } \ No newline at end of file diff --git a/terraform/main.tf b/terraform/main.tf index 8c0d624..2704c5e 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -7,18 +7,9 @@ terraform { } } -data "terraform_remote_state" "core" { - backend = "s3" - config = { - bucket = local.tf_state_bucket - region = "us-east-1" - key = "core.tfstate" - } -} - module "py310_geopandas_0144" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "geopandas" module_version = "0.14.4" runtime = "python3.10" @@ -27,7 +18,7 @@ module "py310_geopandas_0144" { module "py310_mercantile_121" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "mercantile" module_version = "1.2.1" runtime = "python3.10" @@ -36,7 +27,7 @@ module "py310_mercantile_121" { module "py310_numpy_1264" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "numpy" module_version = "1.26.4" runtime = "python3.10" @@ -45,7 +36,7 @@ module "py310_numpy_1264" { module "py310_pandas_153" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "pandas" module_version = "1.5.3" runtime = "python3.10" @@ -54,7 +45,7 @@ module "py310_pandas_153" { module "py310_pillow_950" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "pillow" module_version = "9.5.0" runtime = "python3.10" @@ -63,7 +54,7 @@ module "py310_pillow_950" { module "py310_rasterio_138" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "rasterio" module_version = "1.3.8" runtime = "python3.10" @@ -72,7 +63,7 @@ module "py310_rasterio_138" { module "py310_shapely_185" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "shapely" module_version = "1.8.5" runtime = "python3.10" @@ -83,7 +74,7 @@ module "py310_shapely_185" { # These are temporary: module "py310_geopandas_no_numpy_no_pandas" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "geopandas_no_numpy_no_pandas" module_version = "0.14.4" runtime = "python3.10" @@ -92,7 +83,7 @@ module "py310_geopandas_no_numpy_no_pandas" { module "py310_numpy" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "numpy" module_version = "1.26.4" runtime = "python3.10" @@ -101,7 +92,7 @@ module "py310_numpy" { module "py310_pandas_no_numpy" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "pandas_no_numpy" module_version = "1.5.3" runtime = "python3.10" @@ -110,7 +101,7 @@ module "py310_pandas_no_numpy" { module "py310_rasterio_no_numpy" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "rasterio_no_numpy" module_version = "1.3.8" runtime = "python3.10" @@ -119,7 +110,7 @@ module "py310_rasterio_no_numpy" { module "py310_shapely_no_numpy" { source = "./modules/lambda_layer" - bucket = data.terraform_remote_state.core.outputs.pipelines_bucket + bucket = local.core.gfw_pipelines_bucket_name name = "shapely_no_numpy" module_version = "1.8.5" runtime = "python3.10" @@ -128,7 +119,7 @@ module "py310_shapely_no_numpy" { } module "ssm" { - source = "git::https://github.com/wri/gfw-terraform-modules.git//terraform/modules/ssm?ref=v0.4.2.8" + source = "git::https://github.com/wri/gfw-terraform-modules.git//terraform/modules/ssm?ref=v0.4.2.12" environment = var.environment namespace = "gfw-lambda-layers" contract = {