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.

Variáveis de entrada

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.

Guia Entradas

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"]}

Importante: No código do modelo de nuvem, não é possível usar a palavra 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: ''
Entrada opcional

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 maxLength: 25.

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, '[a-z]+' ou '[a-z0-9A-Z@#$]+'.

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