2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2020-2021 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.policy.controlloop.actorserviceprovider;
23 import lombok.AccessLevel;
24 import lombok.NoArgsConstructor;
27 * Names of properties needed by the Actors defined within this repo. Note: this is not
28 * exhaustive, as additional property names may be returned by company-defined Actors.
30 * Note: any time a property is added, applications using the actors must be updated to
31 * provide the property's value when requested.
33 @NoArgsConstructor(access = AccessLevel.PRIVATE)
34 public final class OperationProperties {
37 * A&AI Default Cloud Region. Obtained as follows:
39 * <li>invoke the custom query getDefaultCloudRegion() method</li>
42 public static final String AAI_DEFAULT_CLOUD_REGION = "AAI/defaultCloudRegion";
45 * A&AI Default Tenant. Obtained as follows:
47 * <li>invoke the custom query getDefaultTenant() method</li>
50 public static final String AAI_DEFAULT_TENANT = "AAI/defaultTenant";
53 * A&AI PNF. Obtained as follows:
55 * <li>using the target entity, invoke AaiGetPnfOperation</li>
58 public static final String AAI_PNF = "AAI/pnf";
61 * A&AI [Generic] VNF for the target resource ID. Obtained as follows:
63 * <li>using the target resource ID, invoke the custom query
64 * getGenericVnfByModelInvariantId() method to get the generic VNF</li>
67 public static final String AAI_RESOURCE_VNF = "AAI/resourceId/vnf";
70 * A&AI Service instance. Obtained as follows:
72 * <li>invoke the custom query getServiceInstance() method</li>
75 public static final String AAI_SERVICE = "AAI/service";
78 * A&AI Service model. Obtained as follows:
80 * <li>invoke the custom query getServiceInstance() method</li>
81 * <li>using the service instance, invoke the getModelVersionId() method</li>
84 public static final String AAI_SERVICE_MODEL = "AAI/service/model";
87 * A&AI Target Entity. This is a String that can typically be found in the enrichment
88 * data, depending on the Target type. Sometimes, however, it must be retrieved via an
91 public static final String AAI_TARGET_ENTITY = "AAI/targetEntity";
94 * A&AI VNF. Obtained as follows:
96 * <li>using the target model invariant ID, invoke the custom query
97 * getGenericVnfByModelInvariantId() method to get the VNF</li>
98 * <li>using the VNF item, invoke the getModelVersionId() method to get the
102 public static final String AAI_VNF = "AAI/vnf";
105 * A&AI VNF Model. Obtained as follows:
107 * <li>using the target model invariant ID, invoke the custom query
108 * getGenericVnfByModelInvariantId() method to get the VNF</li>
109 * <li>using the VNF item, invoke the getModelVersionId() method to get the
111 * <li>using the version, invoke the custom query getModelVerByVersionId() method</li>
114 public static final String AAI_VNF_MODEL = "AAI/vnf/model";
117 * A&AI link to the vserver. Obtained as follows:
119 * <li>using the vserver name from the enrichment data, perform an A&AI tenant
121 * <li>get the "result-data" field from the tenant output</li>
122 * <li>get the "resource-link" field from that</li>
123 * <li>strip off the "/aai/v16" prefix</li>
126 public static final String AAI_VSERVER_LINK = "AAI/vserver/link";
129 * Optional A&AI properties (Map-String-String) for CDS GRPC. If an application
130 * provides this, it will be used instead of constructing the map from the other
133 public static final String OPT_CDS_GRPC_AAI_PROPERTIES = "cds/grpc/aai/properties";
136 * These are typically extracted from the event or from the event's enrichment data.
138 * NOTE: all of the values must be of the form "enrichment/{enrichment-field-name}".
140 public static final String ENRICHMENT_BANDWIDTH = "enrichment/bandwidth";
141 public static final String ENRICHMENT_BANDWIDTH_CHANGE_TIME = "enrichment/bandwidth-change-time";
142 public static final String ENRICHMENT_GENERIC_VNF_ID = "enrichment/generic-vnf.vnf-id";
143 public static final String ENRICHMENT_NETWORK_ID = "enrichment/network-information.network-id";
144 public static final String ENRICHMENT_SERVICE_ID = "enrichment/service-instance.service-instance-id";
145 public static final String ENRICHMENT_VNF_ID = "enrichment/vnfId";
146 public static final String ENRICHMENT_VSERVER_ID = "enrichment/vserver.vserver-id";
147 public static final String ENRICHMENT_VSERVER_NAME = "enrichment/vserver.vserver-name";
149 public static final String EVENT_ADDITIONAL_PARAMS = "event/additionalParams";
150 public static final String EVENT_PAYLOAD = "event/payload";
153 * These are data computed and/or tracked by the invoker.
157 * An Integer containing the count.
159 public static final String DATA_VF_COUNT = "data/vfCount";