Используя действия с поддержкой расширяемости, службу Cloud Assembly можно интегрировать с корпоративными решениями для управления ИТ-службами (ITSM), такими как ServiceNow.
Чтобы создать эту интеграцию, потребуется четыре сценария действий с поддержкой расширяемости. Первые три сценария инициируются последовательно во время предоставления ресурсов событием «После предоставления вычислительных ресурсов». Четвертый сценарий запускается событием «После удаления вычислительных ресурсов».
Дополнительные сведения о темах событий см. в разделе Темы событий, предоставленные с помощью Cloud Assembly.
Получение сведений о ВМ
Сценарий «Получение сведений о ВМ» получает дополнительные сведения о полезных данных, необходимые для создания непрерывной интеграции, и маркер идентификации из Amazon Web Services Systems Manager Parameter Store (SSM). Кроме того, этот сценарий обновляет раздел customProperties, добавляя в него дополнительные свойства для дальнейшего использования.
Создание непрерывной интеграции базы данных управления конфигурациями в ServiceNowСоздание изменения в ServiceNow
Этот сценарий завершает интеграцию ITSM путем передачи URL-адреса экземпляра ServiceNow в качестве входных данных и сохранения учетных данных ServiceNow в качестве SSM в соответствии с требованиями безопасности.
Создание изменения в ServiceNow
Сценарий списания непрерывной интеграции базы данных управления конфигурациями в ServiceNow приводит к остановке ServiceNow и помечает непрерывную интеграцию как списанную в соответствии с настраиваемым свойством serviceNowSysId, созданным сценарием создания интеграции.
Необходимые условия
- Перед настройкой интеграции отфильтруйте все подписки на события с помощью условного свойства облачного шаблона: event.data["customProperties"]["enable_servicenow"] === "true"
Примечание: Облачные шаблоны, которым требуется интеграция с ServiceNow, включают в себя этой свойство.
- Загрузите и установите Python.
Дополнительные сведения о фильтрации подписок см. в разделе Создание подписки с поддержкой расширяемости.
Процедура
Результаты
Служба Cloud Assembly успешно интегрирована с системой управления ИТ-службами 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)
Дополнительные сведения об использовании действий с поддержкой расширяемости для интеграции системы ServiceNow со службой Cloud Assembly см. в разделе Расширение Cloud Assembly с помощью действий ABX для интеграции с ServiceNow.