当我在做terraform init命令时,TF没有tfstate(我的tfstate文件在s3存储桶中)。此外,我无法在.terraform文件夹内看到terraform backend-config文件。terraform init创建空的tfstate文件
我使用terraform 0.10.4版本
输出:
$ terraform --version
Terraform v0.10.4
$ terraform init \
-lock="true"
-backend-config="bucket=$TF_STATE_BUCKET"
-backend-config="key=$TF_STATE_KEY"
-backend-config="dynamodb_table=$TF_LOCK_TABLE"
-backend-config="region=$AWS_REGION"
-backend-config="profile=$AWS_PROFILE"
-backend-config="encrypt=true"
.
Downloading modules...
Get: git::ssh://XXXXXXXXXXXXXXXXX/add/tf-vpc.git?ref=1.0.1
Get: git::ssh://XXXXXXXXXXXXXXXXX/add/tf-ec-redis.git?ref=1.1.3
Get: git::ssh://XXXXXXXXXXXXXXXXX/add/tf-rds-pg.git?ref=1.3.0
Initializing provider plugins...
Checking for available provider plugins on https://releases.hashicorp.com...
Downloading plugin for provider "aws" (0.1.4)...
The following providers do not have any version constraints in configuration,
so the latest version was installed.
To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.
provider.aws: version = "~> 0.1"
Terraform has been successfully initialized!
您现在可以开始与Terraform工作。尝试运行“terraform plan”以查看您的基础架构所需的任何更改 。所有Terraform命令 现在应该可以工作。
如果您曾设置或更改Terraform的模块或后端配置,请重新运行此命令以重新初始化您的工作目录。如果您忘记了,其他命令会检测到它并提醒您在必要时执行此操作。
$ ll -al .terraform/
total 8
drwxr-xr-x 1 XXXXX 1049089 0 Sep 12 18:10 modules/
drwxr-xr-x 1 XXXXX 1049089 0 Sep 12 18:10 plugins/
在现在的位置TF将采取S3-tfstate文件的备份,但它不存在。
$ terraform refresh 空的或不存在的状态文件。 刷新将无能为力。刷新不会错误或返回错误的退出状态,因为许多自动化脚本使用刷新,计划,然后应用 ,并且在第一次运行时可能还没有状态文件。 输出: dev_private_zone_name = XXXXXXXXXX.local private_zone_name = XXXXXXXXXX.local – user2128514