Serviceability Client¶
The ServiceabilityClient manages UCM services (start, stop, restart,
status, deploy/undeploy) via the ControlCenter SXML API.
[!NOTE] This client requires platform/OS admin credentials, not AXL application user credentials.
Quick Example¶
from axltoolkit import ServiceabilityClient
svc = ServiceabilityClient(
username="platformadmin",
password="secret",
server_ip="ucm-pub.example.com",
tls_verify=True,
)
status = svc.get_service_status(["Cisco CallManager"])
svc.restart_service("Cisco CallManager")
Class Reference¶
axltoolkit.serviceability.ServiceabilityClient
¶
ServiceabilityClient(username: str, password: str, server_ip: str, *, tls_verify: Union[bool, str] = True, timeout: int = 30, max_retries: int = 3)
Bases: BaseClient
Client for the Cisco UCM ControlCenter (Serviceability) SXML API.
Provides methods to query and manage UCM services (start, stop, restart, query status).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
username
|
str
|
Platform/OS Administration user name. |
required |
password
|
str
|
Password. |
required |
server_ip
|
str
|
UCM server IP address or FQDN. |
required |
tls_verify
|
Union[bool, str]
|
TLS verification setting (default |
True
|
timeout
|
int
|
Request timeout in seconds (default 30). |
30
|
max_retries
|
int
|
Retry count for transient failures (default 3). |
3
|
get_service_status
¶
Get the status of one or more UCM services.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service_names
|
Optional[Sequence[str]]
|
List of service names to query. If |
None
|
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict from |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the query fails. |
Example::
status = client.get_service_status(["Cisco CallManager"])
do_service_deployment
¶
Deploy (activate/deactivate) a UCM service.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service_name
|
str
|
The name of the service to deploy. |
required |
deploy_action
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict. |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the deployment fails. |
restart_service
¶
Restart a UCM service.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service_name
|
str
|
The name of the service to restart. |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict. |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the restart fails. |
start_service
¶
Start a UCM service.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service_name
|
str
|
The name of the service to start. |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict. |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the start fails. |
stop_service
¶
Stop a UCM service.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
service_name
|
str
|
The name of the service to stop. |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict. |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the stop fails. |
get_static_service_list
¶
Get the static list of services available on the node.
Returns the catalog of services that can be managed via this Serviceability endpoint, including display name and whether each service is a feature service or a network service.
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict from |
Dict[str, Any]
|
The service catalog is in the |
Dict[str, Any]
|
field. |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the query fails. |
Example::
catalog = client.get_static_service_list()
for svc in catalog["ServiceInformationResponse"]:
print(svc["ServiceName"], svc["IsFeature"])
get_product_information_list
¶
Get the product information list for the UCM node.
Returns product metadata for the cluster (version, edition, product name, etc.) as reported by the ControlCenter service.
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
The raw SOAP response dict from |
Raises:
| Type | Description |
|---|---|
ServiceabilityError
|
If the query fails. |
Example::
info = client.get_product_information_list()
for product in info["ProductInformationResponse"]:
print(product["Name"], product["Version"])