python_terraform 没有采用 s3 后端
python_terraform is not taking s3 backend
因为我正在使用 python_terraform 模块来应用地形。我正在 python 和 运行 init 中创建一个 terraform 后端文件,但是在应用到 terraform 之后,状态文件是在本地创建的
from python_terraform import *
import shutil
import os
var_file = "test_sqs_name"
print(var_file)
# creating the terraform.tf file
backend_file = open("/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/terraform.tf", "w+")
backend_file.write("""terraform {
backend \"s3\" {
key = \"formations/project/sqs/dev/%s\"
bucket = \"terraform-backend-dev\"
dynamodb_table = \"terraform-backend-dev\"
region = \"us-west-2\"
profile = \"engdev\"
}
}""" % (var_file))
try:
shutil.rmtree("/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/.terraform")
except OSError as e:
print("Error: %s : %s" % (
"/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/.terraform", e.strerror))
tf = Terraform(working_dir='/Users/ankit/workplace/events-infra/terraform/formations/test/sqs',
terraform_bin_path='/usr/local/bin/terraform-0-12-12',
var_file='/Users/ankit/workplace/events-infra/backend/test.us-west-2-' + var_file + '.tfvars',
)
tf.init(
dir_or_plan='/Users/ankit/workplace/events-infra/terraform/formations/test/sqs',
)
plan_value = tf.plan(no_color=IsFlagged, refresh=False, capture_output=True)
print(plan_value[1])
approve = {"auto-approve": True}
print(tf.apply(capture_output=True, auto_approve=True, skip_plan=True, **approve)[1])
文件一直保持打开状态,直到 python 退出,这可能会干扰 Terraform 读取它。
因为我正在使用 python_terraform 模块来应用地形。我正在 python 和 运行 init 中创建一个 terraform 后端文件,但是在应用到 terraform 之后,状态文件是在本地创建的
from python_terraform import *
import shutil
import os
var_file = "test_sqs_name"
print(var_file)
# creating the terraform.tf file
backend_file = open("/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/terraform.tf", "w+")
backend_file.write("""terraform {
backend \"s3\" {
key = \"formations/project/sqs/dev/%s\"
bucket = \"terraform-backend-dev\"
dynamodb_table = \"terraform-backend-dev\"
region = \"us-west-2\"
profile = \"engdev\"
}
}""" % (var_file))
try:
shutil.rmtree("/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/.terraform")
except OSError as e:
print("Error: %s : %s" % (
"/Users/ankit/workplace/events-infra/terraform/formations/test/sqs/.terraform", e.strerror))
tf = Terraform(working_dir='/Users/ankit/workplace/events-infra/terraform/formations/test/sqs',
terraform_bin_path='/usr/local/bin/terraform-0-12-12',
var_file='/Users/ankit/workplace/events-infra/backend/test.us-west-2-' + var_file + '.tfvars',
)
tf.init(
dir_or_plan='/Users/ankit/workplace/events-infra/terraform/formations/test/sqs',
)
plan_value = tf.plan(no_color=IsFlagged, refresh=False, capture_output=True)
print(plan_value[1])
approve = {"auto-approve": True}
print(tf.apply(capture_output=True, auto_approve=True, skip_plan=True, **approve)[1])
文件一直保持打开状态,直到 python 退出,这可能会干扰 Terraform 读取它。