Como desenvolvedor de design de modelo de nuvem, você usa parâmetros de entrada para que os usuários possam fazer seleções personalizadas no momento da solicitação.
Como as entradas funcionam
Quando os usuários fornecem entradas, não é mais necessário salvar várias cópias dos modelos que são apenas um pouco diferentes. Além disso, as entradas podem preparar um modelo para operações de dia 2. Consulte Como usar entradas de modelo de nuvem para atualizações de dia 2 do vRealize Automation.
As seguintes entradas mostram como criar um modelo de nuvem para um servidor de banco de dados MySQL, em que os usuários podem implantar esse modelo em diferentes ambientes de recursos de nuvem e aplicar diferentes recursos e credenciais todas as vezes.
Adicionando parâmetros de entrada
Adicione uma seção inputs
ao seu código de modelo, onde são definidos valores selecionáveis.
No exemplo a seguir, o tamanho da máquina, o sistema operacional e o número de servidores agrupados em cluster são selecionáveis.
inputs: wp-size: type: string enum: - small - medium description: Size of Nodes title: Node Size wp-image: type: string enum: - coreos - ubuntu title: Select Image/OS wp-count: type: integer default: 2 maximum: 5 minimum: 2 title: Wordpress Cluster Size description: Wordpress Cluster Size (Number of nodes)
Se você não se sentir à vontade ao editar o código, poderá clicar na guia Entradas do editor de código e inserir as configurações lá. O exemplo a seguir mostra algumas entradas para o banco de dados MySQL mencionado anteriormente.
Fazendo referência a parâmetros de entrada
Em seguida, na seção resources
, referencie um parâmetro de entrada usando a sintaxe ${input.propriedade-nome}
.
Se um nome de propriedade incluir um espaço, delimite-o com colchetes e aspas duplas em vez de usar a notação de ponto: ${input["nome da propriedade"]}
input
, exceto para indicar um parâmetro de entrada.
resources: WebTier: type: Cloud.Machine properties: name: wordpress flavor: '${input.wp-size}' image: '${input.wp-image}' count: '${input.wp-count}'
Entradas opcionais
As entradas são normalmente obrigatórias e marcadas com um asterisco. Para tornar uma entrada opcional, defina um valor padrão vazio, conforme mostrado.
owner: type: string minLength: 0 maxLength: 30 title: Owner Name description: Account Owner default: ''
Lista de propriedades de entrada
Propriedade | Descrição |
---|---|
const | Usado com oneOf. O valor real associado ao título amigável. |
default | Valor pré-preenchido para a entrada. O padrão deve ser do tipo correto. Não digite uma palavra como padrão para um número inteiro. |
description | Texto de ajuda do usuário para a entrada. |
encrypted | Se você deseja criptografar a entrada que o usuário digita, verdadeiro ou falso. As senhas normalmente são criptografadas. Também é possível criar propriedades criptografadas que são reutilizáveis em vários modelos de nuvem. Consulte Propriedades secretas do Cloud Assembly. |
enum | Um menu suspenso de valores permitidos. Use o exemplo a seguir como um guia de formatação. enum: - value 1 - value 2 |
format | Define o formato esperado para a entrada. Por exemplo, (25/04/19) suporta data e hora. Permite o uso do selecionador de data em formulários personalizados do Service Broker. |
itens | Declara itens em uma matriz. Oferece suporte a número, inteiro, cadeia de caracteres, boolean ou objeto. |
maxItems | Número máximo de itens selecionáveis em uma matriz. |
maxLength | Número máximo de caracteres permitido para uma cadeia de caracteres. Por exemplo, para limitar um campo a 25 caracteres, digite |
maximum | Maior valor permitido para um número ou inteiro. |
minItems | Número mínimo de itens selecionáveis em uma matriz. |
minLength | Número mínimo de caracteres permitido para uma cadeia de caracteres. |
minimum | Menor valor permitido para um número ou inteiro. |
oneOf | Permite que o formulário de entrada do usuário exiba um nome amigável (título) para um valor menos amigável (const). Se definir um valor padrão, defina const, não o título. Válido para uso com tipos de cadeia de caracteres, inteiro e número. |
pattern | Caracteres permitidos para entradas de cadeia de caracteres, na sintaxe de expressão regular. Por exemplo, |
properties | Declara a chave:bloco de propriedades de valor para objetos |
readOnly | Usado para fornecer apenas um rótulo de formulário. |
title | Usado com oneOf. O nome amigável para um valor const. O título aparece no formulário de entrada do usuário no momento da implantação. |
type | Tipo de dados de número, inteiro, cadeia de caracteres, boolean ou objeto.
Importante:
Um tipo booleano adiciona uma caixa de seleção em branco ao formulário de solicitação. Deixar a caixa desmarcada não torna a entrada Falso. Para definir a entrada como Falso, os usuários devem marcar e limpar a caixa. |
writeOnly | Oculta os pressionamentos de teclas atrás de asteriscos no formulário. Não pode ser usado com enum. Aparece como um campo de senha em formulários personalizados do Service Broker. |
Exemplos adicionais
Cadeia de caracteres com enumeração
image: type: string title: Operating System description: The operating system version to use. enum: - ubuntu 16.04 - ubuntu 18.04 default: ubuntu 16.04 shell: type: string title: Default shell Description: The default shell that will be configured for the created user. enum: - /bin/bash - /bin/sh
Inteiro com mínimo e máximo
count: type: integer title: Machine Count description: The number of machines that you want to deploy. maximum: 5 minimum: 1 default: 1
Matriz de objetos
tags: type: array title: Tags description: Tags that you want applied to the machines. items: type: object properties: key: type: string title: Key value: type: string title: Value
Cadeia de caracteres com nomes amigáveis
platform: type: string oneOf: - title: AWS const: platform:aws - title: Azure const: platform:azure - title: vSphere const: platform:vsphere default: platform:aws
Cadeia de caracteres com validação de padrão
username: type: string title: Username description: The name for the user that will be created when the machine is provisioned. pattern: ^[a-zA-Z]+$
Cadeia de caracteres como senha
password: type: string title: Password description: The initial password that will be required to logon to the machine. Configured to reset on first login. encrypted: true writeOnly: true
Cadeia de caracteres como área de texto
ssh_public_key: type: string title: SSH public key maxLength: 256
Boolean
public_ip: type: boolean title: Assign public IP address description: Choose whether your machine should be internet facing. default: false
Seletor de calendário de data e hora
leaseDate: type: string title: Lease Date format: date-time