Templates - matheuswhite/bluebees GitHub Wiki
Templates
Os templates são arquivos que definem regras para a criação de redes, aplicações e nós dentro da ferramenta. O tipo dos arquivos de template são arquivos YAML
e com a extensão .yml
. Neste tipo de arquivo exitem as palavras-chave e os valores. As palavras chave representam uma descrição para o dado, enquanto os valores indicam o conteúdo do dado. Para exemplificar, imagine que deseja-se descrever as informações pessoais de um indivíduo. Para isso, é necessário obter: o nome, a idade, o estado civil, o número da identidade, etc (Esta lista são as palavras chave). Deste modo, pessoas diferentes possuem nomes diferentes (Cada nome diferente representa um valor diferente). O arquivo YAML deste exemplo ficaria da seguinte forma:
nome: Joaquina
idade: 20
estado_civil: solteira
numero_id: 11259623
As palavras antes do dois pontos :
são as palavras chave, enquanto o conteúdo depois dos dois pontos :
são os valores.
Nos templates as palavras chave são definidas por cada comando. Os valores de cada palavra chave pode variar. A utilização desses arquivos é útil para paupar tempo na hora de escrever um comando. Assim, para facilitar ainda mais existe alguns caracteres especiais que podem ser utilizados nesses arquivos. O primeiro tipo são os caracteres especiais aleatórios. Esses caracteres são substituídos por algum tipo de caracter específico, de forma aleatória. As possíveis formas desses caracteres são:
\d
: É substituído por um dígito (na base 10) no intervalo de 0 à 9\h
: É substituido por um dígito (na base 16) no intervalo de 0 à F\c
: É substituido por um caracter da tabela ASCII no intervalo de 0x21 até 0x7e (Caracteres visíveis)\a
: É substituido por uma letra minúscula do alfabelo romano (0x61 até 0x7a na tabela ASCII)\A
: É substituido por uma letra maiúscula do alfabelo romano (0x41 até 0x5a na tabela ASCII)\t
: É substituido por um caracter alfanumérico (Dígitos na base 10, letra maiúscula e minúscula)
Um exemplo deste tipo é mostrado a seguir:
nome: lampada\d\d
No exemplo acima, um dos possíveis valores para a palavra-chave nome
é lampada23
.
O outro tipo de caracter especial são os caracteres especiais sequenciais. Estes caracteres são substituídos por um número sequencial dependendo do padrão no qual se encontram. As possíveis formas desses caracteres são:
\s
: É substituído por um número sequencial, na base 10.\S
: É substituido por um número sequencial, na base 16.
Um exemplo para ilustrar melhor o uso desse caracter especial. Imagine que o template abaixo é utilizado no comando fictício ligar
:
nome: lampada-\s
O comando fictício ligar
receberá o valor lampada-0
da palavra-chave nome
e a ferramenta guardará o padrão lampada-
com o valor de sequência igual a 1
. Imagine agora que o mesmo comando fictício ligar
será executando com o template abaixo:
nome: lampada-\s
comodo: lampada-\s-sala
Agora neste caso o comando fictício ligar
receberá o valor lampada-1
da palavra-chave nome
e receberá o valor lampada-0-sala
da palavra chave comodo
. A ferramenta guardará o padrão lampada-
com o valor de sequência igual a 2
e o padrão lampada--sala
com o valor de sequência igual a 1
. Como pode ser visto no exemplo, o padrão guardado é igual ao valor com o caracter especial removido.
NOTA: A utilização de templates com extensão .yaml
pode causar confusão e incerteza na ferramenta, apesar de ser uma extensão válida para arquivos YAML
. Assim, é recomendado sempre a extensão .yml
nos templates.
NOTA: Os caracteres especiais sequenciais não podem ser utilizados em palavras chaves que requisitam uma hexstring.
NOTA: Não é recomendado utilizar mais de um caracter especial sequencial em um mesmo valor.