Я пытаюсь написать некоторую автоматизацию, и одной из задач является получение сертификатов CA из нескольких разных мест и сохранение их в одном файле конфигурации. Этот файл конфигурации хранит сертификаты указанным c способом:
'-----BEGIN CERTIFICATE-----\nMIID1jCCAr6gAwIBAgICeh0wDQYJKoZIhvcNAQELBQAwgZ8xCzAJBgNVBAYTAi0t\nMRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK\nDBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV\nbml0MRAwDgYDVQQDDAdNRkYtMDI0MRswGQYJKoZIhvcNAQkBFgxyb290QE1GRi0w\nMjQwHhcNMjAwMjI2MTMzOTIzWhcNMjEwMjI1MTMzOTIzWjCBnzELMAkGA1UEBhMC\nLS0xEjAQBgNVBAgMCVNvbWVTdGF0ZTERMA8GA1UEBwwIU29tZUNpdHkxGTAXBgNV\nBAoMEFNvbWVPcmdhbml6YXRpb24xHzAdBgNVBAsMFlNvbWVPcmdhbml6YXRpb25h\nbFVuaXQxEDAOBgNVBAMMB01GRi0wMjQxGzAZBgkqhkiG9w0BCQEWDHJvb3RATUZG\nLTAyNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2YIL5Wx/eCgfhn\nWvM7yofnZknPTtTqr3ERtpzRwc6+1s1jAps8qxiJM8CSVJfv2gMQZCSFLA8xy928\nsllk7pzAaATRg6a6dzR3Z2kte3/9HR7gUKLqlaGvzoo1JZkO0zL72IJ4QrZJtWrm\nDJTToneFCnzFt3S9WOGvH0iuF4p45fpmqBvYjlQXjhNFJawxbiJyUQOI5Y/twI8u\nDdpaKFcToW4oKb+tWO49jjtPJh/zjNwhVtrOyD+EorSZ6h0qI8rRaHCdN0P3PDEr\n2cNH2Z0lT05A2FOCiZgnDkGdBPuIKzKvHqYuUl/XdtouHLoKDRINy7OP6DwU7MkM\n2VRQKakCAwEAAaMaMBgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcN\nAQELBQADggEBACeWyKkWq5pVuoWQQXnFmVX9PekkPuYNomy8cuqLuVFcf97zxNjO\nTqeMcNpkByVUOCDa558U+GqEmP1sPDeL5V6YbTbaP/Mc9a4XERPkJTpJyn8oJDtf\n3jcO/iNyofAVgU0zJHQ+By9MxQE+jh0hVxyOcI/Bk23OWat0GaqRmI/wWZk2mhd7\nYkPhUIYHnCJaA1Vt78mEyf54srHpaDwVcY2YPDK3582qCK4J82T9llEVJYSf2Hp1\nWUn/QApilMqqLg701u0ySYAVYj2q/B7URW1nhP//7VMXvNL5ItLmXHXz40i/bnoa\nHukTJ+nesE0PAScSDtz20Bw98K7pQtVnb54=\n-----END CERTIFICATE-----\n
Все находится в одной строке с \ n для новой строки. Теперь у меня есть небольшая игра, которая в основном получает содержимое файла .crt и использует переменную для записи его в конфигурацию.
- name: Retrieve CA certificate
shell: cat /etc/pki/tls/certs/localhost.crt
register: ca_certificate
- debug:
msg: "CA is: {{ ca_certificate.stdout }}"
- name: Adding agent configuration to global rules
lineinfile:
path: /root/test2
line: '{{ ca_certificate.stdout }}'
create: true
Теперь мой вывод из отладки показывает результат так, как я хочу, чтобы он был записан:
TASK [debug] ********************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "CA is: -----BEGIN CERTIFICATE-----\nMIID0jCCArqgAwIBAgICAugwDQYJKoZIhvcNAQELBQAwgZ0xCzAJBgNVBAYTAi0t\nMRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK\nDBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV\nbml0MQ8wDQYDVQQDDAZpaC0yMDAxGjAYBgkqhkiG9w0BCQEWC3Jvb3RAaWgtMjAw\nMB4XDTIwMDMwMzE1MDgzNFoXDTIxMDMwMzE1MDgzNFowgZ0xCzAJBgNVBAYTAi0t\nMRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK\nDBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV\nbml0MQ8wDQYDVQQDDAZpaC0yMDAxGjAYBgkqhkiG9w0BCQEWC3Jvb3RAaWgtMjAw\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtGynZNa/HT/Mu3z1qiMf\nqDNAMeEGnwLEm+ih/fXlwqNAsNS3Ysnfn4t3vOGOOBbf4TpTNjM7YD6/sRXlMa7e\njxOsusUb+CJ0A/sJ0Ht5lUGUPHbTKdo+yLdCMLcUnRo8KmUsED44YRXiW6KqqNLs\neh8U4eYV5oTgC8GJUTuy9cJnvW9RqjB9hzD+d6gDmj9YF8/vsEcEdYz5RXpYCua7\n/WPool4nKN8vCb3aludNw8jCqPxGkKcA+Fk/BBbQ8bLGtWVw7EMpkhUZUr8tdWvm\nuG9cy2mxLoKV3sR4FnQfCCLaaJh7LLvzO8wj2C5WpuHhheKLkE+WDS1yUVSNlc+8\nmQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF\nAAOCAQEAlOaBcNMriDOp0Md0y6jnK7R+3FPOjv93Gjowx/Xu3873dXZte5Muuz1Z\nR5GJRDZAfipLhkrGb64/+7rGEo3wK+HQaWwAbZxvWk1bHnW5rY+alAXPQyGIcpha\nE1lSyQPUqyg5+i7pAaM94BVV4zggn+FA5FRN660Mk+abFktqwIoMDVkLb4jaq+hY\nD27BpWcWXVkXgY6GDaT2hryHgAaDrI5lK8JC3JrnlqBFclDeAShsae1GJbBtG96d\nG5kafNPDzbR7Eja/Vi5tebN6YCoNxt9PyIQ9cGY4QbuAVJeclR2RIUpw9d4pbTyT\nIpm048IqXTzyl8xH8r/pGHD18KtjqQ==\n-----END CERTIFICATE-----"
}
Но на самом деле он пишет в файлы следующим образом:
-----BEGIN CERTIFICATE-----
MIID0jCCArqgAwIBAgICAugwDQYJKoZIhvcNAQELBQAwgZ0xCzAJBgNVBAYTAi0t
MRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK
DBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV
bml0MQ8wDQYDVQQDDAZpaC0yMDAxGjAYBgkqhkiG9w0BCQEWC3Jvb3RAaWgtMjAw
MB4XDTIwMDMwMzE1MDgzNFoXDTIxMDMwMzE1MDgzNFowgZ0xCzAJBgNVBAYTAi0t
MRIwEAYDVQQIDAlTb21lU3RhdGUxETAPBgNVBAcMCFNvbWVDaXR5MRkwFwYDVQQK
DBBTb21lT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZTb21lT3JnYW5pemF0aW9uYWxV
bml0MQ8wDQYDVQQDDAZpaC0yMDAxGjAYBgkqhkiG9w0BCQEWC3Jvb3RAaWgtMjAw
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtGynZNa/HT/Mu3z1qiMf
qDNAMeEGnwLEm+ih/fXlwqNAsNS3Ysnfn4t3vOGOOBbf4TpTNjM7YD6/sRXlMa7e
jxOsusUb+CJ0A/sJ0Ht5lUGUPHbTKdo+yLdCMLcUnRo8KmUsED44YRXiW6KqqNLs
eh8U4eYV5oTgC8GJUTuy9cJnvW9RqjB9hzD+d6gDmj9YF8/vsEcEdYz5RXpYCua7
/WPool4nKN8vCb3aludNw8jCqPxGkKcA+Fk/BBbQ8bLGtWVw7EMpkhUZUr8tdWvm
uG9cy2mxLoKV3sR4FnQfCCLaaJBmLLvzO8wj2C5WpuHhheKLkE+WDS1yUVSNlc+8
mQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF
AAOCAQEAlOaBcNMriDOp0Md0y6jnK7R+3FPOjv93Gjowx/Xu3873dXZte5Muuz1Z
R5GJRDZAfipLhkrGb64/+7rGEo3wK+HQaWwA71xvWk1bHnW5rY+alAXPQyGIcpha
E1lSyQPUqyg5+i7pAaM94BVV4zggn+FA5FRN660Mk+abFktqwIoMDVkLb4jaq+hY
D27BpWcWXVkXgY6GDaT2hryHgAaDrI5lK8JC3JrnlqBFclDeAShsae1GJbBtG96d
G5kafNPDzbR7Eja/Vi5tebN6YCoNxt9PyIQ9cGY4QbuAVJeclR2RIUpw9d4pbTyT
Ipm048IqXTzyl8xH8r/pGHD18KtjqQ==
-----END CERTIFICATE-----
Может кто-нибудь сказать мне, можно ли записать в файл EXACT вывод из stdout, который я вижу из debug? Вся помощь очень ценится.