Я передаю переменную Terraform в виде списка для вызова Ansible.
Вот мое объявление переменной
variable "jenkins_plugins_list" {
description = "The list of jenkins' plugins to be installed"
type = "list"
default = ["kubernetes:1.21.2", "workflow-job:2.36", "workflow-aggregator:2.6", "credentials-binding:1.20", "git:4.0.0"]
}
А вот мой вызов Ansible:
provisioner "local-exec" {
command = "ansible-playbook -vvv ${path.module}/playbooks/playbook.yaml -i ./playbooks/hosts --extra-vars \"{ \"k8s_cluster_name\": \"${local.k8s_name}\", \"zonename\": \"${var.zone}\", \"env_name\": \"${var.env_name}\", \"google_project_name\": \"${var.project_id}\", \"jenkins_master_image_tag\": \"${var.jenkins_master_image_tag}\", \"jenkins_agent_image_tag\": \"${var.jenkins_agent_image_tag}\", \"jenkins_plugins_list\": \"${jsonencode(var.jenkins_plugins_list)}\" }\""
}
}
Последний выводится следующим образом:
helm upgrade --force --tls --install --set master.installPlugins=[u'kubernetes:1.21.2', u'workflow-job:2.36', u'workflow-aggregator:2.6', u'credentials-binding:1.20', u'git:4.0.0'] --set master.tag=lts --set agent.tag=3.27-1 -f /org_files/tmp/kerkyra-jenkins/jenkins-values.yaml jenkins-myenv --namespace jenkins stable/jenkins
Есть ли способ удалить u
из каждого элемента списка в интерполированной переменной jenkins_plugins_list
?