Modify Actors to use properties when provided
[policy/models.git] / models-interactions / model-actors / actorServiceProvider / src / main / java / org / onap / policy / controlloop / actorserviceprovider / OperationProperties.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020 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  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.controlloop.actorserviceprovider;
22
23 /**
24  * Names of properties needed by the Actors defined within this repo. Note: this is not
25  * exhaustive, as additional property names may be returned by company-defined Actors.
26  */
27 public class OperationProperties {
28
29     /**
30      * A&AI Default Cloud Region. Obtained as follows:
31      * <ol>
32      * <li>invoke the custom query getDefaultCloudRegion() method</li>
33      * </ol>
34      */
35     public static final String AAI_DEFAULT_CLOUD_REGION = "AAI/defaultCloudRegion";
36
37     /**
38      * A&AI Default Tenant. Obtained as follows:
39      * <ol>
40      * <li>invoke the custom query getDefaultTenant() method</li>
41      * </ol>
42      */
43     public static final String AAI_DEFAULT_TENANT = "AAI/defaultTenant";
44
45     /**
46      * A&AI Service instance. Obtained as follows:
47      * <ol>
48      * <li>invoke the custom query getServiceInstance() method</li>
49      * </ol>
50      */
51     public static final String AAI_SERVICE = "AAI/service";
52
53     /**
54      * A&AI Service model. Obtained as follows:
55      * <ol>
56      * <li>invoke the custom query getServiceInstance() method</li>
57      * <li>using the service instance, invoke the getModelVersionId() method</li>
58      * </ol>
59      */
60     public static final String AAI_SERVICE_MODEL = "AAI/service/model";
61
62     /**
63      * A&AI VNF. Obtained as follows:
64      * <ol>
65      * <li>using the target model invariant ID, invoke the custom query
66      * getGenericVnfByModelInvariantId() method to get the VNF</li>
67      * <li>using the VNF item, invoke the getModelVersionId() method to get the
68      * version</li>
69      * </ol>
70      */
71     public static final String AAI_VNF = "AAI/vnf";
72
73     /**
74      * A&AI VNF Model. Obtained as follows:
75      * <ol>
76      * <li>using the target model invariant ID, invoke the custom query
77      * getGenericVnfByModelInvariantId() method to get the VNF</li>
78      * <li>using the VNF item, invoke the getModelVersionId() method to get the
79      * version</li>
80      * <li>using the version, invoke the custom query getModelVerByVersionId() method</li>
81      * </ol>
82      */
83     public static final String AAI_VNF_MODEL = "AAI/vnf/model";
84
85     /**
86      * A&AI VNF id for the target resource ID. Obtained as follows:
87      * <ol>
88      * <li>using the target resource ID, invoke the custom query
89      * getGenericVnfByModelInvariantId() method to get the generic VNF</li>
90      * </ol>
91      */
92     public static final String AAI_RESOURCE_VNF = "AAI/resourceId/vnf";
93
94     /**
95      * A&AI PNF. Obtained as follows:
96      * <ol>
97      * <li>using the target entity, invoke AaiGetPnfOperation</li>
98      * </ol>
99      */
100     public static final String AAI_PNF = "AAI/pnf";
101
102     /**
103      * A&AI link to the vserver. Obtained as follows:
104      * <ol>
105      * <li>using the vserver name from the enrichment data, perform an A&AI tenant
106      * query</li>
107      * <li>get the "result-data" field from the tenant output</li>
108      * <li>get the "resource-link" field from that</li>
109      * <li>strip off the "/aai/v16" prefix</li>
110      * </ol>
111      */
112     public static final String AAI_VSERVER_LINK = "AAI/vserver/link";
113
114     /**
115      * Optional A&AI properties (Map-String-String) for CDS GRPC. If an application
116      * provides this, it will be used instead of constructing the map from the other
117      * properties.
118      */
119     public static final String OPT_CDS_GRPC_AAI_PROPERTIES = "cds/grpc/aai/properties";
120
121     /*
122      * These are typically extracted from the event or from the event's enrichment data.
123      *
124      * NOTE: all of the values must be of the form "enrichment/{enrichment-field-name}".
125      */
126     public static final String ENRICHMENT_BANDWIDTH = "enrichment/bandwidth";
127     public static final String ENRICHMENT_BANDWIDTH_CHANGE_TIME = "enrichment/bandwidth-change-time";
128     public static final String ENRICHMENT_GENERIC_VNF_ID = "enrichment/generic-vnf.vnf-id";
129     public static final String ENRICHMENT_NETWORK_ID = "enrichment/network-information.network-id";
130     public static final String ENRICHMENT_SERVICE_ID = "enrichment/service-instance.service-instance-id";
131     public static final String ENRICHMENT_VNF_ID = "enrichment/vnfId";
132     public static final String ENRICHMENT_VSERVER_ID = "enrichment/vserver.vserver-id";
133     public static final String ENRICHMENT_VSERVER_NAME = "enrichment/vserver.vserver-name";
134
135     public static final String EVENT_ADDITIONAL_PARAMS = "event/additionalParams";
136     public static final String EVENT_PAYLOAD = "event/payload";
137
138     /*
139      * These are data computed and/or tracked by the invoker.
140      */
141
142     /**
143      * An Integer containing the count.
144      */
145     public static final String DATA_VF_COUNT = "data/vfCount";
146
147
148     private OperationProperties() {
149         super();
150     }
151 }