À l'aide des actions d'extensibilité, vous pouvez intégrer Cloud Assembly à un système ITSM d'entreprise, comme ServiceNow.
Pour créer cette intégration, vous utilisez quatre scripts d'action d'extensibilité. Les trois premiers scripts sont lancés dans l'ordre lors du provisionnement, à l'occasion du post-événement de provision de calcul. Le quatrième script se produit à l'occasion du post-événement de suppression de calcul.
Pour plus d'informations sur les rubriques d'événements, reportez-vous à la section Rubriques d'événement fournies avec Cloud Assembly.
Obtenir les détails de la machine virtuelle
Le script Obtenir les détails de la machine virtuelle acquiert des détails supplémentaires relatifs à la charge utile (nécessaires pour la création de CI) et un jeton d'identité stocké dans Amazon Web Services Systems Manager Parameter Store (SSM). Ce script met également à jour customProperties avec des propriétés supplémentaires pour une utilisation ultérieure.
Créer une CI de CMDB ServiceNowCréer une modification ServiceNow
Ce script met fin à l'intégration du système ITSM en transmettant l'URL de l'instance ServiceNow sous la forme d'une entrée et en stockant les informations d'identification ServiceNow en tant que SSM pour répondre aux exigences de sécurité.
Créer une modification ServiceNow
Le script de mise hors service d'une CI de CMDB ServiceNow invite l'instance ServiceNow à s'arrêter et marque la CI comme étant mise hors service, en fonction de la propriété personnalisée serviceNowSysId créée dans le script de création.
Conditions préalables
- Avant de configurer cette intégration, filtrez tous les abonnements aux événements en fonction de la propriété de modèle de cloud conditionnelle : event.data["customProperties"]["enable_servicenow"] === "true"
Note : Cette propriété existe sur les modèles de cloud requérant une intégration ServiceNow.
- Téléchargez et installez Python.
Pour plus d'informations sur le filtrage des abonnements, reportez-vous à la section Création d'un abonnement d'extensibilité.
Procédure
Résultats
Cloud Assembly est correctement intégré au système ITSM ServiceNow.
Que faire ensuite
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)
Pour plus d'informations sur l'utilisation des actions d'extensibilité pour intégrer ServiceNow dans Cloud Assembly, reportez-vous à la section Extension de Cloud Assembly avec l'extensibilité basée sur des actions pour l'intégration de ServiceNow.