Usando expressões em Cloud Provisioning and Governance
As expressões em ações de política podem definir ou substituir valores. As expressões em blueprints podem acessar atributos de recursos e mapear valores para campos de formulário de solicitação. As expressões estão disponíveis em blocos de recursos, blueprints, políticas e em qualquer lugar Cloud Provisioning and Governancepermite scripts.
Usando expressões
As expressões podem conter os valores das informações geradas dinamicamente no sistema, como os valores das seleções que os usuários fazem no Portal de usuário da nuvem. As expressões estão disponíveis em blocos de recursos, blueprints, políticas e em qualquer lugar Cloud Provisioning and Governancepermite scripts.
- Usando expressões em blocos de recursos
Cada operação de bloco de recursos usa uma expressão para manter um valor para cada parâmetro. A expressão pode usar valores codificados, dados da pilha que o usuário provisiona no Portal de usuário da nuvem, Dados no CMDB e dados derivados de scripts. Por padrão, Cloud Provisioning and Governancegera um conjunto de parâmetros e suas expressões para cada operação de bloco de recursos.
Por exemplo, o parâmetro Location, que contém o datacenter ao qual um recurso pertence, usa a expressão
(Parameter.Location)Figura 1. Expressões em um bloco de recursos - Usando expressões em blueprints
Os blueprints podem usar expressões para mapear parâmetros de entrada para cada operação em um bloco de recursos. Por padrão, o blueprint exibe os mesmos parâmetros e valores especificados no bloco de recursos.
Você pode acessar atributos de blueprint com expressões. A expressão no Mapeamento a coluna define atributos do blueprint para cada operação em uma etapa. Por exemplo, o. Local o atributo, que aparece no formulário de solicitação de pilha, pode ser acessado por meio de
Parâmetro.Localexpressão. O parâmetro Local com(Parameter.Location)o valor aparece em Entradas quando você seleciona uma operação de blueprint.Figura 2. Expressões em um blueprint - Usando expressões em ações de política
As ações de política podem usar expressões para substituir valores de parâmetro que os usuários enviam em um formulário de solicitação no Portal de usuário da nuvem. Você também pode acessar e substituir dados do usuário em operações de pilha. Por exemplo, use a seguinte expressão para renomear uma pilha:
ForData.Stackname: "Your-naming-convention";.Figura 3. Expressões em um script de política
Você pode acessar atributos de blueprint com expressões. A expressão no Mapeamento a coluna define atributos do blueprint para cada operação em uma etapa. Por exemplo, o. Local o atributo, que aparece no formulário de solicitação de uma máquina virtual, é acessado na seguinte expressão: Parâmetro.Local .
Tipos de expressão
- Expressões defincionais
- Expressões defincionais são uma forma de vinculação antecipada (ou vinculação estática). Essas vinculações se referem à vinculação em tempo de compilação e são avaliadas quando o usuário envia o formulário de solicitação de pilha (quando o provisionamento de pilha ou recurso é iniciado). As expressões defincionais não têm acesso aos dados gerados durante Orquestração. As expressões defincionais estão entre chaves. Por exemplo:
(Parameter.CloudAccount) - Expressões de tempo de execução
- As expressões de tempo de execução são uma forma de vinculação tardia (ou vinculação dinâmica). Essas vinculações se referem à vinculação de tempo de execução e têm acesso aos dados criados durante Orquestração(por exemplo, itens de pilha). As expressões de tempo de execução são avaliadas quando chamadas durante um Orquestraçãoexecutar. As expressões de tempo de execução são normalmente usadas para referência com pontos para dados em tabelas. As expressões de tempo de execução estão entre parênteses. Por exemplo:
(Stack.items[VM1].attributes[node_id]) - Expressões defincionais/de tempo de execução
- Algumas expressões incluem expressões defincionais e de tempo de execução.
- Expressões complexas
- Você pode aninhar expressões de qualquer tipo em outras expressões.
Sintaxe e exemplos de expressão de definição
(parâmetro.). Use este tipo de expressão para recuperar valores de atributos de entrada de processos como provisões de blueprint. Os dados não são obtidos das tabelas.(Stack.items[]}. Use esta sintaxe para acessar atributos de itens específicos em uma pilha.(RandomNumber). Use esta sintaxe para gerar um número aleatório. Por exemplo, você pode provisionar uma VM com um nome de nó aleatório ou um nome de pilha.
| Exemplo | Descrição |
|---|---|
| (Parameter.BillingCode) | Esta expressão mostra como um parâmetro de código de faturamento aparece em um blueprint. |
| Parameter.formData.CatalogAttributeType | Esta expressão usa um atributo de catálogo que é enviado por um usuário enquanto o usuário preenche o formulário de um item do catálogo no Portal de usuário da nuvem. |
| (parameter.userData.userId} | Esta expressão usa o ID de um usuário enquanto o usuário preenche o formulário de um item do catálogo no Portal de usuário da nuvem. |
| (Stack.items[Virtual Servidor].attributes[sys_id]) | Esta expressão obtém o sys_id de um servidor virtual separado de uma pilha. O Virtual Server é o alias de um bloco de recursos usado na pilha. |
Exemplos e sintaxe de expressão de tempo de execução
(ic.tablename)ondenome da tabelaÉ uma tabela no sistema, geralmente uma tabela de IC no CMDB. Use esta sintaxe para acessar valores de campos na tabela.(Stack.items[]). Use esta sintaxe para acessar atributos de itens específicos em uma pilha.
| Exemplo | Descrição |
|---|---|
(ic.cmdb_ci_cloud_sub-rede[ sys_id-12231231231231231231].cidr) |
Este ponto de expressão vai até a tabela de sub-rede de nuvem, encontra o registro específico com o sys_id fornecido e obtém o valor do cidr coluna. |
(ic.sn_cmp_ip_pool |
Esta expressão combina expressões de tipo de definição e tempo de execução. O sinal de igual é usado para avaliar um valor de uma correspondência. A expressão caminha com pontos para a tabela Pool de IPs e procura a sub-rede que tem o ID de sub-rede que o usuário enviou. |
(ic.cmdb_ci_cloud_sub-net).cidr) |
Esta expressão combina expressões de tipo de definição e tempo de execução. A expressão usa o valor de cidr campo de uma sub-rede que o usuário escolheu durante o provisionamento. Os colchetes [] Indique que a expressão caminha com pontos para a tabela de sub-rede de nuvem e, em seguida, examina o valor de sub-rede que o usuário enviou em uma provisão de blueprint. A expressão captura o. cidr valor do campo e, em seguida, caminha até o valor no cidr campo do sys_id da sub-rede. |
| (Stack.items[Virtual servidor].attributes[sys_id]) | Como no exemplo de expressão de definição, esta expressão usa o sys_id de um servidor virtual que é separado de uma pilha. |
Expressão de exemplo
(Script:CMPVMNICs.getNICs[arg(Stack.items[Virtual Server].attributes[sys_id])]].private_ip) - $(ciExpressão de tempo de execução para recuperar dados da tabela.
- cmdb_ci_nicIC para NIC (Placa de interface de rede).
- $(ScriptExpressão baseada em script.
- CMPVMNICsInclusão de script.
- getNICs: Função dentro de uma inclusão de script.
- arg: Argumentos para a função de inclusão de script. Os argumentos são separados por "," quando há vários atributos.
- $(Stack.itemsExpressão de pilha de tempo de execução para recuperar o item de pilha de uma pilha. O argumento é o alias especificado no blueprint.
- Virtual ServerAlias do recurso usado no blueprint.
- $(Stack.items[Virtual Server].attributes[sys_id]): Recupera o sys_id da instância de recurso do item de pilha ("Servidor virtual") em uma pilha.
- private_ip: Atributo de cmdb_ci_nic. Se necessário, substitua por IP público.
Expressões
Simple parameter mapping expression Este tipo de expressão recupera valores de atributos de entrada de processos, como operações de blueprint, blocos de recursos e políticas. Os dados não são obtidos das tabelas. Mapeia valores de uma camada para outra, como de um Blueprint para um recurso para a API de nuvem.
|
Stack item expression Uma instância de IC no CMDB representa cada item da pilha. Use Expressões de item de pilha para pesquisar propriedades de primeiro nível no IC que respalda o item de pilha ou no próprio item de pilha.
|
Property override expressions in policies Em políticas, você pode substituir propriedades extraindo um valor do sistema ou usando um número aleatório. Você pode usar dados de ambos os formulários no Portal de usuário da nuveme do usuário que realizou a operação no formulário.
|
Script expression No exemplo,
|
CI lookup expression Acessa valores de campos em uma tabela, geralmente uma tabela de IC no CMDB.
|
Random number expression Gera um número aleatório. Por exemplo, você pode provisionar uma VM com um nome de nó aleatório ou um nome de pilha.
|
Scratchpad expression/Resource operation output attribute expression Lê atributos de saída de uma operação em outra operação.
|
Conditions in expressions Você pode usar expressões condicionais em etapas de blueprint e etapas de operação de recursos para executar condicionalmente ou ignorar a etapa. As expressões condicionais são expressões JavaScript e oferecem suporte a substituições de expressões.
|
Complex expression Você pode aninhar expressões. No exemplo,
|
Order context Esta expressão é útil para operações de ciclo de vida e permite que você faça um acompanhamento com pontos nos atributos do pedido como parte do sn_cmp_ordertabela.
|