{ "info": { "_postman_id": "5921af97-1b03-4a47-bc8e-cfbbb9d04859", "name": "Policy Framework Lifecycle API", "description": "This collection lists all the Lifecycle API's supported by ONAP Policy Framework. These API's are used to perform CRUD operations for Policy, Policy Type & Data Type for all supported PDP engines.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Lifecycle Api Healthcheck", "request": { "method": "GET", "header": [ { "key": "Content-Type", "type": "text", "value": "application/json" }, { "key": "Accept", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/healthcheck", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "healthcheck" ] }, "description": "This is an API to fetch current healthcheck information for the policy-api component." }, "response": [] }, { "name": "Lifecycle Api Statistics", "request": { "method": "GET", "header": [ { "key": "Content-Type", "type": "text", "value": "application/json" }, { "key": "Accept", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/statistics", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "statistics" ] }, "description": "This is an API to fetch current statistics information for the policy-api component." }, "response": [] }, { "name": "Create Policy Type", "request": { "method": "POST", "header": [ { "key": "Accept", "type": "text", "value": "application/yaml" }, { "key": "Content-Type", "type": "text", "value": "application/yaml" } ], "body": { "mode": "raw", "raw": "tosca_definitions_version: tosca_simple_yaml_1_1_0\npolicy_types:\n onap.policies.controlloop.operational.Common:\n derived_from: tosca.policies.Root\n version: 1.0.0\n description: |\n Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\n Policy Types. This does NOT support the legacy Policy YAML policy type.\n properties:\n id:\n type: string\n description: The unique control loop id.\n required: true\n timeout:\n type: integer\n description: |\n Overall timeout for executing all the operations. This timeout should equal or exceed the total\n timeout for each operation listed.\n required: true\n abatement:\n type: boolean\n description: Whether an abatement event message will be expected for the control loop from DCAE.\n required: true\n default: false\n trigger:\n type: string\n description: Initial operation to execute upon receiving an Onset event message for the Control Loop.\n required: true\n operations:\n type: list\n description: List of operations to be performed when Control Loop is triggered.\n required: true\n entry_schema:\n type: onap.datatype.controlloop.Operation\n\n onap.policies.controlloop.operational.common.Drools:\n derived_from: onap.policies.controlloop.operational.Common\n type_version: 1.0.0\n version: 1.0.0\n description: Operational policies for Drools PDP\n properties:\n controllerName:\n type: string\n description: Drools controller properties\n required: false\n\ndata_types:\n onap.datatype.controlloop.Target:\n derived_from: tosca.datatypes.Root\n description: Definition for a entity in A&AI to perform a control loop operation on\n properties:\n targetType:\n type: string\n description: Category for the target type\n required: true\n constraints:\n - valid_values: [VNF, VM, VFMODULE, PNF]\n entityIds:\n type: map\n description: |\n Map of values that identify the resource. If none are provided, it is assumed that the\n entity that generated the ONSET event will be the target.\n required: false\n metadata:\n clamp_possible_values: ClampExecution:CSAR_RESOURCES\n entry_schema:\n type: string\n\n onap.datatype.controlloop.Actor:\n derived_from: tosca.datatypes.Root\n description: An actor/operation/target definition\n properties:\n actor:\n type: string\n description: The actor performing the operation.\n required: true\n metadata:\n clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor\n operation:\n type: string\n description: The operation the actor is performing.\n metadata:\n clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation\n required: true\n target:\n type: onap.datatype.controlloop.Target\n description: The resource the operation should be performed on.\n required: true\n payload:\n type: map\n description: Name/value pairs of payload information passed by Policy to the actor\n required: false\n metadata:\n clamp_possible_values: ClampExecution:CDS/payload\n entry_schema:\n type: string\n\n onap.datatype.controlloop.Operation:\n derived_from: tosca.datatypes.Root\n description: An operation supported by an actor\n properties:\n id:\n type: string\n description: Unique identifier for the operation\n required: true\n description:\n type: string\n description: A user-friendly description of the intent for the operation\n required: false\n operation:\n type: onap.datatype.controlloop.Actor\n description: The definition of the operation to be performed.\n required: true\n timeout:\n type: integer\n description: The amount of time for the actor to perform the operation.\n required: true\n retries:\n type: integer\n description: The number of retries the actor should attempt to perform the operation.\n required: true\n default: 0\n success:\n type: string\n description: Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.\n required: false\n default: final_success\n failure:\n type: string\n description: Points to the operation to invoke on Actor operation failure.\n required: false\n default: final_failure\n failure_timeout:\n type: string\n description: Points to the operation to invoke when the time out for the operation occurs.\n required: false\n default: final_failure_timeout\n failure_retries:\n type: string\n description: Points to the operation to invoke when the current operation has exceeded its max retries.\n required: false\n default: final_failure_retries\n failure_exception:\n type: string\n description: Points to the operation to invoke when the current operation causes an exception.\n required: false\n default: final_failure_exception\n failure_guard:\n type: string\n description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.\n required: false\n default: final_failure_guard" }, "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes" ] }, "description": "This is a generic API to create one or more policy types together in a single API call." }, "response": [] }, { "name": "Fetch Policy Type", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0" ] }, "description": "This is an API to fetch a specific policy type (example - \"onap.policies.controlloop.operational.common.Drools\") currently available in Policy DB." }, "response": [] }, { "name": "Fetch All Policy Types", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes" ] }, "description": "This is a generic API to fetch all policy types currently available in Policy DB." }, "response": [] }, { "name": "Fetch All Versions of Policy Type", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools" ] }, "description": "This is an API to fetch all versions of a specific policy type (example - \"onap.policies.controlloop.operational.common.Drools\") currently available in Policy DB." }, "response": [] }, { "name": "Fetch Latest Version of Policy Type", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/latest", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "latest" ] }, "description": "This is an API to fetch latest versions of a specific policy type (example - \"onap.policies.controlloop.operational.common.Drools\") currently available in Policy DB." }, "response": [] }, { "name": "Delete Policy Type", "request": { "method": "DELETE", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0" ] }, "description": "This is an API to delete a specific policy type (example - \"onap.policies.controlloop.operational.common.Drools\") currently available in Policy DB." }, "response": [] }, { "name": "Create Policy (Generic)", "request": { "method": "POST", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"tosca_definitions_version\": \"tosca_simple_yaml_1_1_0\",\n \"topology_template\": {\n \"policies\": [\n {\n \"operational.modifyconfig\": {\n \"type\": \"onap.policies.controlloop.operational.common.Drools\",\n \"type_version\": \"1.0.0\",\n \"version\": \"1.0.0\",\n \"metadata\": {\n \"policy-id\": \"operational.modifyconfig\"\n },\n \"properties\": {\n \"id\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\n \"timeout\": 1200,\n \"abatement\": false,\n \"trigger\": \"unique-policy-id-1-modifyConfig\",\n \"operations\": [\n {\n \"id\": \"unique-policy-id-1-modifyConfig\",\n \"description\": \"Modify the packet generator\",\n \"operation\": {\n \"actor\": \"CDS\",\n \"operation\": \"modify-config\",\n \"target\": {\n \"targetType\": \"VNF\",\n \"entityIds\": {\n \"resourceID\": \"37b008b9-b367-4359-93fd-74d3ce0ee1a0\"\n }\n },\n \"payload\":{\n \"artifact_name\": \"vFW-CDS\",\n \"artifact_version\": \"1.0.0\",\n \"data\": \"{\\\"active-streams\\\": \\\"7\\\"}\"\n }\n },\n \"timeout\": 300,\n \"retries\": 0,\n \"success\": \"final_success\",\n \"failure\": \"final_failure\",\n \"failure_timeout\": \"final_failure_timeout\",\n \"failure_retries\": \"final_failure_retries\",\n \"failure_exception\": \"final_failure_exception\",\n \"failure_guard\": \"final_failure_guard\"\n }\n ],\n \"controllerName\": \"frankfurt\"\n }\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policies", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policies" ] }, "description": "This is a generic API to create multiple policies together in a single API call. The individual policies can refer to same policy type or different policy types." }, "response": [] }, { "name": "Create Policy (Specific)", "request": { "method": "POST", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"tosca_definitions_version\": \"tosca_simple_yaml_1_1_0\",\n \"topology_template\": {\n \"policies\": [\n {\n \"operational.modifyconfig\": {\n \"type\": \"onap.policies.controlloop.operational.common.Drools\",\n \"type_version\": \"1.0.0\",\n \"version\": \"1.0.0\",\n \"metadata\": {\n \"policy-id\": \"operational.modifyconfig\"\n },\n \"properties\": {\n \"id\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\n \"timeout\": 1200,\n \"abatement\": false,\n \"trigger\": \"unique-policy-id-1-modifyConfig\",\n \"operations\": [\n {\n \"id\": \"unique-policy-id-1-modifyConfig\",\n \"description\": \"Modify the packet generator\",\n \"operation\": {\n \"actor\": \"CDS\",\n \"operation\": \"modify-config\",\n \"target\": {\n \"targetType\": \"VNF\",\n \"entityIds\": {\n \"resourceID\": \"37b008b9-b367-4359-93fd-74d3ce0ee1a0\"\n }\n },\n \"payload\":{\n \"artifact_name\": \"vFW-CDS\",\n \"artifact_version\": \"1.0.0\",\n \"data\": \"{\\\"active-streams\\\": \\\"7\\\"}\"\n }\n },\n \"timeout\": 300,\n \"retries\": 0,\n \"success\": \"final_success\",\n \"failure\": \"final_failure\",\n \"failure_timeout\": \"final_failure_timeout\",\n \"failure_retries\": \"final_failure_retries\",\n \"failure_exception\": \"final_failure_exception\",\n \"failure_guard\": \"final_failure_guard\"\n }\n ],\n \"controllerName\": \"frankfurt\"\n }\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies" ] }, "description": "This is a specific API to create a policy referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to create policy for any policy type to be deployed in any supported PDP engine." }, "response": [] }, { "name": "Fetch Policy (Specific)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.modifyconfig/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies", "operational.modifyconfig", "versions", "1.0.0" ] }, "description": "This is a specific API to fetch a policy (example - operational.modifyconfig) referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to fetch a policy referring to any policy type currently available in Policy DB." }, "response": [] }, { "name": "Fetch Policy (Generic)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/operational.modifyconfig/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policies", "operational.modifyconfig", "versions", "1.0.0" ] }, "description": "This is a specific API to fetch a policy (example - operational.modifyconfig). The same API can be used to fetch a policy without referring to any policy type currently available in Policy DB." }, "response": [] }, { "name": "Fetch All Policies (Specific)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies" ] }, "description": "This is a specific API to fetch all policies referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to fetch policies for any policy type currently available in Policy DB." }, "response": [] }, { "name": "Fetch All Policies (Generic)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policies", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policies" ] }, "description": "This is a specific API to fetch all policies currently available in Policy DB." }, "response": [] }, { "name": "Fetch All Version of a Policy (Specific)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.modifyconfig", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies", "operational.modifyconfig" ] }, "description": "This is a specific API to fetch all versions of a policy (example - operational.modifyconfig) referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to fetch all versions of a policy referring to any policy type currently available in Policy DB." }, "response": [] }, { "name": "Fetch Latest Version of a Policy (Specific)", "request": { "method": "GET", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.modifyconfig/versions/latest", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies", "operational.modifyconfig", "versions", "latest" ] }, "description": "This is a specific API to fetch latest version of a policy (example - operational.modifyconfig) referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to fetch latest version of a policy referring to any policy type currently available in Policy DB." }, "response": [] }, { "name": "Delete Policy (Specific)", "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.modifyconfig/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policytypes", "onap.policies.controlloop.operational.common.Drools", "versions", "1.0.0", "policies", "operational.modifyconfig", "versions", "1.0.0" ] }, "description": "This is a specific API to delete a policy (example - operational.modifyconfig) referring to the given policy type (example - \"onap.policies.controlloop.operational.common.Drools\"). The same API can be used to delete a policy referring to any policy type currently available in Policy DB." }, "response": [] }, { "name": "Delete Policy (Generic)", "request": { "method": "DELETE", "header": [ { "key": "Accept", "type": "text", "value": "application/json" }, { "key": "Content-Type", "type": "text", "value": "application/json" } ], "url": { "raw": "{{POLICY-API-URL}}/policy/api/v1/policies/operational.modifyconfig/versions/1.0.0", "host": [ "{{POLICY-API-URL}}" ], "path": [ "policy", "api", "v1", "policies", "operational.modifyconfig", "versions", "1.0.0" ] }, "description": "This is a specific API to delete a policy (example - operational.modifyconfig). The same API can be used to delete a policy without referring to any policy type currently available in Policy DB." }, "response": [] } ], "auth": { "type": "basic", "basic": [ { "key": "password", "value": "{{PASSWORD}}", "type": "string" }, { "key": "username", "value": "{{USER}}", "type": "string" } ] }, "event": [ { "listen": "prerequest", "script": { "id": "f7e544f3-f8f3-471d-b9e0-950ecce8873e", "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "id": "b5181de0-cf95-44e9-a6f6-5a8deeba4587", "type": "text/javascript", "exec": [ "" ] } } ], "variable": [ { "id": "99d48afc-d62d-48be-9f89-d7db5acf48dd", "key": "USER", "value": "policyadmin", "type": "string" }, { "id": "a9c660a8-2bd1-4e87-aacd-aa6ff2104a60", "key": "PASSWORD", "value": "zb!XztG34", "type": "string" } ], "protocolProfileBehavior": {} }