Template
Sinopse
- Os modelos são processados pela linguagem de modelos Jinja2 .
- A documentação sobre a formatação do modelo pode ser encontrada na Documentação do Designer de modelo .
- Variáveis adicionais listadas abaixo podem ser usadas em modelos.
- template_host contém o nome do nó da máquina do modelo.
- template_uid é o ID de usuário numérico do proprietário.
- template_path é o caminho do modelo.
- template_fullpath é o caminho absoluto do modelo.
- template_run_date é a data em que o modelo foi renderizado.
Parâmetros
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
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 | | 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_end_string | string | Default: - "%}" | A corda que marca o fim de um bloco. |
block_start_string | string | Default: - "{%" | A string que marca o início de um bloco. |
dest - required | path | | Local para renderizar o modelo na máquina remota. |
follow | boolean | | Determine se links simbólicos devem ser seguidos. Quando definido como yes links simbólicos serão seguidos, se existirem. Quando definido como no links simbólicos não serão seguidos. |
force | boolean | | Determine quando o arquivo está sendo transferido se o destino já existe. Quando definido como yes, substitui o arquivo remoto quando o conteúdo for diferente da fonte. Quando definido como no, o arquivo só será transferido se o destino não existir. |
group | string | | Nome do grupo que deve possuir o file/diretório, como seria alimentado para chown . |
lstrip_blocks | boolean | | Determine quando os espaços iniciais e as tabulações devem ser eliminados. Quando definido para yes espaços iniciais e tabulações são removidas do início de uma linha para um bloco.Esta funcionalidade requer Jinja 2.7 ou mais recente. |
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 a Atmosphere sem seguir uma dessas regras resultará em um número decimal que terá resultados inesperados. |
newline_sequence | string | | Especifique a sequência de nova linha a ser usada para arquivos de modelo. |
output_encoding | string | Default: - "utf-8" | Substitui a codificação usada para escrever o arquivo de modelo definido por dest. O padrão é utf-8, mas qualquer codificação suportada por python pode ser usada. O arquivo de modelo de origem deve sempre ser codificado usando utf-8, para homogeneidade. |
owner | string | | Nome do usuário que deve possuir o arquivo / diretório, como seria alimentado para chown . |
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 typeparte 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. |
src - required | path | | Caminho de um modelo formatado Jinja2 no controlador Atmosphere. Este pode ser um caminho relativo ou absoluto.O arquivo deve ser codificado com, utf-8 mas output_encoding pode ser usado para controlar a codificação do modelo de saída. |
trim_blocks | boolean | | Determine quando as novas linhas devem ser removidas dos blocos. Quando definido para yes a primeira nova linha após a remoção de um bloco (bloco, não tag variável!). |
unsafe_writes | boolean | | 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. |
variable_end_string | string | Default: - "}}" | A string que marca o final de uma instrução de impressão. |
variable_start_string | string | Default: - "{{" | A string que marca o início de uma instrução de impressão. |
Exemplos
# Crie um modelo de arquivo para /etc/files.conf
template:
src: /mytemplates/foo.j2
dest: /etc/file.conf
owner: bin
group: wheel
mode: '0644'
# Crie um modelo de arquivo, usando modos simbólicos (equivalente a 0644)
template:
src: /mytemplates/foo.j2
dest: /etc/file.conf
owner: bin
group: wheel
mode: u=rw,g=r,o=r
# Copie uma versão do named.conf que dependa do sistema operacional. setype obtido executando ls -Z /etc/named.conf no arquivo original
template:
src: named.conf_{{ atmosphere_os_family}}.j2
dest: /etc/named.conf
group: named
setype: named_conf_t
mode: 0640
# Crie um arquivo de texto no estilo DOS a partir de um modelo
template:
src: config.ini.j2
dest: /share/windows/config.ini
newline_sequence: '\r\n'
# Copie um novo arquivo sudoers para o lugar, depois de passar na validação com visudo
template:
src: /mine/sudoers
dest: /etc/sudoers
validate: /usr/sbin/visudo -cf %s
# Atualize a configuração do sshd com segurança, evite se bloquear
template:
src: etc/ssh/sshd_config.j2
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: '0600'
validate: /usr/sbin/sshd -t -f %s
backup: yes