Adding optimization application finish guard
[policy/xacml-pdp.git] / applications / common / src / main / java / org / onap / policy / pdp / xacml / application / common / ToscaDictionary.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * SPDX-License-Identifier: Apache-2.0
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.policy.pdp.xacml.application.common;
24
25 import com.att.research.xacml.api.Identifier;
26 import com.att.research.xacml.api.XACML3;
27 import com.att.research.xacml.std.IdentifierImpl;
28
29 public final class ToscaDictionary {
30
31     /*
32      * These are the ID's for various TOSCA Policy Types we are supporting in the Applications.
33      */
34     public static final Identifier URN_ONAP =
35             new IdentifierImpl("urn:org:onap");
36
37     public static final Identifier ID_RESOURCE_POLICY_ID =
38             XACML3.ID_RESOURCE_RESOURCE_ID;
39
40     public static final Identifier ID_RESOURCE_POLICY_TYPE =
41             new IdentifierImpl(URN_ONAP, "policy-type");
42
43     public static final Identifier ID_RESOURCE_POLICY_TYPE_VERSION =
44             new IdentifierImpl(URN_ONAP, "policy-type-version");
45
46     /*
47      * These ID's are for identifying Subjects
48      */
49
50     public static final Identifier ID_SUBJECT_ONAP_NAME =
51             XACML3.ID_SUBJECT_SUBJECT_ID;
52
53     public static final Identifier ID_SUBJECT_ONAP_COMPONENT =
54             new IdentifierImpl(URN_ONAP, "onap-component");
55
56     public static final Identifier ID_SUBJECT_ONAP_INSTANCE =
57             new IdentifierImpl(URN_ONAP, "onap-instance");
58
59     /*
60      * These 2 ID's are for Optimization policies
61      */
62
63     public static final Identifier ID_RESOURCE_POLICY_SCOPE_PROPERTY =
64             new IdentifierImpl(URN_ONAP, "policy-scope-property");
65
66     public static final Identifier ID_RESOURCE_POLICY_TYPE_PROPERTY =
67             new IdentifierImpl(URN_ONAP, "policy-type-property");
68
69     /*
70      * These ID's are for Legacy Guard Policies
71      */
72     public static final Identifier ID_RESOURCE_GUARD_ACTOR =
73             new IdentifierImpl(URN_ONAP, "guard:actor:actor-id");
74     public static final Identifier ID_RESOURCE_GUARD_RECIPE =
75             new IdentifierImpl(URN_ONAP, "guard:operation:operation-id");
76     public static final Identifier ID_RESOURCE_GUARD_CLNAME =
77             new IdentifierImpl(URN_ONAP, "guard:clname:clname-id");
78     public static final Identifier ID_RESOURCE_GUARD_TARGETID =
79             new IdentifierImpl(URN_ONAP, "guard:target:target-id");
80     public static final Identifier ID_SUBJECT_GUARD_REQUESTID =
81             new IdentifierImpl(URN_ONAP, "guard:request:request-id");
82     public static final Identifier ID_RESOURCE_GUARD_VFCOUNT =
83             new IdentifierImpl(URN_ONAP, "guard:target:vf-count");
84     public static final Identifier ID_RESOURCE_GUARD_MIN =
85             new IdentifierImpl(URN_ONAP, "guard:target:min");
86     public static final Identifier ID_RESOURCE_GUARD_MAX =
87             new IdentifierImpl(URN_ONAP, "guard:target:max");
88
89     /*
90      * This id specifically for guard is provided by the
91      * operational history database PIP.
92      */
93     public static final Identifier ID_RESOURCE_GUARD_OPERATIONCOUNT =
94             new IdentifierImpl(URN_ONAP, "guard:operation:operation-count");
95
96     /*
97      * This id is specifically for advice returned from guard
98      */
99     public static final Identifier ID_ADVICE_GUARD =
100             new IdentifierImpl(URN_ONAP, "guard:advice");
101     public static final Identifier ID_ADVICE_GUARD_REQUESTID =
102             new IdentifierImpl(URN_ONAP, "guard:advice:request-id");
103
104     /*
105      * Obligation specific ID's
106      */
107
108     public static final Identifier ID_OBLIGATION_REST_BODY =
109             new IdentifierImpl(URN_ONAP, "rest:body");
110
111     public static final Identifier ID_OBLIGATION_POLICY_MONITORING =
112             new IdentifierImpl(URN_ONAP, ":obligation:monitoring");
113
114     public static final Identifier ID_OBLIGATION_POLICY_MONITORING_CONTENTS =
115             new IdentifierImpl(URN_ONAP, ":obligation:monitoring:contents");
116
117     public static final Identifier ID_OBLIGATION_POLICY_MONITORING_CATEGORY =
118             XACML3.ID_ATTRIBUTE_CATEGORY_RESOURCE;
119
120     public static final Identifier ID_OBLIGATION_POLICY_MONITORING_DATATYPE =
121             XACML3.ID_DATATYPE_STRING;
122
123     public static final Identifier ID_OBLIGATION_MONITORING_ISSUER =
124             new IdentifierImpl(URN_ONAP, "issuer:monitoring");
125
126
127
128     private ToscaDictionary() {
129         super();
130     }
131
132 }