SLA

A service-level agreement (SLA) defines the level of service expected, laying out the metrics by which the service is measured and the remedies, if agreed-on service levels cannot be achieved. An SLA for a job definition and consequentially to the jobruns is a measure of time by which the scheduled job must be completed. Events can be triggered on breach of the SLA window and warnings are sent out for remedial action for at risk and breached SLAs.

Typical Operations:

  • Creating an SLA.

  • Updating an SLA.

  • Copying an SLA will copy its child hierarchy.

  • Deleting a parent SLA is possible only if none of its child SLAs are referenced (mapped) in other objects.

  • Enabling an SLA will make it active.

  • Disabling a parent SLA, disables its entire child hierarchy.

  • Disabling an SLA does not remove its previous mappings to the job definitions.

SLA Examples

From the browser, issue and click Manual Commands (Post). Test the REST API examples from the Client Manager API post screen that appears. Likewise, error messages and exceptions are displayed for invalid parameters and unsuccessful execution of a request.

Create an SLA

The SLA object provides a method called create. This REST API call allows a user to create an SLA.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.create xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<object></object>
</tes:SLA.create>
</entry>

Update an SLA

The SLA object provides a method called update. This REST API call allows a user to update an SLA.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.update xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<object></object>
</tes:SLA.update>
</entry>

Copy an SLA

The SLA object provides a method called copy. This REST API call allows a user to copy one or more SLAs including their child hierarchy.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.copy xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id></id>
<parentid></parentid>
<prefix></prefix>
</tes:SLA.copy>
</entry>

Delete an SLA

The SLA object provides a method called delete. This REST API call allows a user to delete one or more SLAs. Deleting a parent SLA is possible only if none of its child SLAs are referenced (mapped) in other objects.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.delete xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<object></object>
</tes:SLA.delete>
</entry>

Enable or Disable an SLA

The SLA object provides a method called enable.

This REST API call allows a user to enable an SLA. Enabling an SLA makes it active.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.enable xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id></id>
<active>Y</active>
<overridechildren></overridechildren>
</tes:SLA.enable>
</entry>

This REST API call allows a user to disable an SLA Disabling an SLA makes it inactive. Disabling a parent SLA, disables its entire child hierarchy.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.enable xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id></id>
<active>N</active>
<overridechildren></overridechildren>
</tes:SLA.enable>
</entry>

Get History

This SLA object provides a method called SLA.getHistory that retrieves SLA history records directly from the database for a specific SLA Policy ID. The method returns the history records in descending order of Create Time.

<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:SLA.getHistory xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id></id>
</tes:SLA.getHistory>
</entry>

Note: The “id” is the SLA Policy ID, which is a required field.