Bienvenido a nuestro sitio web, en este lugar vas a encontrar la respuesta de lo que necesitas.
Nota
Este módulo es parte de ansible-base
e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre corto del módulo blockinfile incluso sin especificar el collections:
palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.
Nuevo en la versión 2.0: de ansible.builtin
- Sinopsis
- Parámetros
- Notas
- Ejemplos de
Sinopsis
- Este módulo insertará / actualizará / eliminará un bloque de texto de varias líneas rodeado de líneas de marcador personalizables.
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
attributesstring agregado en 2.3 de ansible.builtin | los attributes el archivo o directorio resultante debe tener. Para obtener indicadores compatibles, consulte la página de manual para chattr en el sistema de destino. string debe contener el attributes en el mismo orden que el mostrado por lsattr.Los = El operador se asume como predeterminado, de lo contrario + o - los operadores deben estar incluidos en el string.alias: attr |
|
respaldobooleano |
|
Cree un archivo de respaldo que incluya la información de la marca de tiempo para que pueda recuperar el archivo original si de alguna manera lo golpeó incorrectamente. |
cuadrastring | Defecto: “” |
El texto que se va a insertar dentro de las líneas del marcador, si falta o está vacío string, el bloque se eliminará como si state fueron especificados para absent .alias: contenido |
crearbooleano |
|
Cree un nuevo archivo si no existe. |
grupostring | Nombre del grupo que debería ser propietario del archivo / directorio, como se enviaría a chown. | |
insertar despuésstring |
|
Si se especifica y no comienza / termina marker se encuentran líneas, el bloque se insertará después de la última coincidencia de la expresión regular especificada. Hay un valor especial disponible; EOF para insertar el bloque al final del archivo. Si la expresión regular especificada no tiene coincidencias, EOF se utilizará en su lugar. |
insertar antesstring |
|
Si se especifica y no comienza / termina marker se encuentran líneas, el bloque se insertará antes de la última coincidencia de la expresión regular especificada. Hay un valor especial disponible; BOF para insertar el bloque al principio del archivo. Si la expresión regular especificada no tiene coincidencias, el bloque se insertará al final del archivo. |
marcadorstring | Defecto: “# mark ANSIBLE BLOQUE ADMINISTRADO” |
La plantilla de línea de marcador.mark será reemplazado con los valores en marker_begin (predeterminado = “BEGIN”) y marker_end (predeterminado = “FIN”). El uso de un marcador personalizado sin el mark La variable puede resultar en que el bloque se inserte repetidamente en ejecuciones posteriores del libro de jugadas. |
marker_beginstring agregado en 2.5 de ansible.builtin | Defecto: “EMPEZAR” |
Esto se insertará en mark en el marcador de bloque ansible de apertura. |
marker_endstring agregado en 2.5 de ansible.builtin | Defecto: “FIN” |
Esto se insertará en mark en el marcador de bloque ansible de cierre. |
modocrudo | Los permisos que debe tener el archivo o directorio resultante. / usr / bin / chmod recuerde que los modos son en realidad números octales. Debe agregar un cero a la izquierda para que el analizador YAML de Ansible sepa que es un número octal (como 0644 o 01777 ) o citarlo (como '644' o '1777' ) por lo que Ansible recibe un string y puede hacer su propia conversión desde string Darle a Ansible un número sin seguir una de estas reglas terminará con un número decimal que tendrá resultados inesperados.A partir de Ansible 1.8, el modo puede especificarse como un modo simbólico (por ejemplo, u+rwx o u=rw,g=r,o=r ).Si mode no se especifica y el archivo de destino no existe, el predeterminado umask en el sistema se utilizará al configurar el modo para el archivo recién creado. mode no se especifica y el archivo de destino lo hace existe, se utilizará el modo del archivo existente. mode es la mejor manera de garantizar que los archivos se creen con los permisos correctos. Consulte CVE-2020-1736 para obtener más detalles. |
|
dueñostring | Nombre del usuario que debería ser propietario del archivo / directorio, como se enviaría a chown. | |
senderosendero / requerido | El archivo a modificar.Antes de Ansible 2.3 esta opción solo se podía usar como dest, destfile y nombre. alias: dest, destfile, nombre |
|
selevelstring | La parte de nivel del contexto del archivo SELinux. Este es el MLS / MCS attribute, a veces conocido como el range .Cuando se establece en _default , usará el level parte de la póliza si está disponible. |
|
serolastring | El rol parte del contexto del archivo SELinux. _default , usará el role parte de la póliza si está disponible. |
|
setypestring | La parte de tipo del contexto del archivo SELinux. _default , usará el type parte de la póliza si está disponible. |
|
seuserstring | La parte del usuario del contexto del archivo SELinux. system política, cuando corresponda. _default , usará el user parte de la póliza si está disponible. |
|
estadostring |
|
Si el bloque debería estar allí o no. |
unsafe_writesbooleano agregado en 2.2 de ansible.builtin |
|
Influir en el momento de utilizar la operación atómica para evitar la corrupción de datos o lecturas inconsistentes del archivo de destino. De forma predeterminada, este módulo utiliza operaciones atómicas para evitar la corrupción de datos o lecturas inconsistentes de los archivos de destino, pero a veces los sistemas están configurados o simplemente dañados de manera que evitan esto. . Un ejemplo son los archivos montados en la ventana acoplable, que no se pueden actualizar atómicamente desde el interior del contenedor y solo se pueden escribir de manera insegura. Esta opción permite que Ansible recurra a métodos inseguros para actualizar archivos cuando fallan las operaciones atómicas (sin embargo, no es así forzar a Ansible a realizar escrituras inseguras). Las escrituras no seguras están sujetas a condiciones de carrera y pueden provocar daños en los datos. |
validarstring | El comando de validación para ejecutar antes de copiar en su lugar. La ruta al archivo para validar se pasa a través de ‘% s’ que debe estar presente como en los ejemplos a continuación. El comando se pasa de forma segura para que las funciones de shell como la expansión y las tuberías no funcionen . |
Notas
Nota
- Este módulo admite el modo de verificación.
- Cuando utilice bucles ‘with_ *’, tenga en cuenta que si no establece una marca única, el bloque se sobrescribirá en cada iteración.
- A partir de Ansible 2.3, el dest la opción ha sido cambiada a sendero por defecto, pero dest todavía funciona también.
- Opción seguir se ha eliminado en Ansible 2.5, porque este módulo modifica el contenido del archivo por lo que seguir = no no tiene sentido.
- Cuando se deba manejar más de un bloque en un archivo, debe cambiar el marcador por tarea.
Ejemplos de
# Before Ansible 2.3, option 'dest' or 'name' was used instead of 'path' - name: Insert/Update "Match User" configuration block in /etc/ssh/sshd_config blockinfile: path: /etc/ssh/sshd_config block: | Match User ansible-agent PasswordAuthentication no - name: Insert/Update eth0 configuration stanza in /etc/network/interfaces (it might be better to copy files into /etc/network/interfaces.d/) blockinfile: path: /etc/network/interfaces block: | iface eth0 inet static address 192.0.2.23 netmask 255.255.255.0 - name: Insert/Update configuration using a local file and validate it blockinfile: block: " lookup('file', './local/sshd_config') " path: /etc/ssh/sshd_config backup: yes validate: /usr/sbin/sshd -T -f %s - name: Insert/Update HTML surrounded by custom markers after line blockinfile: path: /var/www/html/index.html marker: "" insertafter: "" block: |Last updated on ansible_date_time.iso8601
- name: Remove HTML as well as surrounding markers blockinfile: path: /var/www/html/index.html marker: "" block: "" - name: Add mappings to /etc/hosts blockinfile: path: /etc/hosts block: | item.ip item.name marker: "# mark ANSIBLE MANAGED BLOCK item.name " loop: - name: host1, ip: 10.10.1.10 - name: host2, ip: 10.10.1.11 - name: host3, ip: 10.10.1.12
Autores
- Yaegashi Takeshi (@yaegashi)
Aquí puedes ver las comentarios y valoraciones de los lectores
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)