클라우드 템플릿 디자이너는 입력 매개 변수를 사용하여 사용자가 요청 시 사용자 지정 선택이 가능하도록 할 수 있습니다.
입력 작동 방식
사용자가 입력을 제공할 때, 약간 다른 템플릿 복사본을 여러 개 저장할 필요가 더 이상 없습니다. 또한 입력은 2일차 작업에 대한 템플릿을 준비할 수 있습니다. VMware Aria Automation 2일차 업데이트에 클라우드 템플릿 입력을 사용하는 방법의 내용을 참조하십시오.
다음 입력은 MySQL 데이터베이스 서버에 대해 하나의 클라우드 템플릿을 생성하고, 이 템플릿을 사용자가 여러 클라우드 리소스 환경에 배포하여 매번 다른 용량과 자격 증명을 적용할 수 있는 방법을 보여줍니다.
입력 매개 변수 추가
선택 가능한 값을 설정하는 inputs
섹션을 템플릿 코드에 추가합니다.
다음 예에서는 시스템 크기, 운영 체제 및 클러스터링된 서버의 수를 선택할 수 있습니다.
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)
코드 편집이 불편하면 코드 편집기 입력 탭을 클릭하고 여기에 설정을 입력할 수 있습니다. 다음 예는 앞에서 언급한 MySQL 데이터베이스에 대한 일부 입력을 보여줍니다.
입력 매개 변수 참조
다음으로 resources
섹션에서 ${input.property-name}
구문을 사용하여 입력 매개 변수를 참조합니다.
속성 이름에 공백이 포함되어 있는 경우 점 표기법을 사용하는 대신 대괄호와 큰따옴표로 구분합니다. ${input["속성 이름"]}
input
이라는 단어를 사용할 수 없습니다.
resources: WebTier: type: Cloud.Machine properties: name: wordpress flavor: '${input.wp-size}' image: '${input.wp-image}' count: '${input.wp-count}'
중첩된 입력
입력을 구성하거나 분류하려는 경우 중첩된 입력이 지원됩니다. 다음 예에서 CPU와 메모리는 상위 머리글인 "level" 아래에 함께 있습니다.
inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer title: CPU default: 1 minimum: 1 maximum: 4 memory: type: integer title: Memory default: 2048 minimum: 2048 maximum: 4096
"resources" 섹션에서 중첩된 입력을 참조하려면 경로에 상위 항목을 포함합니다.
resources: Disk_1: type: Cloud.vSphere.Disk allocatePerInstance: true properties: capacityGb: 1 count: ${input.cluster} Machine_1: type: Cloud.vSphere.Machine allocatePerInstance: true properties: totalMemoryMB: ${input.level.memory} attachedDisks: - source: ${slice(resource.Disk_1[*].id, count.index, count.index + 1)[0]} count: ${input.cluster} imageRef: ubuntu cpuCount: ${input.level.cpu}
선택적 입력 및 필수 입력
부울을 제외한 모든 유형의 경우 사용자 항목은 기본적으로 선택 사항입니다. 입력을 요구하려면 다음 중 하나를 수행합니다.
- 기본값을 설정합니다.
- 중첩된 입력이 없으면
populateRequiredOnNonDefaultProperties
속성을 추가합니다.inputs: cluster: type: integer populateRequiredOnNonDefaultProperties: true title: Cluster minimum: 1 maximum: 4
정식 속성 그룹을 참조할 때 이 설정을 적용할 수도 있습니다.
inputs: pgmachine: type: object populateRequiredOnNonDefaultProperties: true $ref: /ref/property-groups/machine
- 중첩된 입력이 있는 경우
populateRequiredForNestedProperties
속성을 추가합니다.inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer populateRequiredForNestedProperties: true title: CPU minimum: 1 maximum: 4 memory: type: integer populateRequiredForNestedProperties: true title: Memory minimum: 2048 maximum: 4096
정식 속성 그룹 참조가 중첩된 경우에도 이 설정을 적용할 수 있습니다.
level: type: object properties: cpu: type: integer populateRequiredForNestedProperties: true title: CPU minimum: 1 maximum: 4 memory: type: integer populateRequiredForNestedProperties: true title: Memory minimum: 2048 maximum: 4096 pgrequester: type: object populateRequiredForNestedProperties: true $ref: /ref/property-groups/requesterDetails
선택적 입력—입력을 선택 사항으로 유지하려면 눈금 표시를 사용하여 빈 기본값을 설정합니다.
owner: type: string minLength: 0 maxLength: 30 title: Owner Name description: Account Owner default: ''
VMware Aria Automation Orchestrator에 입력 보내기
VMware Aria Automation Orchestrator 작업에 클라우드 템플릿 입력을 제공하려면 다음 단계를 수행합니다. VMware Aria Automation Orchestrator 작업에서는 클라우드 템플릿 코드에 직접 입력하는 것보다 입력 양식을 사용하는 것이 더 쉽습니다.
- VMware Aria Automation과 통합된 VMware Aria Automation Orchestrator 인스턴스에서 원하는 작업이 있는지 확인합니다.
- Automation Assembler의 클라우드 템플릿 설계 페이지에서 입력 탭으로 이동하고 클릭하여 새 입력을 추가합니다.
- 유형을 선택하고 외부 소스 를 선택합니다.
- 작업 옆에 있는 선택 버튼을 클릭합니다.
- 작업 검색 필드를 사용하여 VMware Aria Automation Orchestrator 작업을 찾아서 선택합니다.
- 작업 매개 변수를 입력하거나 선택합니다.
입력을 저장하고 생성하면 클라우드 템플릿 코드에 $dynamicDefault
입력으로 나타납니다. 예를 들면 다음과 같습니다.
inputs: backupnetwork: type: string $dynamicDefault: /data/vro-actions/com.insanpaolo/getBackupNetworkVLAN?network={{abcdef123456}}&tenant={{abcdef123456}}
입력 속성 목록
속성 | 설명 |
---|---|
const | oneOf와 함께 사용됩니다. 친숙한 제목과 연결된 실제 값입니다. |
default | 입력에 대해 미리 채워진 값입니다. 기본값은 올바른 유형이어야 합니다. 정수의 기본값으로 단어를 입력하지 마십시오. |
description | 입력에 대한 사용자 도움말 텍스트입니다. |
encrypted | 사용자가 입력한 내용을 암호화할지 여부를 true 또는 false로 지정합니다. 암호는 대개 암호화됩니다. 여러 클라우드 템플릿에서 재사용 가능한 암호화된 속성을 생성할 수도 있습니다. 비밀 Automation Assembler 속성의 내용을 참조하십시오. |
enum | 허용되는 값의 드롭다운 메뉴입니다. 다음 예시를 형식 가이드로 사용하십시오. enum: - value 1 - value 2 |
format | 입력에 필요한 형식을 설정합니다. 예를 들어 (25/04/19)는 날짜-시간을 지원합니다. Automation Service Broker 사용자 지정 양식에서 날짜 선택을 사용할 수 있습니다. |
items | 어레이 내의 항목을 선언합니다. 숫자, 정수, 문자열, 부울 또는 개체를 지원합니다. |
maxItems | 어레이 내에서 선택 가능한 최대 항목 수입니다. |
maxLength | 문자열에 허용되는 최대 문자 수입니다. 예를 들어 필드를 25자로 제한하려면 |
maximum | 숫자나 정수에 허용되는 최대값입니다. |
minItems | 어레이 내에서 선택 가능한 최소 항목 수입니다. |
minLength | 문자열에 허용되는 최소 문자 수입니다. |
minimum | 숫자나 정수에 허용되는 가장 작은 값입니다. |
oneOf | 사용자 입력 양식에서 친숙하지 않은 값(const)에 대한 친숙한 이름(title)을 표시할 수 있습니다. 이 표의 위쪽에 표시된 "default" 속성을 추가하는 경우 default를 title이 아닌 const 값으로 설정합니다. 문자열, 정수 및 숫자 형식과 함께 사용할 수 있습니다. |
pattern | 정규식 구문에서 문자열 입력에 허용되는 문자입니다. 예: |
속성 | 개체에 대한 key:value 속성 블록을 선언합니다. |
readOnly | 양식 레이블만 제공하는 데 사용됩니다. |
title | oneOf와 함께 사용됩니다. const 값에 대한 친숙한 이름입니다. title은 배포 시 사용자 입력 양식에 표시됩니다. |
type | 숫자, 정수, 문자열, 부울 또는 개체의 데이터 유형입니다.
중요:
부울 유형은 요청 양식에 빈 확인란을 추가합니다. 상자를 그대로 두면 입력이 False가 되지 않습니다. 입력을 False로 설정하려면 사용자가 확인란을 선택한 다음 선택을 취소해야 합니다. |
writeOnly | 양식에서 별표 뒤에 키 입력을 숨깁니다. enum과 함께 사용할 수 없습니다. Automation Service Broker 사용자 지정 양식에서 암호 필드로 표시됩니다. |
추가 예시
열거형이 포함된 문자열
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
최소 및 최대 정수
count: type: integer title: Machine Count description: The number of machines that you want to deploy. maximum: 5 minimum: 1 default: 1
개체 어레이
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
친숙한 이름의 문자열
platform: type: string oneOf: - title: AWS const: platform:aws - title: Azure const: platform:azure - title: vSphere const: platform:vsphere default: platform:aws
패턴 유효성 검사가 포함된 문자열
username: type: string title: Username description: The name for the user that will be created when the machine is provisioned. pattern: ^[a-zA-Z]+$
문자열을 암호로
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
문자열을 텍스트 영역으로
ssh_public_key: type: string title: SSH public key maxLength: 256
부울
public_ip: type: boolean title: Assign public IP address description: Choose whether your machine should be internet facing. default: false
날짜 및 시간 일정 선택기
leaseDate: type: string title: Lease Date format: date-time