diff options
author | 2025-01-20 12:24:34 +0000 | |
---|---|---|
committer | 2025-03-03 15:59:48 +0000 | |
commit | 1a93ad4c8fd793406c6d4828dee15ae3b49c0d8f (patch) | |
tree | e06f81c3a8460f9249a92e82a44da0766914482f /docs/offeredapis/swagger | |
parent | aaec2b107b6d72513969d8acf3868a5adb098c3f (diff) |
Fix OpenAPI definitions (v3) and examples
- Added /policies/{policyId}/status endpoint
- Creation of PolicyTypeObject, and used it instead of PolicyObject for /policy-types
Issue-ID: CCSDK-4076
Change-Id: Ie4311d64cdbaa0c34f9c2d2c9e1de7fbc2248311
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
(cherry picked from commit c816596509144b1c2b8775471bc82610c77895e4)
Diffstat (limited to 'docs/offeredapis/swagger')
-rw-r--r-- | docs/offeredapis/swagger/a1pms-api-v3.json | 331 | ||||
-rw-r--r-- | docs/offeredapis/swagger/pms-api-v3.json | 331 | ||||
-rw-r--r-- | docs/offeredapis/swagger/pms-api-v3.yaml | 169 |
3 files changed, 818 insertions, 13 deletions
diff --git a/docs/offeredapis/swagger/a1pms-api-v3.json b/docs/offeredapis/swagger/a1pms-api-v3.json index c844073a..d8d3041e 100644 --- a/docs/offeredapis/swagger/a1pms-api-v3.json +++ b/docs/offeredapis/swagger/a1pms-api-v3.json @@ -241,6 +241,11 @@ "200" : { "content" : { "application/json" : { + "examples" : { + "PolicyTypeInformation" : { + "$ref" : "#/components/examples/PolicyTypeInformation" + } + }, "schema" : { "items" : { "$ref" : "#/components/schemas/PolicyTypeInformation" @@ -375,12 +380,12 @@ "content" : { "application/json" : { "examples" : { - "policyObject" : { - "$ref" : "#/components/examples/PolicyObject" + "PolicyTypeObject" : { + "$ref" : "#/components/examples/PolicyTypeObject" } }, "schema" : { - "$ref" : "#/components/schemas/PolicyObject" + "$ref" : "#/components/schemas/PolicyTypeObject" } } }, @@ -507,7 +512,7 @@ } ], "responses" : { "204" : { - "description" : "The created A1 policy was deleted" + "description" : "The A1 policy was deleted" }, "400" : { "content" : { @@ -549,6 +554,26 @@ }, "description" : "Not Found" }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, "423" : { "content" : { "application/problem+json" : { @@ -919,6 +944,136 @@ "tags" : [ "A1 Policy Management" ] } }, + "/policies/{policyId}/status" : { + "get" : { + "description" : "Query a policy status", + "operationId" : "getPolicyStatus", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyStatusObject" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, "/policies" : { "get" : { "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", @@ -1158,6 +1313,16 @@ }, "description" : "Not Found" }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, "406" : { "content" : { "application/problem+json" : { @@ -1168,6 +1333,36 @@ }, "description" : "Not Acceptable" }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, "423" : { "content" : { "application/problem+json" : { @@ -1652,6 +1847,56 @@ "pdb" : 50 } } + }, + "PolicyTypeInformation" : { + "value" : [ { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_1" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_1" + } ] + }, + "PolicyTypeObject" : { + "value" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS2 policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + } + } } }, "responses" : { @@ -1814,6 +2059,10 @@ "schemas" : { "PolicyTypeInformation" : { "description" : "Available policy types and for each policy type identifier the Near-RT RIC identifiers of those Near-RT RICs that support the related A1 policy type", + "example" : { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, "properties" : { "policyTypeId" : { "description" : "Identity of the policy type", @@ -1888,6 +2137,80 @@ "description" : "Policy Object is a JSON representation of an A1 policy", "type" : "object" }, + "PolicyTypeObject" : { + "description" : "policy type object as defined in A1TD", + "example" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + }, + "statusSchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0.2.0", + "description" : "STD QOS policy type status", + "type" : "object", + "properties" : { + "enforceStatus" : { + "type" : "string" + }, + "enforceReason" : { + "type" : "string" + }, + "additionalProperties" : false, + "required" : [ "enforceStatus" ] + } + } + }, + "properties" : { + "policySchema" : { + "$ref" : "#/components/schemas/PolicySchema" + }, + "statusSchema" : { + "$ref" : "#/components/schemas/StatusSchema" + } + }, + "required" : [ "policySchema" ], + "type" : "object" + }, + "PolicySchema" : { + "description" : "The schemas are policy type specific", + "type" : "object" + }, + "StatusSchema" : { + "description" : "The optional schema for policy status", + "type" : "object" + }, + "PolicyStatusObject" : { + "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.", + "type" : "object" + }, "void" : { "description" : "Void/empty", "type" : "object" diff --git a/docs/offeredapis/swagger/pms-api-v3.json b/docs/offeredapis/swagger/pms-api-v3.json index c844073a..d8d3041e 100644 --- a/docs/offeredapis/swagger/pms-api-v3.json +++ b/docs/offeredapis/swagger/pms-api-v3.json @@ -241,6 +241,11 @@ "200" : { "content" : { "application/json" : { + "examples" : { + "PolicyTypeInformation" : { + "$ref" : "#/components/examples/PolicyTypeInformation" + } + }, "schema" : { "items" : { "$ref" : "#/components/schemas/PolicyTypeInformation" @@ -375,12 +380,12 @@ "content" : { "application/json" : { "examples" : { - "policyObject" : { - "$ref" : "#/components/examples/PolicyObject" + "PolicyTypeObject" : { + "$ref" : "#/components/examples/PolicyTypeObject" } }, "schema" : { - "$ref" : "#/components/schemas/PolicyObject" + "$ref" : "#/components/schemas/PolicyTypeObject" } } }, @@ -507,7 +512,7 @@ } ], "responses" : { "204" : { - "description" : "The created A1 policy was deleted" + "description" : "The A1 policy was deleted" }, "400" : { "content" : { @@ -549,6 +554,26 @@ }, "description" : "Not Found" }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, "423" : { "content" : { "application/problem+json" : { @@ -919,6 +944,136 @@ "tags" : [ "A1 Policy Management" ] } }, + "/policies/{policyId}/status" : { + "get" : { + "description" : "Query a policy status", + "operationId" : "getPolicyStatus", + "parameters" : [ { + "explode" : false, + "in" : "path", + "name" : "policyId", + "required" : true, + "schema" : { + "type" : "string" + }, + "style" : "simple" + }, { + "description" : "Specifies the content type that the client expects to receive in response to the request. Only application/json is allowed.", + "explode" : false, + "in" : "header", + "name" : "Accept", + "required" : false, + "schema" : { + "example" : "application/json", + "type" : "string" + }, + "style" : "simple" + } ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyStatusObject" + } + } + }, + "description" : "OK" + }, + "400" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Request" + }, + "401" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unauthorized" + }, + "403" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Forbidden" + }, + "404" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Found" + }, + "406" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Not Acceptable" + }, + "429" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Too Many Request" + }, + "500" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Internal Server Error" + }, + "502" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Bad Gateway" + }, + "503" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Service Unavailable" + } + }, + "tags" : [ "A1 Policy Management" ] + } + }, "/policies" : { "get" : { "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", @@ -1158,6 +1313,16 @@ }, "description" : "Not Found" }, + "405" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Method Not Allowed" + }, "406" : { "content" : { "application/problem+json" : { @@ -1168,6 +1333,36 @@ }, "description" : "Not Acceptable" }, + "409" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Conflict" + }, + "413" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Payload Too Large" + }, + "415" : { + "content" : { + "application/problem+json" : { + "schema" : { + "$ref" : "#/components/schemas/ProblemDetails" + } + } + }, + "description" : "Unsupported Media Type" + }, "423" : { "content" : { "application/problem+json" : { @@ -1652,6 +1847,56 @@ "pdb" : 50 } } + }, + "PolicyTypeInformation" : { + "value" : [ { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_2" + }, { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_1" + }, { + "policyTypeId" : "STD_QOS_0_2_0", + "nearRtRicId" : "ricsim_g3_1" + } ] + }, + "PolicyTypeObject" : { + "value" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS2 policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + } + } } }, "responses" : { @@ -1814,6 +2059,10 @@ "schemas" : { "PolicyTypeInformation" : { "description" : "Available policy types and for each policy type identifier the Near-RT RIC identifiers of those Near-RT RICs that support the related A1 policy type", + "example" : { + "policyTypeId" : "STD_QOS2_0.1.0", + "nearRtRicId" : "ricsim_g3_2" + }, "properties" : { "policyTypeId" : { "description" : "Identity of the policy type", @@ -1888,6 +2137,80 @@ "description" : "Policy Object is a JSON representation of an A1 policy", "type" : "object" }, + "PolicyTypeObject" : { + "description" : "policy type object as defined in A1TD", + "example" : { + "policySchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0_2_0", + "description" : "STD QOS policy type", + "type" : "object", + "properties" : { + "scope" : { + "type" : "object", + "properties" : { + "ueId" : { + "type" : "string" + }, + "qosId" : { + "type" : "string" + } + }, + "additionalProperties" : false, + "required" : [ "ueId", "qosId" ] + }, + "qosObjectives" : { + "type" : "object", + "properties" : { + "priorityLevel" : { + "type" : "number" + } + }, + "additionalProperties" : false, + "required" : [ "priorityLevel" ] + } + } + }, + "statusSchema" : { + "$schema" : "http://json-schema.org/draft-07/schema#", + "title" : "STD_QOS_0.2.0", + "description" : "STD QOS policy type status", + "type" : "object", + "properties" : { + "enforceStatus" : { + "type" : "string" + }, + "enforceReason" : { + "type" : "string" + }, + "additionalProperties" : false, + "required" : [ "enforceStatus" ] + } + } + }, + "properties" : { + "policySchema" : { + "$ref" : "#/components/schemas/PolicySchema" + }, + "statusSchema" : { + "$ref" : "#/components/schemas/StatusSchema" + } + }, + "required" : [ "policySchema" ], + "type" : "object" + }, + "PolicySchema" : { + "description" : "The schemas are policy type specific", + "type" : "object" + }, + "StatusSchema" : { + "description" : "The optional schema for policy status", + "type" : "object" + }, + "PolicyStatusObject" : { + "description" : "A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.", + "type" : "object" + }, "void" : { "description" : "Void/empty", "type" : "object" diff --git a/docs/offeredapis/swagger/pms-api-v3.yaml b/docs/offeredapis/swagger/pms-api-v3.yaml index 46f881e5..8bcfdf4b 100644 --- a/docs/offeredapis/swagger/pms-api-v3.yaml +++ b/docs/offeredapis/swagger/pms-api-v3.yaml @@ -215,7 +215,9 @@ paths: items: $ref: '#/components/schemas/PolicyTypeInformation' type: array - + examples: + PolicyTypeInformation: + $ref: '#/components/examples/PolicyTypeInformation' description: OK - Policy Type IDs found Ok '400': $ref: '#/components/responses/400' @@ -261,10 +263,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PolicyObject' + $ref: '#/components/schemas/PolicyTypeObject' examples: - policyObject: - $ref: '#/components/examples/PolicyObject' + PolicyTypeObject: + $ref: '#/components/examples/PolicyTypeObject' description: OK - schema of the given policy type '400': $ref: '#/components/responses/400' @@ -361,7 +363,7 @@ paths: example: application/json responses: '204': - description: 'The created A1 policy was deleted' + description: 'The A1 policy was deleted' '400': $ref: '#/components/responses/400' '401': @@ -370,6 +372,10 @@ paths: $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' + '405': + $ref: '#/components/responses/405' + '406': + $ref: '#/components/responses/406' '423': $ref: '#/components/responses/Locked' '429': @@ -431,6 +437,53 @@ paths: description: Returns a policy tags: - A1 Policy Management + /policies/{policyId}/status: + get: + operationId: getPolicyStatus + parameters: + - explode: false + in: path + name: policyId + required: true + schema: + type: string + style: simple + - description: Specifies the content type that the client expects to receive in response to the request. + Only application/json is allowed. + in: header + name: Accept + schema: + type: string + example: application/json + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyStatusObject' + description: OK + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '502': + $ref: '#/components/responses/502' + '503': + $ref: '#/components/responses/503' + description: 'Query a policy status' + tags: + - A1 Policy Management + /policies: get: description: "Returns a list of A1 policies matching given search criteria.\ @@ -537,8 +590,16 @@ paths: $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' + '405': + $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' + '409': + $ref: '#/components/responses/409' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' '423': $ref: '#/components/responses/Locked' '429': @@ -831,6 +892,43 @@ components: mfbr: 200 priorityLevel: 3 pdb: 50 + PolicyTypeInformation: + value: + - policyTypeId: STD_QOS2_0.1.0 + nearRtRicId: ricsim_g3_2 + - policyTypeId: STD_QOS_0_2_0 + nearRtRicId: ricsim_g3_2 + - policyTypeId: STD_QOS2_0.1.0 + nearRtRicId: ricsim_g3_1 + - policyTypeId: STD_QOS_0_2_0 + nearRtRicId: ricsim_g3_1 + PolicyTypeObject: + value: + policySchema: + "$schema": http://json-schema.org/draft-07/schema# + title: STD_QOS_0_2_0 + description: STD QOS2 policy type + type: object + properties: + scope: + type: object + properties: + ueId: + type: string + qosId: + type: string + additionalProperties: false + required: + - ueId + - qosId + qosObjectives: + type: object + properties: + priorityLevel: + type: number + additionalProperties: false + required: + - priorityLevel schemas: PolicyTypeInformation: description: >- @@ -847,6 +945,9 @@ components: required: - policyTypeId - nearRtRicId + example: + policyTypeId: STD_QOS2_0.1.0 + nearRtRicId: ricsim_g3_2 PolicyObjectInformation: description: Information related to the creation of the policy type: object @@ -907,6 +1008,64 @@ components: PolicyObject: description: 'Policy Object is a JSON representation of an A1 policy' type: object + PolicyTypeObject: + description: 'policy type object as defined in A1TD' + type: object + properties: + policySchema: + $ref: '#/components/schemas/PolicySchema' + statusSchema: + $ref: '#/components/schemas/StatusSchema' + required: + - "policySchema" + example: + policySchema: + "$schema": http://json-schema.org/draft-07/schema# + title: STD_QOS_0_2_0 + description: STD QOS policy type + type: object + properties: + scope: + type: object + properties: + ueId: + type: string + qosId: + type: string + additionalProperties: false + required: + - ueId + - qosId + qosObjectives: + type: object + properties: + priorityLevel: + type: number + additionalProperties: false + required: + - priorityLevel + statusSchema: + "$schema": http://json-schema.org/draft-07/schema# + title: STD_QOS_0.2.0 + description: STD QOS policy type status + type: object + properties: + enforceStatus: + type: string + enforceReason: + type: string + additionalProperties: false + required: + - enforceStatus + PolicySchema: + description: 'The schemas are policy type specific' + type: object + StatusSchema: + description: 'The optional schema for policy status' + type: object + PolicyStatusObject: + description: 'A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.' + type: object void: description: Void/empty type: object |