I am trying to import an existing resource into my project. This is my project structure:
env
--bi
----main.tf
----terraform.tf
----...
modules
--glue
----databases.tf
resources
Makefile
This is included in my Makefile, I added terraform-import just now:
VAR_FILES := "--var-file=secret.tfvars --var-file=settings.tfvars"
VAR_FILES := $(subst $",,$(VAR_FILES))
ARGS = $(filter-out $@,$(MAKECMDGOALS))
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
ENVIRONMENT := $(wordlist 2,2,$(MAKECMDGOALS))
MODULE := $(wordlist 3,3,$(MAKECMDGOALS))
$(eval $(MODULE):;@:)
FORCED_MODULE :=
ifdef MODULE
FORCED_MODULE := "-target=module.${MODULE}"
endif
check-login:
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) aws iam get-user
update-providers:
@cd $(SELF_DIR)environments/$(ENVIRONMENT) &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform init -upgrade &&
cd -
terraform-plan:
@cd $(SELF_DIR)environments/$(ENVIRONMENT) &&
echo ${FORCED_MODULE} &&
echo ${ENVIRONMENT} &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform init &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform get --update=true &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform plan ${FORCED_MODULE} $(VAR_FILES) &&
cd -
terraform-apply:
@cd $(SELF_DIR)environments/$(ENVIRONMENT) &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform init &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform get --update=true &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform apply ${FORCED_MODULE} $(VAR_FILES) &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform output &&
cd -
terraform-upgrade:
@cd $(SELF_DIR)environments/$(ENVIRONMENT) &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform init --upgrade &&
cd -
terraform-import:
@cd $(SELF_DIR)environments/$(ENVIRONMENT) &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform init --upgrade &&
AWS_PROFILE=finanzcheck-$(ENVIRONMENT) terraform import module.glue.aws_glue_catalog_database.xng_test_db xng_test &&
cd -
and I am running this in the root folder where Makefile is:
make terraform-import bi
but I get this:
Error: resource address "module.glue.aws_glue_catalog_database.xng_test_db" does not exist in the configuration.
Before importing this resource, please create its configuration in module.glue. For example:
resource "aws_glue_catalog_database" "xng_test_db" {
# (resource arguments)
}
The path doesn’t seem to be correct because I already have this in my databases.tf file:
resource "aws_glue_catalog_database" "xng_test_db" {
name = "xng_test"
}
what am i missing out on?