2 * ============LICENSE_START=======================================================
3 * SOActorServiceProvider
4 * ================================================================================
5 * Copyright (C) 2017 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.actor.so;
23 import java.util.Collections;
24 import java.util.HashMap;
25 import java.util.List;
27 import java.util.UUID;
29 import org.drools.core.WorkingMemory;
30 import org.onap.policy.aai.AAIManager;
31 import org.onap.policy.aai.AAINQInstanceFilters;
32 import org.onap.policy.aai.AAINQInventoryResponseItem;
33 import org.onap.policy.aai.AAINQNamedQuery;
34 import org.onap.policy.aai.AAINQQueryParameters;
35 import org.onap.policy.aai.AAINQRequest;
36 import org.onap.policy.aai.AAINQResponse;
37 import org.onap.policy.aai.AAINQResponseWrapper;
38 import org.onap.policy.controlloop.ControlLoopNotificationType;
39 import org.onap.policy.controlloop.ControlLoopOperation;
40 import org.onap.policy.controlloop.VirtualControlLoopEvent;
41 import org.onap.policy.controlloop.VirtualControlLoopNotification;
42 import org.onap.policy.controlloop.actorServiceProvider.spi.Actor;
43 import org.onap.policy.controlloop.policy.Policy;
44 import org.onap.policy.drools.system.PolicyEngine;
45 import org.onap.policy.so.SOCloudConfiguration;
46 import org.onap.policy.so.SOManager;
47 import org.onap.policy.so.SOModelInfo;
48 import org.onap.policy.so.SORelatedInstance;
49 import org.onap.policy.so.SORelatedInstanceListElement;
50 import org.onap.policy.so.SORequest;
51 import org.onap.policy.so.SORequestDetails;
52 import org.onap.policy.so.SORequestInfo;
53 import org.onap.policy.so.SORequestParameters;
54 import org.onap.policy.so.util.Serialization;
55 import org.slf4j.Logger;
56 import org.slf4j.LoggerFactory;
58 import com.google.common.collect.ImmutableList;
59 import com.google.common.collect.ImmutableMap;
61 public class SOActorServiceProvider implements Actor {
63 private static final Logger logger = LoggerFactory.getLogger(SOActorServiceProvider.class);
65 private static String vnfItemVnfId;
67 private String vnfItemVnfType;
69 private String vnfItemModelInvariantId;
71 private String vnfItemModelVersionId;
73 private String vnfItemModelName;
75 private String vnfItemModelVersion;
77 private String vnfItemModelNameVersionId;
79 private static String serviceItemServiceInstanceId;
81 private String serviceItemModelInvariantId;
83 private String serviceItemModelName;
85 private String serviceItemModelType;
87 private String serviceItemModelVersion;
89 private String serviceItemModelNameVersionId;
91 private String vfModuleItemVfModuleName;
93 private String vfModuleItemModelInvariantId;
95 private String vfModuleItemModelVersionId;
97 private String vfModuleItemModelName;
99 private String vfModuleItemModelNameVersionId;
101 private String tenantItemTenantId;
103 private String cloudRegionItemCloudRegionId;
105 private static final ImmutableList<String> recipes = ImmutableList.of(
107 private static final ImmutableMap<String, List<String>> targets = new ImmutableMap.Builder<String, List<String>>()
108 .put("VF Module Create", ImmutableList.of("VFC"))
112 public String actor() {
117 public List<String> recipes() {
118 return ImmutableList.copyOf(recipes);
122 public List<String> recipeTargets(String recipe) {
123 return ImmutableList.copyOf(targets.getOrDefault(recipe, Collections.emptyList()));
127 public List<String> recipePayloads(String recipe) {
128 return Collections.emptyList();
132 * SOActorServiceProvider Constructor
135 public SOActorServiceProvider() {
140 * Constructs and sends an AAI vserver Named Query
143 * @returns the response to the AAI Named Query
145 private AAINQResponseWrapper AaiNamedQueryRequest(VirtualControlLoopEvent onset) {
147 // create AAI named-query request with UUID started with ""
148 AAINQRequest aainqrequest = new AAINQRequest();
149 AAINQQueryParameters aainqqueryparam = new AAINQQueryParameters();
150 AAINQNamedQuery aainqnamedquery = new AAINQNamedQuery();
151 AAINQInstanceFilters aainqinstancefilter = new AAINQInstanceFilters();
154 aainqnamedquery.namedQueryUUID = UUID.fromString("4ff56a54-9e3f-46b7-a337-07a1d3c6b469"); // UUID.fromString($params.getAaiNamedQueryUUID()) TO DO: AaiNamedQueryUUID
155 aainqqueryparam.namedQuery = aainqnamedquery;
156 aainqrequest.queryParameters = aainqqueryparam;
160 Map<String, Map<String, String>> aainqinstancefiltermap = new HashMap<>();
161 Map<String, String> aainqinstancefiltermapitem = new HashMap<>();
162 aainqinstancefiltermapitem.put("vserver-name", onset.AAI.get("vserver.vserver-name")); // TO DO: get vserver.vname from dcae onset.AAI.get("vserver.vserver-name")
163 aainqinstancefiltermap.put("vserver", aainqinstancefiltermapitem);
164 aainqinstancefilter.instanceFilter.add(aainqinstancefiltermap);
165 aainqrequest.instanceFilters = aainqinstancefilter;
167 // print aainqrequest for debug
169 logger.debug("AAI Request sent:");
170 logger.debug(Serialization.gsonPretty.toJson(aainqrequest));
172 // Create AAINQRequestWrapper
174 // AAINQRequestWrapper aainqRequestWrapper = new AAINQRequestWrapper(onset.requestID, aainqrequest);
176 // insert aainqrequest into memory
178 // insert(aainqRequestWrapper);
181 * Obtain A&AI credentials from properties.environment file
182 * TODO: What if these are null?
184 String aaiUrl = PolicyEngine.manager.getEnvironmentProperty("aai.url");
185 String aaiUsername = PolicyEngine.manager.getEnvironmentProperty("aai.username");
186 String aaiPassword = PolicyEngine.manager.getEnvironmentProperty("aai.password");
188 //***** send the request *****\\
189 AAINQResponse aainqresponse = AAIManager.postQuery(aaiUrl, aaiUsername, aaiPassword,
190 aainqrequest, onset.requestID);
192 // Check AAI response
193 if (aainqresponse == null) {
194 System.err.println("Failed to get AAI response");
196 // Fail and retract everything
199 // Create AAINQResponseWrapper
200 AAINQResponseWrapper aainqResponseWrapper = new AAINQResponseWrapper(onset.requestID, aainqresponse);
202 // insert aainqResponseWrapper to memory -- Is this needed?
203 // insert(aainqResponseWrapper);
205 if (logger.isDebugEnabled()) {
206 logger.debug("AAI Named Query Response: ");
207 logger.debug(Serialization.gsonPretty.toJson(aainqResponseWrapper.aainqresponse));
210 extractSOFieldsFromNamedQuery(aainqResponseWrapper, onset);
211 return aainqResponseWrapper;
217 * Extract the required fields from the named query response
218 * @param namedQueryResponseWrapper
221 private void extractSOFieldsFromNamedQuery(AAINQResponseWrapper namedQueryResponseWrapper, VirtualControlLoopEvent onset) {
225 setVnfItemVnfId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID);
226 setVnfItemVnfType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType);
227 setVnfItemVnfType(vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1));
228 setVnfItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelInvariantId);
229 setVnfItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelVersionId);
230 setVnfItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
231 setVnfItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(2).propertyValue);
232 setVnfItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
235 setServiceItemServiceInstanceId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID);
236 setServiceItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelInvariantId);
237 setServiceItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
238 setServiceItemModelType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(1).propertyValue);
239 setServiceItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelVersionId);
240 setServiceItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
242 // Find the index for base vf module and non-base vf module
244 List<AAINQInventoryResponseItem> inventoryItems = namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems;
245 for (AAINQInventoryResponseItem m : inventoryItems) {
246 if (m.vfModule != null && m.vfModule.isBaseVfModule) {
247 baseIndex = inventoryItems.indexOf(m);
250 if (baseIndex != -1) {
255 // Report the error if either base vf module or non-base vf module is not found
256 if (baseIndex == -1) {
257 logger.error("Either base or non-base vf module is not found from AAI response.");
261 // This comes from the base module
262 setVfModuleItemVfModuleName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.vfModuleName);
263 setVfModuleItemVfModuleName(vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"));
265 // vfModuleItem - NOT the base module
266 setVfModuleItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.modelInvariantId);
267 setVfModuleItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.modelVersionId);
268 setVfModuleItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).extraProperties.extraProperty.get(0).propertyValue);
269 setVfModuleItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).extraProperties.extraProperty.get(4).propertyValue);
272 setTenantItemTenantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).tenant.tenantId);
275 setCloudRegionItemCloudRegionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).items.inventoryResponseItems.get(0).cloudRegion.cloudRegionId);
277 } catch (Exception e) {
278 logger.warn("Problem extracting SO data from AAI query response because of {}", e.getMessage(), e);
284 * Checks whether extracted fields from AAI Named Query are null or not
285 * @return false if some extracted fields are missing, true otherwise
287 private boolean checkExtractedFields() {
289 if ((getVnfItemVnfId() == null) || (getVnfItemVnfType() == null) ||
290 (getVnfItemModelInvariantId() == null) || (getVnfItemModelName() == null) ||
291 (getVnfItemModelVersion() == null) || (getVnfItemModelNameVersionId() == null) ||
292 (getServiceItemServiceInstanceId() == null) || (getServiceItemModelName() == null) ||
293 (getServiceItemModelType() == null) || (getServiceItemModelVersion() == null) ||
294 (getServiceItemModelNameVersionId() == null) || (getVfModuleItemVfModuleName() == null) ||
295 (getVfModuleItemModelInvariantId() == null) || (getVfModuleItemModelVersionId() == null) ||
296 (getVfModuleItemModelName() == null) || (getVfModuleItemModelNameVersionId() == null) ||
297 (getTenantItemTenantId() == null) || (getCloudRegionItemCloudRegionId() == null)) {
304 * Construct SO Request
310 * @throws IllegalAccessException
312 public SORequest constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) {
314 if ("SO".equals(policy.getActor()) && "VF Module Create".equals(policy.getRecipe())) {
315 // perform named query request and handle response
316 AaiNamedQueryRequest(onset);
318 // for future extension
322 // check if the fields extracted from named query response are
323 // not null so we can proceed with SO request
324 if (!checkExtractedFields()) {
325 logger.warn("AAI response is missing some required fields. Cannot proceed with SO Request construction.");
330 // Construct SO Request
331 SORequest request = new SORequest();
332 request.requestId = onset.requestID;
333 request.requestDetails = new SORequestDetails();
334 request.requestDetails.modelInfo = new SOModelInfo();
335 request.requestDetails.cloudConfiguration = new SOCloudConfiguration();
336 request.requestDetails.requestInfo = new SORequestInfo();
337 request.requestDetails.requestParameters = new SORequestParameters();
338 request.requestDetails.requestParameters.userParams = null;
340 // cloudConfiguration
342 request.requestDetails.cloudConfiguration.lcpCloudRegionId = getCloudRegionItemCloudRegionId();
343 request.requestDetails.cloudConfiguration.tenantId = getTenantItemTenantId();
347 request.requestDetails.modelInfo.modelType = "vfModule";
348 request.requestDetails.modelInfo.modelInvariantId = getVfModuleItemModelInvariantId();
349 request.requestDetails.modelInfo.modelNameVersionId = getVfModuleItemModelNameVersionId();
350 request.requestDetails.modelInfo.modelName = getVfModuleItemModelName();
351 request.requestDetails.modelInfo.modelVersion = getVfModuleItemModelVersionId();
355 request.requestDetails.requestInfo.instanceName = getVfModuleItemVfModuleName();
356 request.requestDetails.requestInfo.source = "POLICY";
357 request.requestDetails.requestInfo.suppressRollback = false;
359 // relatedInstanceList
361 SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement();
362 SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement();
363 relatedInstanceListElement1.relatedInstance = new SORelatedInstance();
364 relatedInstanceListElement2.relatedInstance = new SORelatedInstance();
366 relatedInstanceListElement1.relatedInstance.instanceId = getServiceItemServiceInstanceId();
367 relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo();
368 relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service";
369 relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = getServiceItemModelInvariantId();
370 relatedInstanceListElement1.relatedInstance.modelInfo.modelNameVersionId = getServiceItemModelNameVersionId();
371 relatedInstanceListElement1.relatedInstance.modelInfo.modelName = getServiceItemModelName();
372 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = getServiceItemModelVersion();
374 relatedInstanceListElement2.relatedInstance.instanceId = getVnfItemVnfId();
375 relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo();
376 relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf";
377 relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = getVnfItemModelInvariantId();
378 relatedInstanceListElement2.relatedInstance.modelInfo.modelNameVersionId = getVnfItemModelNameVersionId();
379 relatedInstanceListElement2.relatedInstance.modelInfo.modelName = getVnfItemModelName();
380 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = getVnfItemModelVersion();
381 relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = getVnfItemVnfType();
383 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1);
384 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2);
386 // print SO request for debug
388 logger.debug("SO request sent:");
389 logger.debug(Serialization.gsonPretty.toJson(request));
396 * This method is needed to get the serviceInstanceId and vnfInstanceId which is used
397 * in the asyncSORestCall
402 public static void sendRequest(WorkingMemory wm, Object request) {
403 SOManager Mm = new SOManager();
404 Mm.asyncSORestCall(wm, getServiceItemServiceInstanceId(), getVnfItemVnfId(), (SORequest)request);
408 * @return the vnfItemVnfId
410 public static String getVnfItemVnfId() {
415 * @param vnfItemVnfId the vnfItemVnfId to set
417 private static void setVnfItemVnfId(String vnfItemVnfId) {
418 SOActorServiceProvider.vnfItemVnfId = vnfItemVnfId;
422 * @return the vnfItemVnfType
424 public String getVnfItemVnfType() {
425 return this.vnfItemVnfType;
429 * @param vnfItemVnfType the vnfItemVnfType to set
431 private void setVnfItemVnfType(String vnfItemVnfType) {
432 this.vnfItemVnfType = vnfItemVnfType;
436 * @return the vnfItemModelInvariantId
438 public String getVnfItemModelInvariantId() {
439 return this.vnfItemModelInvariantId;
443 * @param vnfItemModelInvariantId the vnfItemModelInvariantId to set
445 private void setVnfItemModelInvariantId(String vnfItemModelInvariantId) {
446 this.vnfItemModelInvariantId = vnfItemModelInvariantId;
450 * @return the vnfItemModelVersionId
452 public String getVnfItemModelVersionId() {
453 return this.vnfItemModelVersionId;
457 * @param vnfItemModelVersionId the vnfItemModelVersionId to set
459 private void setVnfItemModelVersionId(String vnfItemModelVersionId) {
460 this.vnfItemModelVersionId = vnfItemModelVersionId;
464 * @return the vnfItemModelName
466 public String getVnfItemModelName() {
467 return this.vnfItemModelName;
471 * @param vnfItemModelName the vnfItemModelName to set
473 private void setVnfItemModelName(String vnfItemModelName) {
474 this.vnfItemModelName = vnfItemModelName;
478 * @return the vnfItemModelVersion
480 public String getVnfItemModelVersion() {
481 return this.vnfItemModelVersion;
485 * @param vnfItemModelVersion the vnfItemModelVersion to set
487 private void setVnfItemModelVersion(String vnfItemModelVersion) {
488 this.vnfItemModelVersion = vnfItemModelVersion;
492 * @return the vnfItemModelNameVersionId
494 public String getVnfItemModelNameVersionId() {
495 return this.vnfItemModelNameVersionId;
499 * @param vnfItemModelNameVersionId the vnfItemModelNameVersionId to set
501 private void setVnfItemModelNameVersionId(String vnfItemModelNameVersionId) {
502 this.vnfItemModelNameVersionId = vnfItemModelNameVersionId;
506 * @return the serviceItemServiceInstanceId
508 public static String getServiceItemServiceInstanceId() {
509 return serviceItemServiceInstanceId;
513 * @param serviceItemServiceInstanceId the serviceItemServiceInstanceId to set
515 private static void setServiceItemServiceInstanceId(
516 String serviceItemServiceInstanceId) {
517 SOActorServiceProvider.serviceItemServiceInstanceId = serviceItemServiceInstanceId;
521 * @return the serviceItemModelInvariantId
523 public String getServiceItemModelInvariantId() {
524 return this.serviceItemModelInvariantId;
528 * @param serviceItemModelInvariantId the serviceItemModelInvariantId to set
530 private void setServiceItemModelInvariantId(String serviceItemModelInvariantId) {
531 this.serviceItemModelInvariantId = serviceItemModelInvariantId;
535 * @return the serviceItemModelName
537 public String getServiceItemModelName() {
538 return this.serviceItemModelName;
542 * @param serviceItemModelName the serviceItemModelName to set
544 private void setServiceItemModelName(String serviceItemModelName) {
545 this.serviceItemModelName = serviceItemModelName;
549 * @return the serviceItemModelType
551 public String getServiceItemModelType() {
552 return this.serviceItemModelType;
556 * @param serviceItemModelType the serviceItemModelType to set
558 private void setServiceItemModelType(String serviceItemModelType) {
559 this.serviceItemModelType = serviceItemModelType;
563 * @return the serviceItemModelVersion
565 public String getServiceItemModelVersion() {
566 return this.serviceItemModelVersion;
570 * @param serviceItemModelVersion the serviceItemModelVersion to set
572 private void setServiceItemModelVersion(String serviceItemModelVersion) {
573 this.serviceItemModelVersion = serviceItemModelVersion;
577 * @return the serviceItemModelNameVersionId
579 public String getServiceItemModelNameVersionId() {
580 return this.serviceItemModelNameVersionId;
584 * @param serviceItemModelNameVersionId the serviceItemModelNameVersionId to set
586 private void setServiceItemModelNameVersionId(
587 String serviceItemModelNameVersionId) {
588 this.serviceItemModelNameVersionId = serviceItemModelNameVersionId;
592 * @return the vfModuleItemVfModuleName
594 public String getVfModuleItemVfModuleName() {
595 return this.vfModuleItemVfModuleName;
599 * @param vfModuleItemVfModuleName the vfModuleItemVfModuleName to set
601 private void setVfModuleItemVfModuleName(String vfModuleItemVfModuleName) {
602 this.vfModuleItemVfModuleName = vfModuleItemVfModuleName;
606 * @return the vfModuleItemModelInvariantId
608 public String getVfModuleItemModelInvariantId() {
609 return this.vfModuleItemModelInvariantId;
613 * @param vfModuleItemModelInvariantId the vfModuleItemModelInvariantId to set
615 private void setVfModuleItemModelInvariantId(String vfModuleItemModelInvariantId) {
616 this.vfModuleItemModelInvariantId = vfModuleItemModelInvariantId;
620 * @return the vfModuleItemModelVersionId
622 public String getVfModuleItemModelVersionId() {
623 return this.vfModuleItemModelVersionId;
627 * @param vfModuleItemModelVersionId the vfModuleItemModelVersionId to set
629 private void setVfModuleItemModelVersionId(
630 String vfModuleItemModelVersionId) {
631 this.vfModuleItemModelVersionId = vfModuleItemModelVersionId;
635 * @return the vfModuleItemModelName
637 public String getVfModuleItemModelName() {
638 return this.vfModuleItemModelName;
642 * @param vfModuleItemModelName the vfModuleItemModelName to set
644 private void setVfModuleItemModelName(String vfModuleItemModelName) {
645 this.vfModuleItemModelName = vfModuleItemModelName;
649 * @return the vfModuleItemModelNameVersionId
651 public String getVfModuleItemModelNameVersionId() {
652 return this.vfModuleItemModelNameVersionId;
656 * @param vfModuleItemModelNameVersionId the vfModuleItemModelNameVersionId to set
658 private void setVfModuleItemModelNameVersionId(
659 String vfModuleItemModelNameVersionId) {
660 this.vfModuleItemModelNameVersionId = vfModuleItemModelNameVersionId;
664 * @return the tenantItemTenantId
666 public String getTenantItemTenantId() {
667 return this.tenantItemTenantId;
671 * @param tenantItemTenantId the tenantItemTenantId to set
673 private void setTenantItemTenantId(String tenantItemTenantId) {
674 this.tenantItemTenantId = tenantItemTenantId;
678 * @return the cloudRegionItemCloudRegionId
680 public String getCloudRegionItemCloudRegionId() {
681 return this.cloudRegionItemCloudRegionId;
685 * @param cloudRegionItemCloudRegionId the cloudRegionItemCloudRegionId to set
687 private void setCloudRegionItemCloudRegionId(
688 String cloudRegionItemCloudRegionId) {
689 this.cloudRegionItemCloudRegionId = cloudRegionItemCloudRegionId;