@@ -158,6 +158,9 @@ build.init: $(UP)
158158# Setup Terraform for fetching provider schema
159159TERRAFORM := $(TOOLS_HOST_DIR ) /terraform-$(TERRAFORM_VERSION )
160160TERRAFORM_WORKDIR := $(WORK_DIR ) /terraform
161+ TERRAFORM_CLI_CONFIG_FILE := $(TERRAFORM_WORKDIR ) /.terraformrc-custom
162+ TERRAFORM_PROVIDER := $(TOOLS_HOST_DIR ) /registry.terraform.io/$(TERRAFORM_PROVIDER_SOURCE ) /$(TERRAFORM_PROVIDER_VERSION ) /$(SAFEHOST_PLATFORM ) /terraform-provider-aws
163+ TERRAFORM_PROVIDER_RELEASE := v$(TERRAFORM_PROVIDER_VERSION ) -upjet
161164TERRAFORM_PROVIDER_SCHEMA := config/schema.json
162165
163166$(TERRAFORM ) :
@@ -169,12 +172,21 @@ $(TERRAFORM):
169172 @rm -fr $(TOOLS_HOST_DIR ) /tmp-terraform
170173 @$(OK ) installing terraform $(HOSTOS ) -$(HOSTARCH )
171174
172- $(TERRAFORM_PROVIDER_SCHEMA ) : $(TERRAFORM )
175+ $(TERRAFORM_PROVIDER ) :
176+ @$(INFO ) installing terraform provider $(SAFEHOST_PLATFORM )
177+ @mkdir -p $$(dirname $(TERRAFORM_PROVIDER ) )
178+ @curl -fsSL https://github.com/upbound/terraform-provider-aws/releases/download/$(TERRAFORM_PROVIDER_RELEASE ) /terraform-provider-aws_$(TERRAFORM_PROVIDER_RELEASE ) _$(SAFEHOST_PLATFORM ) .zip -o $(TERRAFORM_PROVIDER ) .zip
179+ @unzip $(TERRAFORM_PROVIDER ) .zip -d $$(dirname $(TERRAFORM_PROVIDER ) )
180+ @rm -fr $(TERRAFORM_PROVIDER ) .zip
181+ @$(OK ) installing terraform provider $(SAFEHOST_PLATFORM )
182+
183+ $(TERRAFORM_PROVIDER_SCHEMA ) : $(TERRAFORM ) $(TERRAFORM_PROVIDER )
173184 @$(INFO ) generating provider schema for $(TERRAFORM_PROVIDER_SOURCE ) $(TERRAFORM_PROVIDER_VERSION )
174185 @mkdir -p $(TERRAFORM_WORKDIR )
175186 @echo ' {"terraform":[{"required_providers":[{"provider":{"source":"' " $( TERRAFORM_PROVIDER_SOURCE) " ' ","version":"' " $( TERRAFORM_PROVIDER_VERSION) " ' "}}],"required_version":"' " $( TERRAFORM_VERSION) " ' "}]}' > $(TERRAFORM_WORKDIR ) /main.tf.json
176- @$(TERRAFORM ) -chdir=$(TERRAFORM_WORKDIR ) init -upgrade > $(TERRAFORM_WORKDIR ) /terraform-logs.txt 2>&1
177- @$(TERRAFORM ) -chdir=$(TERRAFORM_WORKDIR ) providers schema -json=true > $(TERRAFORM_PROVIDER_SCHEMA ) 2>> $(TERRAFORM_WORKDIR ) /terraform-logs.txt
187+ @echo ' provider_installation { filesystem_mirror { path = "' " $( TOOLS_HOST_DIR) " ' ", include = ["hashicorp/aws"] }, direct { exclude = ["hashicorp/aws"] } }' > $(TERRAFORM_CLI_CONFIG_FILE )
188+ @TF_CLI_CONFIG_FILE=$(TERRAFORM_CLI_CONFIG_FILE ) $(TERRAFORM ) -chdir=$(TERRAFORM_WORKDIR ) init -upgrade > $(TERRAFORM_WORKDIR ) /terraform-logs.txt 2>&1
189+ @TF_CLI_CONFIG_FILE=$(TERRAFORM_CLI_CONFIG_FILE ) $(TERRAFORM ) -chdir=$(TERRAFORM_WORKDIR ) providers schema -json=true > $(TERRAFORM_PROVIDER_SCHEMA ) 2>> $(TERRAFORM_WORKDIR ) /terraform-logs.txt
178190 @$(OK ) generating provider schema for $(TERRAFORM_PROVIDER_SOURCE ) $(TERRAFORM_PROVIDER_VERSION )
179191
180192pull-docs :
0 commit comments