GetInstanceName
Given an integration name, returns the instance name.
- Type
- python
- Pack
- DeveloperTools
Source
from typing import Any
import demistomock as demisto
from CommonServerPython import *
from CommonServerUserPython import *
def instance_check(instances, integration_name: str) -> list:
instance_names = []
for instance_name, details in instances.items():
if details.get("brand") == integration_name:
instance_names.append(instance_name)
return instance_names
def get_instance_name_command(args: dict[str, Any]) -> CommandResults:
integration_name = args.get("integration_name", "")
instances = demisto.getModules()
instance_names = instance_check(instances, integration_name)
if not instance_names:
raise DemistoException(f"No instance for integration {integration_name}.")
if argToBoolean(args.get("return_all_instances", "false")):
return CommandResults(
outputs_prefix="Instances",
outputs_key_field="",
outputs=[
{
"integrationName": integration_name,
"instanceName": instance_name,
}
for instance_name in instance_names
],
)
return CommandResults(
outputs_prefix="Instances",
outputs_key_field="",
outputs={
"integrationName": integration_name,
"instanceName": instance_names[0],
},
)
def main():
try:
return_results(get_instance_name_command(demisto.args()))
except Exception as ex:
return_error(f"Failed to execute Script. Error: {ex!s}")
if __name__ in ("__main__", "__builtin__", "builtins"):
main()
README
Given an integration name, returns the instance name.
Script Data
| Name |
Description |
| Script Type |
python3 |
| Tags |
basescript |
| Cortex XSOAR Version |
6.0.0 |
Inputs
| Argument Name |
Description |
| integration_name |
Integration name for which to check its instance name. |
| return_all_instances |
Whether to return a full list of instance names related to the given integation name. |
Outputs
| Path |
Description |
Type |
| Instances.integrationName |
Requested integration name. |
String |
| Instances.instanceName |
Instance name for given integration. |
String |
Script Example
!GetInstanceName integration_name="HelloWorld Feed"
Context Example
{
"Instances": {
"instanceName": "HelloWorld Feed_instance_1",
"integrationName": "HelloWorld Feed"
}
}
Human Readable Output
Results
| instanceName |
integrationName |
| HelloWorld Feed_instance_1 |
HelloWorld Feed |