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.ControlLoopOperation;
39 import org.onap.policy.controlloop.VirtualControlLoopEvent;
40 import org.onap.policy.controlloop.actorServiceProvider.spi.Actor;
41 import org.onap.policy.controlloop.policy.Policy;
42 import org.onap.policy.drools.system.PolicyEngine;
43 import org.onap.policy.so.SOCloudConfiguration;
44 import org.onap.policy.so.SOManager;
45 import org.onap.policy.so.SOModelInfo;
46 import org.onap.policy.so.SORelatedInstance;
47 import org.onap.policy.so.SORelatedInstanceListElement;
48 import org.onap.policy.so.SORequest;
49 import org.onap.policy.so.SORequestDetails;
50 import org.onap.policy.so.SORequestInfo;
51 import org.onap.policy.so.SORequestParameters;
52 import org.onap.policy.so.util.Serialization;
53 import org.slf4j.Logger;
54 import org.slf4j.LoggerFactory;
56 import com.google.common.collect.ImmutableList;
57 import com.google.common.collect.ImmutableMap;
59 public class SOActorServiceProvider implements Actor {
61 private static final Logger logger = LoggerFactory.getLogger(SOActorServiceProvider.class);
63 private static String vnfItemVnfId;
65 private String vnfItemVnfType;
67 private String vnfItemModelInvariantId;
69 private String vnfItemModelVersionId;
71 private String vnfItemModelName;
73 private String vnfItemModelVersion;
75 private String vnfItemModelNameVersionId;
77 private static String serviceItemServiceInstanceId;
79 private String serviceItemModelInvariantId;
81 private String serviceItemModelName;
83 private String serviceItemModelType;
85 private String serviceItemModelVersion;
87 private String serviceItemModelNameVersionId;
89 private String vfModuleItemVfModuleName;
91 private String vfModuleItemModelInvariantId;
93 private String vfModuleItemModelVersionId;
95 private String vfModuleItemModelName;
97 private String vfModuleItemModelNameVersionId;
99 private String tenantItemTenantId;
101 private String cloudRegionItemCloudRegionId;
103 private static final ImmutableList<String> recipes = ImmutableList.of(
105 private static final ImmutableMap<String, List<String>> targets = new ImmutableMap.Builder<String, List<String>>()
106 .put("VF Module Create", ImmutableList.of("VFC"))
110 public String actor() {
115 public List<String> recipes() {
116 return ImmutableList.copyOf(recipes);
120 public List<String> recipeTargets(String recipe) {
121 return ImmutableList.copyOf(targets.getOrDefault(recipe, Collections.emptyList()));
125 public List<String> recipePayloads(String recipe) {
126 return Collections.emptyList();
130 * SOActorServiceProvider Constructor
133 public SOActorServiceProvider() {
138 * Constructs and sends an AAI vserver Named Query
141 * @returns the response to the AAI Named Query
143 private AAINQResponseWrapper AaiNamedQueryRequest(VirtualControlLoopEvent onset) {
145 // create AAI named-query request with UUID started with ""
146 AAINQRequest aainqrequest = new AAINQRequest();
147 AAINQQueryParameters aainqqueryparam = new AAINQQueryParameters();
148 AAINQNamedQuery aainqnamedquery = new AAINQNamedQuery();
149 AAINQInstanceFilters aainqinstancefilter = new AAINQInstanceFilters();
152 aainqnamedquery.namedQueryUUID = UUID.fromString("4ff56a54-9e3f-46b7-a337-07a1d3c6b469"); // UUID.fromString($params.getAaiNamedQueryUUID()) TO DO: AaiNamedQueryUUID
153 aainqqueryparam.namedQuery = aainqnamedquery;
154 aainqrequest.queryParameters = aainqqueryparam;
158 Map<String, Map<String, String>> aainqinstancefiltermap = new HashMap<>();
159 Map<String, String> aainqinstancefiltermapitem = new HashMap<>();
160 aainqinstancefiltermapitem.put("vserver-name", onset.AAI.get("vserver.vserver-name")); // TO DO: get vserver.vname from dcae onset.AAI.get("vserver.vserver-name")
161 aainqinstancefiltermap.put("vserver", aainqinstancefiltermapitem);
162 aainqinstancefilter.instanceFilter.add(aainqinstancefiltermap);
163 aainqrequest.instanceFilters = aainqinstancefilter;
165 // print aainqrequest for debug
167 logger.debug("AAI Request sent:");
168 logger.debug(Serialization.gsonPretty.toJson(aainqrequest));
170 // Create AAINQRequestWrapper
172 // AAINQRequestWrapper aainqRequestWrapper = new AAINQRequestWrapper(onset.requestID, aainqrequest);
174 // insert aainqrequest into memory
176 // insert(aainqRequestWrapper);
179 * Obtain A&AI credentials from properties.environment file
180 * TODO: What if these are null?
182 String aaiUrl = PolicyEngine.manager.getEnvironmentProperty("aai.url");
183 String aaiUsername = PolicyEngine.manager.getEnvironmentProperty("aai.username");
184 String aaiPassword = PolicyEngine.manager.getEnvironmentProperty("aai.password");
186 //***** send the request *****\\
187 AAINQResponse aainqresponse = AAIManager.postQuery(aaiUrl, aaiUsername, aaiPassword,
188 aainqrequest, onset.requestID);
190 // Check AAI response
191 if (aainqresponse == null) {
192 System.err.println("Failed to get AAI response");
194 // Fail and retract everything
197 // Create AAINQResponseWrapper
198 AAINQResponseWrapper aainqResponseWrapper = new AAINQResponseWrapper(onset.requestID, aainqresponse);
200 // insert aainqResponseWrapper to memory -- Is this needed?
201 // insert(aainqResponseWrapper);
203 if (logger.isDebugEnabled()) {
204 logger.debug("AAI Named Query Response: ");
205 logger.debug(Serialization.gsonPretty.toJson(aainqResponseWrapper.aainqresponse));
208 extractSOFieldsFromNamedQuery(aainqResponseWrapper, onset);
209 return aainqResponseWrapper;
215 * Extract the required fields from the named query response
216 * @param namedQueryResponseWrapper
219 private void extractSOFieldsFromNamedQuery(AAINQResponseWrapper namedQueryResponseWrapper, VirtualControlLoopEvent onset) {
223 setVnfItemVnfId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID);
224 setVnfItemVnfType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType);
225 setVnfItemVnfType(vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1));
226 setVnfItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelInvariantId);
227 setVnfItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelVersionId);
228 setVnfItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
229 setVnfItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(2).propertyValue);
230 setVnfItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
233 setServiceItemServiceInstanceId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID);
234 setServiceItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelInvariantId);
235 setServiceItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
236 setServiceItemModelType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(1).propertyValue);
237 setServiceItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelVersionId);
238 setServiceItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
240 // Find the index for base vf module and non-base vf module
242 List<AAINQInventoryResponseItem> inventoryItems = namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems;
243 for (AAINQInventoryResponseItem m : inventoryItems) {
244 if (m.vfModule != null && m.vfModule.isBaseVfModule) {
245 baseIndex = inventoryItems.indexOf(m);
248 if (baseIndex != -1) {
253 // Report the error if either base vf module or non-base vf module is not found
254 if (baseIndex == -1) {
255 logger.error("Either base or non-base vf module is not found from AAI response.");
259 // This comes from the base module
260 setVfModuleItemVfModuleName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.vfModuleName);
261 setVfModuleItemVfModuleName(vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"));
263 // vfModuleItem - NOT the base module
264 setVfModuleItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.modelInvariantId);
265 setVfModuleItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.modelVersionId);
266 setVfModuleItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).extraProperties.extraProperty.get(0).propertyValue);
267 setVfModuleItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).extraProperties.extraProperty.get(4).propertyValue);
270 setTenantItemTenantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).tenant.tenantId);
273 setCloudRegionItemCloudRegionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).items.inventoryResponseItems.get(0).cloudRegion.cloudRegionId);
275 } catch (Exception e) {
276 logger.warn("Problem extracting SO data from AAI query response because of {}", e.getMessage(), e);
282 * Checks whether extracted fields from AAI Named Query are null or not
283 * @return false if some extracted fields are missing, true otherwise
285 private boolean checkExtractedFields() {
287 if ((getVnfItemVnfId() == null) || (getVnfItemVnfType() == null) ||
288 (getVnfItemModelInvariantId() == null) || (getVnfItemModelName() == null) ||
289 (getVnfItemModelVersion() == null) || (getVnfItemModelNameVersionId() == null) ||
290 (getServiceItemServiceInstanceId() == null) || (getServiceItemModelName() == null) ||
291 (getServiceItemModelType() == null) || (getServiceItemModelVersion() == null) ||
292 (getServiceItemModelNameVersionId() == null) || (getVfModuleItemVfModuleName() == null) ||
293 (getVfModuleItemModelInvariantId() == null) || (getVfModuleItemModelVersionId() == null) ||
294 (getVfModuleItemModelName() == null) || (getVfModuleItemModelNameVersionId() == null) ||
295 (getTenantItemTenantId() == null) || (getCloudRegionItemCloudRegionId() == null)) {
302 * Construct SO Request
308 * @throws IllegalAccessException
310 public SORequest constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) {
312 if ("SO".equals(policy.getActor()) && "VF Module Create".equals(policy.getRecipe())) {
313 // perform named query request and handle response
314 AaiNamedQueryRequest(onset);
316 // for future extension
320 // check if the fields extracted from named query response are
321 // not null so we can proceed with SO request
322 if (!checkExtractedFields()) {
323 logger.warn("AAI response is missing some required fields. Cannot proceed with SO Request construction.");
328 // Construct SO Request
329 SORequest request = new SORequest();
330 // request.requestId = onset.requestID;
331 request.requestDetails = new SORequestDetails();
332 request.requestDetails.modelInfo = new SOModelInfo();
333 request.requestDetails.cloudConfiguration = new SOCloudConfiguration();
334 request.requestDetails.requestInfo = new SORequestInfo();
335 request.requestDetails.requestParameters = new SORequestParameters();
336 request.requestDetails.requestParameters.userParams = null;
338 // cloudConfiguration
340 request.requestDetails.cloudConfiguration.lcpCloudRegionId = getCloudRegionItemCloudRegionId();
341 request.requestDetails.cloudConfiguration.tenantId = getTenantItemTenantId();
345 request.requestDetails.modelInfo.modelType = "vfModule";
346 request.requestDetails.modelInfo.modelInvariantId = getVfModuleItemModelInvariantId();
347 request.requestDetails.modelInfo.modelVersionId = getVfModuleItemModelNameVersionId();
348 request.requestDetails.modelInfo.modelName = getVfModuleItemModelName();
349 request.requestDetails.modelInfo.modelVersion = getVfModuleItemModelVersionId();
353 request.requestDetails.requestInfo.instanceName = getVfModuleItemVfModuleName();
354 request.requestDetails.requestInfo.source = "POLICY";
355 request.requestDetails.requestInfo.suppressRollback = false;
357 // relatedInstanceList
359 SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement();
360 SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement();
361 relatedInstanceListElement1.relatedInstance = new SORelatedInstance();
362 relatedInstanceListElement2.relatedInstance = new SORelatedInstance();
364 relatedInstanceListElement1.relatedInstance.instanceId = getServiceItemServiceInstanceId();
365 relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo();
366 relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service";
367 relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = getServiceItemModelInvariantId();
368 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersionId = getServiceItemModelNameVersionId();
369 relatedInstanceListElement1.relatedInstance.modelInfo.modelName = getServiceItemModelName();
370 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = getServiceItemModelVersion();
372 relatedInstanceListElement2.relatedInstance.instanceId = getVnfItemVnfId();
373 relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo();
374 relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf";
375 relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = getVnfItemModelInvariantId();
376 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersionId = getVnfItemModelNameVersionId();
377 relatedInstanceListElement2.relatedInstance.modelInfo.modelName = getVnfItemModelName();
378 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = getVnfItemModelVersion();
379 relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = getVnfItemVnfType();
381 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1);
382 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2);
384 // print SO request for debug
386 logger.debug("SO request sent:");
387 logger.debug(Serialization.gsonPretty.toJson(request));
394 * This method is needed to get the serviceInstanceId and vnfInstanceId which is used
395 * in the asyncSORestCall
400 public static void sendRequest(String requestID, WorkingMemory wm, Object request) {
401 SOManager Mm = new SOManager();
402 Mm.asyncSORestCall(requestID, wm, getServiceItemServiceInstanceId(), getVnfItemVnfId(), (SORequest)request);
406 * @return the vnfItemVnfId
408 public static String getVnfItemVnfId() {
413 * @param vnfItemVnfId the vnfItemVnfId to set
415 private static void setVnfItemVnfId(String vnfItemVnfId) {
416 SOActorServiceProvider.vnfItemVnfId = vnfItemVnfId;
420 * @return the vnfItemVnfType
422 public String getVnfItemVnfType() {
423 return this.vnfItemVnfType;
427 * @param vnfItemVnfType the vnfItemVnfType to set
429 private void setVnfItemVnfType(String vnfItemVnfType) {
430 this.vnfItemVnfType = vnfItemVnfType;
434 * @return the vnfItemModelInvariantId
436 public String getVnfItemModelInvariantId() {
437 return this.vnfItemModelInvariantId;
441 * @param vnfItemModelInvariantId the vnfItemModelInvariantId to set
443 private void setVnfItemModelInvariantId(String vnfItemModelInvariantId) {
444 this.vnfItemModelInvariantId = vnfItemModelInvariantId;
448 * @return the vnfItemModelVersionId
450 public String getVnfItemModelVersionId() {
451 return this.vnfItemModelVersionId;
455 * @param vnfItemModelVersionId the vnfItemModelVersionId to set
457 private void setVnfItemModelVersionId(String vnfItemModelVersionId) {
458 this.vnfItemModelVersionId = vnfItemModelVersionId;
462 * @return the vnfItemModelName
464 public String getVnfItemModelName() {
465 return this.vnfItemModelName;
469 * @param vnfItemModelName the vnfItemModelName to set
471 private void setVnfItemModelName(String vnfItemModelName) {
472 this.vnfItemModelName = vnfItemModelName;
476 * @return the vnfItemModelVersion
478 public String getVnfItemModelVersion() {
479 return this.vnfItemModelVersion;
483 * @param vnfItemModelVersion the vnfItemModelVersion to set
485 private void setVnfItemModelVersion(String vnfItemModelVersion) {
486 this.vnfItemModelVersion = vnfItemModelVersion;
490 * @return the vnfItemModelNameVersionId
492 public String getVnfItemModelNameVersionId() {
493 return this.vnfItemModelNameVersionId;
497 * @param vnfItemModelNameVersionId the vnfItemModelNameVersionId to set
499 private void setVnfItemModelNameVersionId(String vnfItemModelNameVersionId) {
500 this.vnfItemModelNameVersionId = vnfItemModelNameVersionId;
504 * @return the serviceItemServiceInstanceId
506 public static String getServiceItemServiceInstanceId() {
507 return serviceItemServiceInstanceId;
511 * @param serviceItemServiceInstanceId the serviceItemServiceInstanceId to set
513 private static void setServiceItemServiceInstanceId(
514 String serviceItemServiceInstanceId) {
515 SOActorServiceProvider.serviceItemServiceInstanceId = serviceItemServiceInstanceId;
519 * @return the serviceItemModelInvariantId
521 public String getServiceItemModelInvariantId() {
522 return this.serviceItemModelInvariantId;
526 * @param serviceItemModelInvariantId the serviceItemModelInvariantId to set
528 private void setServiceItemModelInvariantId(String serviceItemModelInvariantId) {
529 this.serviceItemModelInvariantId = serviceItemModelInvariantId;
533 * @return the serviceItemModelName
535 public String getServiceItemModelName() {
536 return this.serviceItemModelName;
540 * @param serviceItemModelName the serviceItemModelName to set
542 private void setServiceItemModelName(String serviceItemModelName) {
543 this.serviceItemModelName = serviceItemModelName;
547 * @return the serviceItemModelType
549 public String getServiceItemModelType() {
550 return this.serviceItemModelType;
554 * @param serviceItemModelType the serviceItemModelType to set
556 private void setServiceItemModelType(String serviceItemModelType) {
557 this.serviceItemModelType = serviceItemModelType;
561 * @return the serviceItemModelVersion
563 public String getServiceItemModelVersion() {
564 return this.serviceItemModelVersion;
568 * @param serviceItemModelVersion the serviceItemModelVersion to set
570 private void setServiceItemModelVersion(String serviceItemModelVersion) {
571 this.serviceItemModelVersion = serviceItemModelVersion;
575 * @return the serviceItemModelNameVersionId
577 public String getServiceItemModelNameVersionId() {
578 return this.serviceItemModelNameVersionId;
582 * @param serviceItemModelNameVersionId the serviceItemModelNameVersionId to set
584 private void setServiceItemModelNameVersionId(
585 String serviceItemModelNameVersionId) {
586 this.serviceItemModelNameVersionId = serviceItemModelNameVersionId;
590 * @return the vfModuleItemVfModuleName
592 public String getVfModuleItemVfModuleName() {
593 return this.vfModuleItemVfModuleName;
597 * @param vfModuleItemVfModuleName the vfModuleItemVfModuleName to set
599 private void setVfModuleItemVfModuleName(String vfModuleItemVfModuleName) {
600 this.vfModuleItemVfModuleName = vfModuleItemVfModuleName;
604 * @return the vfModuleItemModelInvariantId
606 public String getVfModuleItemModelInvariantId() {
607 return this.vfModuleItemModelInvariantId;
611 * @param vfModuleItemModelInvariantId the vfModuleItemModelInvariantId to set
613 private void setVfModuleItemModelInvariantId(String vfModuleItemModelInvariantId) {
614 this.vfModuleItemModelInvariantId = vfModuleItemModelInvariantId;
618 * @return the vfModuleItemModelVersionId
620 public String getVfModuleItemModelVersionId() {
621 return this.vfModuleItemModelVersionId;
625 * @param vfModuleItemModelVersionId the vfModuleItemModelVersionId to set
627 private void setVfModuleItemModelVersionId(
628 String vfModuleItemModelVersionId) {
629 this.vfModuleItemModelVersionId = vfModuleItemModelVersionId;
633 * @return the vfModuleItemModelName
635 public String getVfModuleItemModelName() {
636 return this.vfModuleItemModelName;
640 * @param vfModuleItemModelName the vfModuleItemModelName to set
642 private void setVfModuleItemModelName(String vfModuleItemModelName) {
643 this.vfModuleItemModelName = vfModuleItemModelName;
647 * @return the vfModuleItemModelNameVersionId
649 public String getVfModuleItemModelNameVersionId() {
650 return this.vfModuleItemModelNameVersionId;
654 * @param vfModuleItemModelNameVersionId the vfModuleItemModelNameVersionId to set
656 private void setVfModuleItemModelNameVersionId(
657 String vfModuleItemModelNameVersionId) {
658 this.vfModuleItemModelNameVersionId = vfModuleItemModelNameVersionId;
662 * @return the tenantItemTenantId
664 public String getTenantItemTenantId() {
665 return this.tenantItemTenantId;
669 * @param tenantItemTenantId the tenantItemTenantId to set
671 private void setTenantItemTenantId(String tenantItemTenantId) {
672 this.tenantItemTenantId = tenantItemTenantId;
676 * @return the cloudRegionItemCloudRegionId
678 public String getCloudRegionItemCloudRegionId() {
679 return this.cloudRegionItemCloudRegionId;
683 * @param cloudRegionItemCloudRegionId the cloudRegionItemCloudRegionId to set
685 private void setCloudRegionItemCloudRegionId(
686 String cloudRegionItemCloudRegionId) {
687 this.cloudRegionItemCloudRegionId = cloudRegionItemCloudRegionId;