Blockinfile
Resumo
- Este módulo irá inserir / atualizar / remover um bloco de texto de várias linhas cercado por linhas de marcador personalizáveis.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
attributes aliases: attr | string | | Os atributos que o arquivo ou diretório resultante deve ter.Para obter os sinalizadores suportados, consulte a página do manual do chattr no sistema de destino.Essa string deve conter os atributos na mesma ordem que aquela exibida por lsattr . O operador = é assumido como padrão, caso contrário, + ou - os operadores precisam ser incluídos na string. |
backup | boolean | Escolhas: - false (default) - true | Crie um arquivo de backup incluindo as informações de carimbo de data / hora para que você possa obter o arquivo original de volta se, de alguma forma, o danificou incorretamente. |
block aliases: content | string | Default: - "" | O texto a ser inserido dentro das linhas do marcador.Se estiver faltando ou for uma string vazia, o bloco será removido como se state fosse especificado absent. |
create | boolean | Escolhas: - false (default) - true | Crie um novo arquivo se ele não existir. |
group | string | | Nome do grupo que deve possuir o arquivo / diretório, como seria alimentado para chown . |
insertafter | string | Escolhas: - EOF (default) - *regex* | Se especificado e nenhuma linha inicial / final markerfor encontrada, o bloco será inserido após a última correspondência da expressão regular especificada. Um valor especial está disponível; EOF para inserir o bloco no final do arquivo. Se a expressão regular especificada não tiver correspondências, EOF será usado em seu lugar. |
insertbefore | string | Escolhas: - BOF - *regex* | Se especificado e nenhuma linha inicial / final marker for encontrada, o bloco será inserido antes da última correspondência da expressão regular especificada. Um valor especial está disponível; BOF para inserir o bloco no início do arquivo.Se a expressão regular especificada não tiver correspondências, o bloco será inserido no final do arquivo. |
marker | string | Default: - "# {mark} BLOCO GERENCIADO ANSÍVEL" | O modelo de linha do marcador.{mark}será substituído pelos valores em marker_begin(padrão = "BEGIN") e marker_end(padrão = "END"). Usar um marcador personalizado sem a {mark} variável pode resultar na inserção repetida do bloco nas execuções subsequentes do manual. |
marker_begin | string | Default: - "BEGIN" | Isso será inserido no {mark} marcador de bloco Atmosphere de abertura. |
marker_end | string | Default: "END" | Isso será inserido no {mark} marcador de bloco Atmosphere de fechamento. |
mode | raw | | As permissões que o arquivo ou diretório resultante deve ter. Para aqueles acostumados com / usr / bin / chmod, lembre-se de que os modos são, na verdade, números octais. Você deve adicionar um zero à esquerda para que o analisador YAML do Atmosphere saiba que é um número octal (como 0644ou 01777) ou citá-lo (como '644'ou '1777') para que Atmosphere receba uma string e possa fazer sua própria conversão de string em número. Fornecer um número o Atmosphere sem seguir uma dessas regras resultará em um número decimal que terá resultados inesperados. |
owner | string | | Nome do usuário que deve possuir o arquivo / diretório, como seria alimentado para chown . |
path - required aliases: dest, destfile, name | path | | O arquivo a ser modificado. |
selevel | string | | A parte do nível do contexto do arquivo SELinux.Este é o atributo MLS / MCS, também conhecido como range. Quando definido como _default, ele usará a levelparte da política, se disponível. |
serole | string | | A parte da função do contexto do arquivo SELinux. Quando definido como _default, ele usará a roleparte da política, se disponível. |
setype | string | | A parte do tipo do contexto do arquivo SELinux. Quando definido como _default, ele usará a type parte da política, se disponível. |
seuser | string | | A parte do usuário do contexto do arquivo SELinux.Por padrão, ele usa a system política, quando aplicável. Quando definido como _default, ele usará a userparte da política, se disponível. |
state | string | Escolhas: - present (default) - absent | Se o bloco deve estar lá ou não. |
unsafe_writes | boolean | Escolhas: - false (default) - true | Influencie quando usar a operação atômica para evitar corrupção de dados ou leituras inconsistentes do arquivo de destino. Por padrão, este módulo usa operações atômicas para evitar corrupção de dados ou leituras inconsistentes dos arquivos de destino, mas às vezes os sistemas são configurados ou apenas interrompidos de maneiras que evitam isso. Um exemplo são os arquivos montados no docker, que não podem ser atualizados atomicamente de dentro do contêiner e só podem ser gravados de maneira insegura. Esta opção permite que o Atmosphere recorra a métodos não seguros de atualização de arquivos quando as operações atômicas falham (no entanto, não força o Atmosphere a realizar gravações inseguras). IMPORTANTE! As gravações inseguras estão sujeitas a condições de corrida e podem levar à corrupção de dados. |
validate | string | | O comando de validação a ser executado antes de copiar para o lugar. O caminho para o arquivo a ser validado é passado por meio de '% s', que deve estar presente como nos exemplos abaixo. O comando é passado de forma segura para que os recursos do shell, como expansão e canais, não funcionem. |
Exemplos
# Insira / atualize o bloco de configuração "Match User" em / etc / ssh / sshd_config
blockinfile:
path: /etc/ssh/sshd_config
block: |
Match User atmosphere-agent
PasswordAuthentication no
# Insira / atualize a estrofe de configuração eth0 em / etc / network / interfaces
# (pode ser melhor copiar os arquivos em /etc/network/interfaces.d/)
blockinfile:
path: /etc/network/interfaces
block: |
iface eth0 inet static
address 192.0.2.23
netmask 255.255.255.0
# Insira / atualize a configuração usando um arquivo local e valide-o
blockinfile:
block: "{{ lookup('file', './local/ssh_config') }}"
dest: /etc/ssh/ssh_config
backup: yes
validate: /usr/sbin/sshd -T -f %s
# Inserir / atualizar HTML dentro de marcadores personalizados após a linha <body>
blockinfile:
path: /var/www/html/index.html
marker: "<!-- {mark} ATMOSPHERE MANAGED BLOCK -->"
insertafter: "<body>"
block: |
<h1>Welcome to {{ atmosphere_hostname }}</h1>
<p>Last updated on {{ atmosphere_date_time.iso8601 }}</p>
# Remova o HTML, bem como os marcadores circundantes
blockinfile:
path: /var/www/html/index.html
marker: "<!-- {mark} ATMOSPHERE MANAGED BLOCK -->"
block: ""
# Adicionar mapeamentos a /etc/hosts
blockinfile:
path: /etc/hosts
block: |
{{ item.ip }} {{ item.name }}
marker: "# {mark} ATMOSPHERE 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 }
Valores Retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
changed | string | Sempre | Mensagem informando se houve modificação |
msg | string | Sempre | Mensagem com informações da execução. |
difflist | list | Sempre | diff list |