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 Governance permite 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 Governance permite scripts.
- Usando expressões em blocos de recursos
Cada operação de bloco de recursos usa uma expressão para conter 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 Governance gera 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.LocationFigura 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 plano gráfico exibe os mesmos parâmetros e valores especificados no bloco de recursos.
Você pode acessar atributos de plano gráfico com expressões. A expressão em Mapeamento a coluna define atributos de plano gráfico 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 do
Parâmetro.Local)expressão. O parâmetro Local comParameter.Locationo valor aparece em Entradas quando você seleciona uma operação de plano gráfico.Figura 2. Expressões em um plano gráfico - 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:
FormData.Stackname: "Your-naming-convention";.Figura 3. Expressões em um script de política
Você pode acessar atributos de plano gráfico com expressões. A expressão em Mapeamento a coluna define atributos de plano gráfico 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 de recursos é 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 atrasada (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ção executar. 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 de definição/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 de expressão de definição e exemplos
(parâmetro.. Use este tipo de expressão para recuperar valores de atributos de entrada de processos como provisões de plano gráfico. Os dados não são obtidos de 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 nome de pilha.
| Exemplo | Descrição |
|---|---|
| Parâmetro.BillingCode | Esta expressão mostra como um parâmetro de código de faturamento aparece em um plano gráfico. |
| 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 Server.attributes[sys_id]] | Esta expressão obtém o sys_id de um servidor virtual separado de uma pilha. Servidor virtual é o alias de um bloco de recursos usado na pilha. |
Sintaxe e exemplos de expressão de tempo de execução
(ic.tablename)ondetablenameÉ 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-net[ sys_id 12231231231231231231].cidr) |
Este ponto de expressão vai até a tabela de sub-rede em nuvem, encontra o registro específico com o sys_id fornecido e obtém o valor do cidr coluna. |
(ic.sn_cmp_ip_pool [parâmetro.formData.Subnet ID]) |
Esta expressão combina expressões de tipo de tempo de execução e definição. O sinal de igual é usado para avaliar um valor de uma correspondência. A expressão faz referência 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) |
Esta expressão combina expressões de tipo de tempo de execução e definição. A expressão usa o valor de cidr campo de uma sub-rede que o usuário escolheu durante o provisionamento. Colchetes [] Indique que a expressão faz referência com pontos à tabela de sub-rede em nuvem e, em seguida, verifica o valor da sub-rede que o usuário enviou em uma provisão de plano gráfico. A expressão captura o. cidr valor do campo e, em seguida, vai até o valor em 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].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.
- argArgumentos 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 plano gráfico.
- Virtual ServerAlias do recurso usado no plano gráfico.
- $(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_ipAtributo de cmdb_ci_nic. Substitua por IP público, se necessário.
Expressões
Simple parameter mapping expression Este tipo de expressão recupera valores de atributos de entrada de processos, como operações de plano gráfico, blocos de recursos e políticas. Os dados não são obtidos de tabelas. Mapeia valores de uma camada para outra, como de um plano gráfico para um recurso para a API em 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 nome de pilha.
|
Scratchpad expression/Resource operation output attribute expression Lê atributos de saída de uma operação para outra operação.
|
Conditions in expressions Você pode usar expressões condicionais em etapas de plano gráfico 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ão.
|
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 referência com pontos nos atributos do pedido como parte do sn_cmp_ordertabela.
|