비용 센터로 선택 항목을 제한하는 자원 풀의 예

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • Blueprint와 자원 풀을 사용하여 클라우드 카탈로그 요청 양식의 선택 항목을 제한할 수 있습니다.

    사용 사례: 비용 센터 선택 제한

    이 예에서는 클라우드 자산의 비용이 사용자의 비용 센터 예산에 따라 청구됩니다. 기본 시스템 UserCostCenter 자원 풀를 사용하면 사용자가 자신의 비용 센터에 있는 자원만 선택할 수 있습니다.

    가정

    • 비용 관리[con cost_management] 플러그인이 활성 상태입니다.
    • 비용 센터가 정의되어 있고 사용자가 비용 센터와 연결되어 있습니다.
    • 하나 이상의 Blueprint가 정의되어 있습니다. 이 예에서는 AWS 가상 서버라는 Blueprint를 사용합니다.
    • sn_cmp_cloud_admin 역할이 할당되었고 JavaScript 및 JSON 스크립팅을 알고 있습니다.

    구성요소

    자원 풀 필터 검토
    1. 클라우드 관리자 포털에서 다음으로 이동합니다. 관리 > 자원 풀.
    2. CostCenterPool을 열고 관련 자원 풀 필터를 검토합니다.
      • All은 테이블의 모든 비용 센터를 반환하는 쿼리 필터입니다.
      • UserCostCenter는 항목을 주문하는 사용자와 연결된 비용 센터를 찾는 스크립트 필터입니다.
      다음은 UserCostCenter 필터의 스크립트입니다.
      getFilteredRecords();
      //Do not remove function declaration
      /**
      * @returns filtered records in the format [{"value"="lookupValue",label="displayValue"}]
      */
      function getFilteredRecords() {
      	var filteredRecords = [];
      	var userId = gs.getUserID();
      	var userGr = new GlideRecord('sys_user');
      	if (userGr.get(userId)){
      		var costCenterId = userGr.getValue('cost_center');
      		if (costCenterId){
      			var costCenterGr = new GlideRecord('cmn_cost_center');
      			if (costCenterGr.get(costCenterId)){
      				var costCenter = {};
      				costCenter.value = costCenterGr.getUniqueValue();
      				costCenter.label = costCenterGr.getValue('name');
      				filteredRecords.push(costCenter);
      			}
      		}		
      	}
      
      	//force to string
      	return new global.JSON().encode(filteredRecords);
      }
    Blueprint 카탈로그 양식 매개변수
    1. 다음으로 이동 설계 > Blueprint을 클릭한 다음 열려는 청사진의 타일을 클릭합니다.
    2. 초안 상태의 Blueprint를 사용하여 카탈로그 > 운영 요청 탭.

      프로비저닝 작업

    3. 변수 세트 관련 목록에서 일반 정보 변수 세트를 클릭합니다. 기본적으로 CostCenter 변수는 이 변수 세트에 있습니다.
    4. 변수 세트 양식의 클라우드 변수 관련 목록에서 CostCenter 변수를 클릭합니다.

      CostCenter 변수

    5. 클라우드 변수 양식에서 유형 사양 탭을 클릭합니다.
    6. 자원 풀 및 필터를 참조하는 풀 필터 필드를 확인합니다.
      • CostCenterPool자원 풀의 이름입니다.
      • UserCostCenter는 사용자가 선택할 수 있도록 비용 센터 옵션을 가져오는 필터 스크립트입니다.

      비용 센터 카탈로그 속성의 데이터 소스 값에 사용된 자원 풀 및 필터

    7. Blueprint를 게시됨으로 설정합니다.
    비용 센터 사용자
    비용 센터의 구성원인 사용자 및 클라우드 사용자 포털에 액세스할 수 있는 사람을 식별합니다.

    판매 비용 센터의 구성원인 사용자입니다.

    자원 풀 필터 테스트

    이 사용 사례를 구성하는 구성요소를 검토한 후 클라우드 카탈로그 항목을 테스트하여 사용자가 자신의 비용 센터만 선택할 수 있는지 확인합니다.

    1. 이 예에서는 사용자 Alene Rabeck를 가장합니다.
    2. 클라우드 사용자 포털에서 스택 시작을 클릭한 다음 클라우드 카탈로그 항목을 선택합니다(이 예에서는 AWS 가상 서버).
    3. 비용 센터 목록에서 선택 항목을 검토합니다.

      이 사용자의 비용 센터에서 유일한 선택 항목은 판매입니다.

    이 카탈로그 항목에 CostCenterPool::UserCostCenter 데이터 소스 값을 사용할 경우 비용 센터의 유일한 옵션은 사용자가 구성원으로 속해 있는 비용 센터입니다.

    자원 풀 필터 변경

    자원 풀 필터를 변경하고 결과를 확인하여 이 필터가 비용 센터 필드의 동작을 제어하고 있는지 테스트합니다.

    1. 클라우드 관리자 포털에서 다음으로 이동합니다. 설계 > Blueprint 을 클릭한 다음 AWS 가상 서버를 클릭합니다.
    2. 프로비저닝 작업 타일을 클릭합니다.
    3. 변수 세트 관련 목록에서 일반 정보 변수 세트를 클릭합니다. 기본적으로 CostCenter 변수는 이 변수 세트에 있습니다.
    4. 변수 세트 양식의 클라우드 변수 관련 목록에서 CostCenter 변수를 클릭합니다.
    5. 클라우드 변수 양식에서 유형 사양 탭을 클릭합니다.
    6. 풀 필터 필드를 편집하여 필터를 UserCostCenter에서 All로 변경합니다.

      비용 센터 카탈로그 속성의 데이터 소스 값에 사용된 자원 풀 및 필터

    7. 업데이트를 클릭한 다음 게시를 클릭합니다.
    8. 이 예에서는 사용자 Alene Rabeck를 가장합니다.
    9. 클라우드 사용자 포털에서 스택을 시작한 다음 AWS 가상 서버를 선택합니다.
    10. 모든 비용 센터가 나열되는지 확인합니다.

      이제 모든 비용 센터가 선택 항목으로 표시됩니다.