Ownership Policy
An ownership policy can be defined with one or more rules for Job and Job Group objects in Tidal Automation.
An ownership policy includes a collection of policy rules and shared owners. This policy type is enforceable on jobs and job groups with names that match the conditions specified in those policy rules. The security policy of the shared owners added to an ownership policy is determined in the shared ownership rule definitions. For information about defining shared ownership rules, see the Authorization Policies section in the Users chapter of the Tidal Automation User Guide.
Typical Operations:
-
Creating a new ownership policy.
-
Updating an existing ownership policy.
-
Deleting an ownership policy.
-
Apply ownership policies to all job definitions.
-
Apply a specific ownership policy to all job definitions.
-
Retrieve ownership policies by shared owner ID.
-
Validating whether the ownership policy name is unique or not.
Ownership Policy 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 a new Ownership Policy
The OwnershipPolicy object provides a method called create to generate a new ownership policy.
-
When specifyowners=Y:
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.create xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<tes:OwnershipPolicy>
<tes:name>OwnershipPolicy1</tes:name>
<tes:rules>
<![CDATA[<ownership><description>Policy for Users to define shared owners</description><specifyowners>Y</specifyowners><rule><objecttype>1</objecttype><field>Name</field><conditiontype>1</conditiontype><fieldvalue>Finance</fieldvalue></rule><rule><objecttype>1</objecttype><field>Name</field><conditiontype>3</conditiontype><fieldvalue>Training</fie ldvalue></rule></ownership>]]>
</tes:rules>
</tes:OwnershipPolicy>
</tes:OwnershipPolicy.create>
</entry>
-
When specifyowners=N:
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.create xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<tes:OwnershipPolicy>
<tes:name>Global Policy</tes:name>
<tes:rules>
<![CDATA[<ownership><description>Global Shared Owner Policy</description><specifyowners>N</specifyowners><rule><objecttype>1</objecttype><field>Nam e</field><conditiontype>8</conditiontype><fieldvalue><job.owner>-<job.sharedowner>
-*</fieldvalue></rule></ownership>]]>
</tes:rules>
</tes:OwnershipPolicy>
</tes:OwnershipPolicy.create>
</entry>
Update an Ownership Policy
The OwnershipPolicy object provides a method called update to modify an existing ownership policy.
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.update xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<tes:OwnershipPolicy>
<tes:name>OwnershipPolicy1</tes:name>
<tes:rules>
<![CDATA[<ownership><description>Policy for Users to define shared owners</description><specifyowners>Y</specifyowners><rule><objecttype>1</objecttype><field>Nam e</field><conditiontype>1</conditiontype><fieldvalue><![CDATA[_Finance]]></fieldvalue></rule>< rule><objecttype>1</objecttype><field>Name</field><conditiontype>3</conditiontype><fieldvalue>
<![CDATA[Training]]></fieldvalue></rule></ownership>]]>
</tes:rules>
</tes:OwnershipPolicy>
</tes:OwnershipPolicy.update>
Delete an Ownership Policy
The OwnershipPolicy object provides a method called delete to remove an ownership policy.
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.delete xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<object>OwnershipPolicy1</object>
</tes:OwnershipPolicy.delete>
</entry>
Apply an Ownership Policy to Job Definitions
The OwnershipPolicy object provides a method called applyPolicyToJobs to apply a specific ownership policy to all job definitions.
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.applyPolicyToJobs xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id>123</id>
</tes:OwnershipPolicy.applyPolicyToJobs>
</entry>
Apply Ownership Policies to Job Definitions
The OwnershipPolicy object provides a method called applyPoliciesToJobs to apply ownership policies to associated TA objects.
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.applyPoliciesToJobs xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
</tes:OwnershipPolicy.applyPoliciesToJobs>
</entry>
Get List of Ownership Policies
The OwnershipPolicy object provides a method called getPoliciesBySharedOwnerId to retrieve a list of ownership policies using the shared owner id.
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.getPoliciesBySharedOwnerId xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<id>123</id>
</tes:OwnershipPolicy.getPoliciesBySharedOwnerId>
</entry>
Validate Ownership Policy Name
The OwnershipPolicy object provides a method called validateNameIsUnique to validate whether the name of the ownership policy is unique or not.
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://purl.org/atom/ns#">
<tes:OwnershipPolicy.validateNameIsUnique xmlns:tes="http://www.tidalsoftware.com/client/tesservlet">
<name>OwnershipPol1</name>
</tes:OwnershipPolicy.validateNameIsUnique>
</entry>