Met uitbreidbaarheidsacties kunt u Cloud Assembly integreren met zakelijk ITSM, zoals ServiceNow.
Om deze integratie te maken, gebruikt u vier uitbreidbaarheidsactiescripts. De eerste drie scripts worden tijdens het inrichten sequentieel geïnitialiseerd bij de post-gebeurtenis voor het inrichten van de berekening. Het vierde script wordt geactiveerd bij de post-gebeurtenis voor het verwijderen van de berekening.
Zie De gebeurtenisonderwerpen van Cloud Assembly voor meer informatie over gebeurtenisonderwerpen.
VM-gegevens ophalen
Het script VM-gegevens ophalen haalt aanvullende gegevens van de lading op die vereist zijn voor het maken van CI en een identiteitstoken dat is opgeslagen in Amazon Web Services Systems Manager Parameter Store (SSM). Verder werkt dit script customProperties bij met aanvullende eigenschappen voor later gebruik.
ServiceNow CMDB CI makenServiceNow-wijziging maken
Dit script voltooit de ITSM-integratie door de URL van de ServiceNow-instantie als invoer door te geven en de ServiceNow-verificatiegegevens als SSM op te slaan om aan de beveiligingsvereisten te voldoen.
ServiceNow-wijziging maken
Het ServiceNow-script voor het buiten gebruik stellen van CMDB vraagt ServiceNow om te stoppen en markeert de CI als buiten gebruik gesteld op basis van de aangepaste eigenschap serviceNowSysId die in het aanmaakscript is gemaakt.
Voorwaarden
- Voordat u deze integratie configureert, filtert u alle gebeurtenisabonnementen met de voorwaardelijke cloudsjablooneigenschap: event.data["customProperties"]["enable_servicenow"] === "true"
Opmerking: Deze eigenschap bestaat in cloudsjablonen die een ServiceNow-integratie vereisen.
- Download en installeer Python.
Zie Een uitbreidbaarheidsabonnement maken voor meer informatie over het filteren van abonnementen.
Procedure
resultaten
Cloud Assembly is geïntegreerd met ITSM ServiceNow.
Volgende stappen
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)
Voor meer informatie over hoe u uitbreidbaarheidsacties kunt gebruiken om ServiceNow in Cloud Assembly te integreren, raadpleegt u Extending Cloud Assembly with Action Based Extensibility for ServiceNow Integration.