자원 풀에 매개변수 바인딩
카탈로그 순서를 오류가 적게 만들기 위해 매개변수를 자원 풀(기본 시스템에 제공된 풀)에 바인딩할 수 있습니다. 자원 풀 목록을 기반으로 하는 매개변수는 클라우드 사용자 포털의 카탈로그 주문 양식에 있는 기존 테이블에서 지정된 값만 나열합니다.
시작하기 전에
이 태스크 정보
클라우드 템플릿을 사용하여 자원 블록을 만들 때 ARM(Azure Resource Manager) 또는 CF(CloudFormation) 템플릿의 메타데이터 섹션에서 SN 풀에 매개변수를 바인딩할 수 있습니다. 모든 SN 풀이 절차에 나열되어 있습니다.
프로시저
- 클라우드 관리자 포털에서 다음으로 이동합니다. 디자인 > 클라우드 카탈로그 항목.
-
새 클라우드 템플릿을 만들려면 기존 템플릿을 선택하거나 새로 만들기를 클릭하십시오.
기존 템플릿을 선택하는 경우 템플릿의 이름을 바꿉니다.
다음 단계에서는 해당 템플릿 유형의 템플릿 정의를 수정합니다(ARM 또는 CloudFormation 선택). SN 풀 필터를 datasource 값으로 지정합니다.
표 1. 데이터 소스 값으로 사용할 SN 풀 SN 풀 필터 AvailabilityZonePool getAllObjects: 모든 가용 영역을 가져옵니다.
getObjectsByLDC: LDC에 따라 가용 영역을 가져옵니다.
HardwareTypePool ImagePool LoadBalancerPool All: 모든 부하 분산 장치를 가져옵니다. NetworkPool getAllObjects: 모든 네트워크를 가져옵니다.
getObjectsByLDC: LDC에 따라 네트워크를 가져옵니다.
ResourceGroupPool getObjectsByLDC: LDC에 따라 자원 그룹을 가져옵니다. SecurityGroupPool getObjectsByNetwork: 모든 보안 그룹을 가져옵니다. SecurityGroupProfilePool All: 모든 보안 그룹 프로파일을 가져옵니다. SSHKeyPool UserKeys: 모든 SSH 키를 가져옵니다. StorageAccountPool getObjectsByLDC: LDC에 따라 저장소 계정을 가져옵니다. StorageVolumePool All: 모든 저장소 볼륨을 가져옵니다. SubnetPool getObjectsByNetwork: 모든 서브넷을 가져옵니다. VirtualMachinePool getByAvailabilityZone: 모든 가상 컴퓨터를 가져옵니다. -
ARM 템플릿 정의 수정:
- parameters 메타데이터 섹션에 SNC::Parameter::Metadata 속성을 추가합니다.
-
SNC::Parameter::Metadata 속성에 대해 이 예제와 같이 데이터 소스를 키로 추가하고 값으로 SN 풀 필터(예:
StorageAccountPool.getObjectsByLDC)를 입력합니다."parameters": { "newStorageAccountName": { "type": "string", "metadata": { "description": "Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed.", "SNC::Parameter::Metadata": { "allowedPattern": "[0-9a-z]{1,11}", "ConstraintDescription": "must be a alphanumeric ", "datasource":"ServiceNow::Pools::StorageAccountPool.getObjectsByLDC", } } }
-
CloudFormation 템플릿 정의를 수정합니다.
-
SNC::Parameter::Metadata 속성을 추가하고 사용자 지정 속성 이름(VpcId)과 datasource를 정의합니다.
datasource 값으로 이 예제의
NetworkPool.getObjectsByLDC와 같은 SN 풀 필터를 입력합니다. -
datasourceFilter 매핑 속성을 정의하여 실제 속성 이름(Network)에 사용자 지정 이름(VpcId)을 바인딩합니다.
"Parameters" : { "VpcId" : { "Type" : "AWS::EC2::VPC::Id", "Description" : "VpcId of your existing Virtual Private Cloud (VPC)", "ConstraintDescription" : "must be the VPC Id of an existing Virtual Private Cloud." }, "SubnetId" : { "Type" : "AWS::EC2::Subnet::Id", "Description" : "SubnetId of an existing subnet (for the primary network) in your Virtual Private Cloud (VPC)", "ConstraintDescription" : "must be an existing subnet in the selected Virtual Private Cloud." } }, "Metadata": { "SNC::Parameter::Metadata": { "VpcId":{ "datasource":"ServiceNow::Pools::NetworkPool.getObjectsByLDC", "datasourceFilter":{"Network":"VpcId"} }, "SubnetId":{ "datasource":"ServiceNow::Pools::SubnetPool.getObjectsByNetwork", "datasourceFilter":{"Network":"VpcId"} } } }
-
SNC::Parameter::Metadata 속성을 추가하고 사용자 지정 속성 이름(VpcId)과 datasource를 정의합니다.
- 제출을 클릭합니다.
- 자원 블록, Blueprint 및 카탈로그 항목이 생성되면 클라우드 서비스 사용자가 카탈로그 주문 양식에서 매개변수의 풀 데이터 값 목록만 볼 수 있습니다.