python_terraform:无法禁用应用确认
我在使用 python_terraform
自动应用我的 Terraform 配置时遇到了一个问题。具体来说,即使我在 terraform.apply()
函数调用中加上了 auto_approve=True
的参数,它还是会让我确认。下面是我的代码片段:
python
from python_terraform import Terraform
# Initialize Terraform
t = Terraform()
variables = {'a': 'b'}
print("Initializing Terraform...")
return_code, stdout, stderr = terraform.init()
if return_code == 0:
print("Terraform initialized successfully")
# Show state
terraform.show()
# Apply Terraform changes
print("Applying Terraform changes...")
return_code, stdout, stderr = terraform.apply(
auto_approve=True, # supposed to auto-approve but doesn't seem to work
var=variables,
lock=False,
capture_output=False,
input=False
)
if stdout and stderr:
print(stdout.decode('utf-8')) # Print stdout
print(stderr.decode('utf-8')) # Print stderr
print("done successfully")
但是,当我运行这个脚本时,它还是会让我确认,并显示以下信息:
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: #if i tap "yes" it works
1 个回答
0
我找到了问题的解决办法。在 terraform_python
脚本里有一个小错误。要解决这个问题,首先要找到 terraform_python
的安装位置。在Ubuntu系统中,你可以使用以下命令:
pip show python_terraform
接下来,在 __init__.py 文件里找到这一行:
default['auto-approve'] = (skip_plan == True)
然后把它替换成这个:
default['auto_approve'] = (skip_plan == True)
问题就解决了。希望这个信息对某些人有帮助。