У меня есть файл 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)
}
В моем значении locals я назначаю параметр SSM, который является моим паролем, для переменной db_password
, как мне теперь использовать эту переменную в моем XML-файле?
dbconfig.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>