- Uma linguage de serializacao, seu nopme e YAML ain't markup language (YAML nao e uma linguagem de marcacao)
- usada geralmente para arquivos de configuração, como Docker, Kubernetes, Ansible
- é de facil leitura para as pessoas humanas, de fácil entendimento
- a extensão dos arquivos é
.yml
ou.yaml
Além da sua familiaridade com XML
, possui como principais características:
- Utilizam um conjunto de caracteres unicode (UTF-8 ou UTF-16);
- Possui propósito centrado em dados no lugar de documentos marcados;
- Case sensitive;
- Pode ser utilizada por diversas linguagens;
- É mais legível que o XML e JSON;
- Possui excelente documentação, entre outros.
A sintaxe do YAML é extremamente simples e legível, como podemos verificar abaixo:
funcionario:
nome: João
idade: 30
sexo: Masculino
profissao: Programador
dependente:
nome: Maria
sexo: Feminino
A sintaxe do JSON
seria mais dificil de interpretar se usarmos como o exemplos acima.
{
"funcionario": {
"nome": "João",
"idade": 30,
"sexo": "Masculino",
"profissao": "Programador",
"dependente": {
"nome": "Maria",
"sexo": "Feminino"
}
}
}
Abaixo um exemplo basico de uma estrutura de YAML
com Ansible:
- name: Install a list of packages (suitable replacement for 2.11 loop deprecation warning)
ansible.builtin.yum:
name:
- nginx
- postgresql
- postgresql-server
state: present
Abaixo um exemplo de uso com Docker Compose.
version: "3.9"
services:
web:
build: .
ports:
- "8000:5000"
redis:
image: "redis:alpine"
Referências
Treinaweb - O que é YAML
Imasters - Introdução ao YAML