확장성 작업을 사용하면 Automation Assembler를 ServiceNow 같은 Enterprise ITSM과 통합할 수 있습니다.
이 통합을 생성하기 위해 4개의 확장성 작업 스크립트를 사용합니다. 처음 3개의 스크립트는 프로비저닝 중에 순차적으로 시작됩니다(프로비저닝 후 계산 이벤트). 4번째 스크립트는 제거 후 계산 이벤트 시점에 트리거됩니다.
이벤트 항목에 대한 자세한 내용은 Automation Assembler에서 제공되는 이벤트 항목 항목을 참조하십시오.
VM 세부 정보 가져오기
VM 세부 정보 가져오기 스크립트는 CI 생성에 필요한 페이로드 세부 정보 및 Amazon Web Services Systems Manager(SSM) Parameter Store에 저장되어 있는 ID 토큰을 가져옵니다. 또한 이 스크립트는 나중에 사용하기 위해 추가적인 속성으로 customProperties를 업데이트합니다.
ServiceNow CMDB CI 생성ServiceNow 변경 사항 생성
이 스크립트는 ServiceNow 인스턴스 URL을 입력으로 전달하고 보안 요구 사항을 충족하기 위해 ServiceNow 자격 증명을 SSM으로 저장하여 ITSM 통합을 완료합니다.
ServiceNow 변경 사항 생성
ServiceNow CMDB CI 회수 스크립트는 ServiceNow 중지 메시지를 표시하고, 생성 스크립트에 생성된 사용자 지정 속성 serviceNowSysId에 기반하여 CI를 회수된 것으로 표시합니다.
사전 요구 사항
- 이 통합을 구성하기 전에 조건부 클라우드 템플릿 속성 event.data["customProperties"]["enable_servicenow"] === "true"를 사용하여 모든 이벤트 구독을 필터링합니다.
참고: 이 속성은 ServiceNow 통합이 필요한 클라우드 템플릿에 있습니다.
- Python을 다운로드하고 설치합니다.
구독 필터링에 대한 자세한 내용은 확장성 구독 생성 항목을 참조하십시오.
프로시저
결과
Automation Assembler가 ITSM ServiceNow와 통합되었습니다.
다음에 수행할 작업
from botocore.vendored import requests import json import boto3 client = boto3.client('ssm','ap-southeast-2') def handler(context, inputs): snowUser = client.get_parameter(Name="serviceNowUserName",WithDecryption=False) snowPass = client.get_parameter(Name="serviceNowPassword",WithDecryption=True) tableName = "cmdb_ci_vmware_instance" sys_id =inputs['customProperties']['serviceNowSysId'] url = "https://" + inputs['instanceUrl'] + "/api/now/"+tableName+"/{0}".format(sys_id) headers = {'Content-type': 'application/json', 'Accept': 'application/json'} payload = { 'state': 'Retired' } results = requests.put( url, json=payload, headers=headers, auth=(inputs['username'], inputs['password']) ) print(results.text)
확장성 작업을 사용하여 Automation Assembler에 ServiceNow를 통합할 수 있는 방법에 대한 자세한 내용은 ServiceNow 통합을 위해 작업 기반 확장성을 사용하여 Cloud Assembly 확장을 참조하십시오.