[英]How can I pass in a variable to an XML file (via Terraform)?
我有一個 XML 文件,用於配置與我正在使用的應用程序的數據庫連接。 但是,它需要我的數據庫密碼,該密碼存儲為 AWS 參數。 我知道如何將 Terraform 中的變量傳遞給用戶數據腳本,但如何將其傳遞給 XML 文件?
這是我的相關Terraform 代碼:
# My DB Password that is stored on AWS
data "aws_ssm_parameter" "db_password" {
name = "terraform/db-password"
}
# Creating a locals value from my dbconfig.xml file
locals {
dbconfig = templatefile("${path.module}/../../templates/dbconfig.xml", db_password = data.aws_ssm_parameter.db_password)
}
在我的本地值中,我將作為我密碼的 SSM 參數分配給變量db_password
,現在我如何在我的 xml 文件中使用該變量?
數據庫配置.xml :
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<database-type>postgresaurora96</database-type>
<jdbc-datasource>
<driver-class>org.postgresql.Driver</driver-class>
<username></username>
<password>db_password</password> <--- db_password variable
<connection-properties>tcpKeepAlive=true;socketTimeout=240</connection-properties>
</jdbc-datasource>
</jira-database-config>
您可以在模板中將db_password
引用為 TF 變量,因為您將其作為db_password
傳遞:
<?xml version="1.0" encoding="UTF-8"?>
<jira-database-config>
<name>defaultDS</name>
<database-type>postgresaurora96</database-type>
<jdbc-datasource>
<driver-class>org.postgresql.Driver</driver-class>
<username></username>
<password>${db_password}</password>
<connection-properties>tcpKeepAlive=true;socketTimeout=240</connection-properties>
</jdbc-datasource>
</jira-database-config>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.