{"type":"api","title":"Update rule","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-2/76fd4bb9d069fd2530d7a02f0b3a4ca00eccfd35/7c48c18b-6630-3205-a601-ed557f355784","info":{"title":"APIs exposed by Grouping service","description":"Crosswork Grouping APIs allow the user to perform CRUD operations on grouping service.","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"},"version":"7.2.0"},"x-parser-conf":{"overview":{"markdownPath":"reference/INFRA/GROUPING/grouping-service-overview.md"}},"openapi":"3.1.0","servers":[{"url":"http://localhost:8080/v1/grouping","description":"Generated server url"}]},"spec":{"tags":["Rules"],"summary":"Update rule","description":"The request body should consist of a Rule data transfer object that specifies the device. Use API /device/rule/conditions to set the rule's conditions, operators, and attribute values.","operationId":"update","parameters":[{"name":"uuid","in":"path","description":"UUID of the rule to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Details of the rule to be updated.","content":{"application/json":{"schema":{"description":"Data Transfer Object representing a rule, including its attributes and conditions.","properties":{"uuid":{"type":"string","description":"Unique identifier for the rule, if available.","maxLength":255,"minLength":0},"classifier":{"type":"string","description":"Classifier type for the rule.","enum":["LocationDevices","UserDefinedPorts"],"maxLength":255,"minLength":0},"conditions":{"type":"string","format":"Stringify json of Java class","description":"See the rule/conditions API for details on supported condition properties and operators."},"targetGroupUuid":{"type":"string","description":"UUID of the target group associated with the rule, if applicable.","maxLength":255,"minLength":0}},"required":["classifier"],"$$ref":"#/components/schemas/RuleDTO"},"examples":{"Rule Update Request Example":{"summary":"Example of a rule update request","description":"Rule Update Request Example","value":{"active":true,"targetGroupEvaluator":null,"ordering":0,"classifier":"UserDefinedPorts","name":"TestGroup","targetGroupUuid":"97b10ae7-62a7-4218-ac55-d7cc63c1f1e5","conditions":"{\"conditions\":[{\"order\":1,\"attributeName\":\"admin_status\",\"value\":\"DOWN\",\"stringCondition\":{\"operator\":\"SO_Equals\"}}]}","uuid":"48687067-609d-4dac-91b7-a1396c90be5c"}}}}},"required":true},"responses":{"200":{"description":"OK. The request was successful. The result is contained in the response body, which is a generic structure containing only the relevant API return data.","content":{"application/json":{"schema":{"description":"Data Transfer Object representing the result of an operation, including status, related entities, and error details.","properties":{"status":{"type":"string","default":"Success","description":"Status of the operation result, indicating success, partial success, or error.","enum":["Success","Partial","Error"]},"group":{"description":"Data Transfer Object representing a group, including its properties and relationships.","properties":{"uuid":{"type":"string","description":"Unique identifier for the group, if available.","maxLength":255,"minLength":0},"name":{"type":"string","description":"Name of the group.","maxLength":255,"minLength":0},"description":{"type":"string","description":"Description of the group.","maxLength":255,"minLength":0},"discoveryType":{"type":"string","description":"Type of discovery used for the group, if applicable.","enum":["Static","Dynamic","StaticSystem","Unknown"]},"nodeType":{"type":"string","description":"Node type of the group, if applicable.","enum":["Group","Member"]},"classifier":{"type":"string","description":"Classifier associated with the group.","maxLength":255,"minLength":0},"referenceUuid":{"type":"string","description":"Reference UUID linked to the group, if applicable.","maxLength":255,"minLength":0},"children":{"type":"array","description":"List of child groups under this group.","items":{"$ref":"#/components/schemas/GroupDTO","$$ref":"#/components/schemas/GroupDTO"},"maxItems":100000,"minItems":0},"parentUuid":{"type":"string","description":"UUID of the parent group, if applicable."},"parentName":{"type":"string","description":"Name of the parent group, if applicable."},"childrenCount":{"type":"integer","format":"int32","description":"Number of members."}},"$$ref":"#/components/schemas/GroupDTO"},"rule":{"description":"Data Transfer Object representing a rule, including its attributes and conditions.","properties":{"uuid":{"type":"string","description":"Unique identifier for the rule, if available.","maxLength":255,"minLength":0},"classifier":{"type":"string","description":"Classifier type for the rule.","enum":["LocationDevices","UserDefinedPorts"],"maxLength":255,"minLength":0},"conditions":{"type":"string","format":"Stringify json of Java class","description":"See the rule/conditions API for details on supported condition properties and operators."},"targetGroupUuid":{"type":"string","description":"UUID of the target group associated with the rule, if applicable.","maxLength":255,"minLength":0}},"required":["classifier"],"$$ref":"#/components/schemas/RuleDTO"},"error":{"type":"string","description":"Error message, if any, associated with the result."},"details":{"type":"object","additionalProperties":{"type":"string","description":"Additional details related to the result, stored as key-value pairs."},"description":"Additional details related to the result, stored as key-value pairs."}},"$$ref":"#/components/schemas/ResultDTO"},"examples":{"Updated Rule Response Example":{"summary":"Example of a successful rule update response","description":"Updated Rule Response Example","value":{"status":"Success","rule":{"uuid":"48687067-609d-4dac-91b7-a1396c90be5c","ordering":0,"name":"TestGroup","classifier":"UserDefinedPorts","active":true,"conditions":"{\n \"conditions\": [{\n \"attributeName\": \"admin_status\",\n \"value\": \"DOWN\",\n \"order\": 1,\n \"stringCondition\": {\n \"operator\": \"SO_Equals\"\n }\n }]\n}","targetGroupUuid":"97b10ae7-62a7-4218-ac55-d7cc63c1f1e5"}}}}}}},"400":{"description":"Bad Request"},"500":{"description":"Internal Server Error"}},"method":"put","path":"/rule/{uuid}"}}