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.getInstanceFilter().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.getAainqresponse()));
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.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).genericVNF.vnfID);
224 setVnfItemVnfType(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).genericVNF.vnfType);
225 setVnfItemVnfType(vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1));
226 setVnfItemModelInvariantId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).genericVNF.modelInvariantId);
227 setVnfItemModelVersionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).genericVNF.modelVersionId);
228 setVnfItemModelName(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(1).propertyValue);
229 setVnfItemModelNameVersionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(0).propertyValue);
230 setVnfItemModelVersion(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(4).propertyValue);
233 setServiceItemServiceInstanceId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).serviceInstance.serviceInstanceID);
234 setServiceItemModelInvariantId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).serviceInstance.modelInvariantId);
235 setServiceItemModelName(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(1).propertyValue);
236 setServiceItemModelType(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(1).propertyValue);
237 setServiceItemModelNameVersionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).serviceInstance.modelVersionId);
238 setServiceItemModelVersion(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).extraProperties.getExtraProperty().get(4).propertyValue);
240 // Find the index for base vf module and non-base vf module
242 int nonBaseIndex = -1;
243 List<AAINQInventoryResponseItem> inventoryItems = namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems();
244 for (AAINQInventoryResponseItem m : inventoryItems) {
245 if (m.vfModule != null) {
246 if (m.vfModule.isBaseVfModule) {
247 baseIndex = inventoryItems.indexOf(m);
248 } else if (m.vfModule.isBaseVfModule == false) {
249 nonBaseIndex = inventoryItems.indexOf(m);
253 if (baseIndex != -1 && nonBaseIndex != -1) {
258 // Report the error if either base vf module or non-base vf module is not found
259 if (baseIndex == -1 || nonBaseIndex == -1) {
260 logger.error("Either base or non-base vf module is not found from AAI response.");
264 // This comes from the base module
265 setVfModuleItemVfModuleName(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(baseIndex).vfModule.vfModuleName);
266 setVfModuleItemVfModuleName(vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"));
268 // vfModuleItem - NOT the base module
269 setVfModuleItemModelInvariantId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(nonBaseIndex).vfModule.modelInvariantId);
270 setVfModuleItemModelNameVersionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(nonBaseIndex).vfModule.modelVersionId);
271 setVfModuleItemModelName(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(nonBaseIndex).extraProperties.getExtraProperty().get(1).propertyValue);
272 setVfModuleItemModelVersionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(nonBaseIndex).extraProperties.getExtraProperty().get(4).propertyValue);
275 setTenantItemTenantId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(1).tenant.tenantId);
278 setCloudRegionItemCloudRegionId(namedQueryResponseWrapper.getAainqresponse().getInventoryResponseItems().get(0).items.getInventoryResponseItems().get(1).items.getInventoryResponseItems().get(0).cloudRegion.cloudRegionId);
280 } catch (Exception e) {
281 logger.warn("Problem extracting SO data from AAI query response because of {}", e.getMessage(), e);
287 * Checks whether extracted fields from AAI Named Query are null or not
288 * @return false if some extracted fields are missing, true otherwise
290 private boolean checkExtractedFields() {
292 if ((getVnfItemVnfId() == null) || (getVnfItemVnfType() == null) ||
293 (getVnfItemModelInvariantId() == null) || (getVnfItemModelName() == null) ||
294 (getVnfItemModelVersion() == null) || (getVnfItemModelNameVersionId() == null) ||
295 (getServiceItemServiceInstanceId() == null) || (getServiceItemModelName() == null) ||
296 (getServiceItemModelType() == null) || (getServiceItemModelVersion() == null) ||
297 (getServiceItemModelNameVersionId() == null) || (getVfModuleItemVfModuleName() == null) ||
298 (getVfModuleItemModelInvariantId() == null) || (getVfModuleItemModelVersionId() == null) ||
299 (getVfModuleItemModelName() == null) || (getVfModuleItemModelNameVersionId() == null) ||
300 (getTenantItemTenantId() == null) || (getCloudRegionItemCloudRegionId() == null)) {
307 * Construct SO Request
313 * @throws IllegalAccessException
315 public SORequest constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) {
317 if ("SO".equals(policy.getActor()) && "VF Module Create".equals(policy.getRecipe())) {
318 // perform named query request and handle response
319 AaiNamedQueryRequest(onset);
321 // for future extension
325 // check if the fields extracted from named query response are
326 // not null so we can proceed with SO request
327 if (!checkExtractedFields()) {
328 logger.warn("AAI response is missing some required fields. Cannot proceed with SO Request construction.");
333 // Construct SO Request
334 SORequest request = new SORequest();
335 // request.requestId = onset.requestID;
336 request.requestDetails = new SORequestDetails();
337 request.requestDetails.modelInfo = new SOModelInfo();
338 request.requestDetails.cloudConfiguration = new SOCloudConfiguration();
339 request.requestDetails.requestInfo = new SORequestInfo();
340 request.requestDetails.requestParameters = new SORequestParameters();
341 request.requestDetails.requestParameters.userParams = null;
343 // cloudConfiguration
345 request.requestDetails.cloudConfiguration.lcpCloudRegionId = getCloudRegionItemCloudRegionId();
346 request.requestDetails.cloudConfiguration.tenantId = getTenantItemTenantId();
350 request.requestDetails.modelInfo.modelType = "vfModule";
351 request.requestDetails.modelInfo.modelInvariantId = getVfModuleItemModelInvariantId();
352 request.requestDetails.modelInfo.modelVersionId = getVfModuleItemModelNameVersionId();
353 request.requestDetails.modelInfo.modelName = getVfModuleItemModelName();
354 request.requestDetails.modelInfo.modelVersion = getVfModuleItemModelVersionId();
358 request.requestDetails.requestInfo.instanceName = getVfModuleItemVfModuleName();
359 request.requestDetails.requestInfo.source = "POLICY";
360 request.requestDetails.requestInfo.suppressRollback = false;
361 request.requestDetails.requestInfo.requestorId = "policy";
363 // relatedInstanceList
365 SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement();
366 SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement();
367 relatedInstanceListElement1.relatedInstance = new SORelatedInstance();
368 relatedInstanceListElement2.relatedInstance = new SORelatedInstance();
370 relatedInstanceListElement1.relatedInstance.instanceId = getServiceItemServiceInstanceId();
371 relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo();
372 relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service";
373 relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = getServiceItemModelInvariantId();
374 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersionId = getServiceItemModelNameVersionId();
375 relatedInstanceListElement1.relatedInstance.modelInfo.modelName = getServiceItemModelName();
376 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = getServiceItemModelVersion();
378 relatedInstanceListElement2.relatedInstance.instanceId = getVnfItemVnfId();
379 relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo();
380 relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf";
381 relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = getVnfItemModelInvariantId();
382 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersionId = getVnfItemModelNameVersionId();
383 relatedInstanceListElement2.relatedInstance.modelInfo.modelName = getVnfItemModelName();
384 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = getVnfItemModelVersion();
385 relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = getVnfItemVnfType();
387 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1);
388 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2);
390 // print SO request for debug
392 logger.debug("SO request sent:");
393 logger.debug(Serialization.gsonPretty.toJson(request));
400 * This method is needed to get the serviceInstanceId and vnfInstanceId which is used
401 * in the asyncSORestCall
406 public static void sendRequest(String requestID, WorkingMemory wm, Object request) {
407 SOManager Mm = new SOManager();
408 Mm.asyncSORestCall(requestID, wm, getServiceItemServiceInstanceId(), getVnfItemVnfId(), (SORequest)request);
412 * @return the vnfItemVnfId
414 public static String getVnfItemVnfId() {
419 * @param vnfItemVnfId the vnfItemVnfId to set
421 private static void setVnfItemVnfId(String vnfItemVnfId) {
422 SOActorServiceProvider.vnfItemVnfId = vnfItemVnfId;
426 * @return the vnfItemVnfType
428 public String getVnfItemVnfType() {
429 return this.vnfItemVnfType;
433 * @param vnfItemVnfType the vnfItemVnfType to set
435 private void setVnfItemVnfType(String vnfItemVnfType) {
436 this.vnfItemVnfType = vnfItemVnfType;
440 * @return the vnfItemModelInvariantId
442 public String getVnfItemModelInvariantId() {
443 return this.vnfItemModelInvariantId;
447 * @param vnfItemModelInvariantId the vnfItemModelInvariantId to set
449 private void setVnfItemModelInvariantId(String vnfItemModelInvariantId) {
450 this.vnfItemModelInvariantId = vnfItemModelInvariantId;
454 * @return the vnfItemModelVersionId
456 public String getVnfItemModelVersionId() {
457 return this.vnfItemModelVersionId;
461 * @param vnfItemModelVersionId the vnfItemModelVersionId to set
463 private void setVnfItemModelVersionId(String vnfItemModelVersionId) {
464 this.vnfItemModelVersionId = vnfItemModelVersionId;
468 * @return the vnfItemModelName
470 public String getVnfItemModelName() {
471 return this.vnfItemModelName;
475 * @param vnfItemModelName the vnfItemModelName to set
477 private void setVnfItemModelName(String vnfItemModelName) {
478 this.vnfItemModelName = vnfItemModelName;
482 * @return the vnfItemModelVersion
484 public String getVnfItemModelVersion() {
485 return this.vnfItemModelVersion;
489 * @param vnfItemModelVersion the vnfItemModelVersion to set
491 private void setVnfItemModelVersion(String vnfItemModelVersion) {
492 this.vnfItemModelVersion = vnfItemModelVersion;
496 * @return the vnfItemModelNameVersionId
498 public String getVnfItemModelNameVersionId() {
499 return this.vnfItemModelNameVersionId;
503 * @param vnfItemModelNameVersionId the vnfItemModelNameVersionId to set
505 private void setVnfItemModelNameVersionId(String vnfItemModelNameVersionId) {
506 this.vnfItemModelNameVersionId = vnfItemModelNameVersionId;
510 * @return the serviceItemServiceInstanceId
512 public static String getServiceItemServiceInstanceId() {
513 return serviceItemServiceInstanceId;
517 * @param serviceItemServiceInstanceId the serviceItemServiceInstanceId to set
519 private static void setServiceItemServiceInstanceId(
520 String serviceItemServiceInstanceId) {
521 SOActorServiceProvider.serviceItemServiceInstanceId = serviceItemServiceInstanceId;
525 * @return the serviceItemModelInvariantId
527 public String getServiceItemModelInvariantId() {
528 return this.serviceItemModelInvariantId;
532 * @param serviceItemModelInvariantId the serviceItemModelInvariantId to set
534 private void setServiceItemModelInvariantId(String serviceItemModelInvariantId) {
535 this.serviceItemModelInvariantId = serviceItemModelInvariantId;
539 * @return the serviceItemModelName
541 public String getServiceItemModelName() {
542 return this.serviceItemModelName;
546 * @param serviceItemModelName the serviceItemModelName to set
548 private void setServiceItemModelName(String serviceItemModelName) {
549 this.serviceItemModelName = serviceItemModelName;
553 * @return the serviceItemModelType
555 public String getServiceItemModelType() {
556 return this.serviceItemModelType;
560 * @param serviceItemModelType the serviceItemModelType to set
562 private void setServiceItemModelType(String serviceItemModelType) {
563 this.serviceItemModelType = serviceItemModelType;
567 * @return the serviceItemModelVersion
569 public String getServiceItemModelVersion() {
570 return this.serviceItemModelVersion;
574 * @param serviceItemModelVersion the serviceItemModelVersion to set
576 private void setServiceItemModelVersion(String serviceItemModelVersion) {
577 this.serviceItemModelVersion = serviceItemModelVersion;
581 * @return the serviceItemModelNameVersionId
583 public String getServiceItemModelNameVersionId() {
584 return this.serviceItemModelNameVersionId;
588 * @param serviceItemModelNameVersionId the serviceItemModelNameVersionId to set
590 private void setServiceItemModelNameVersionId(
591 String serviceItemModelNameVersionId) {
592 this.serviceItemModelNameVersionId = serviceItemModelNameVersionId;
596 * @return the vfModuleItemVfModuleName
598 public String getVfModuleItemVfModuleName() {
599 return this.vfModuleItemVfModuleName;
603 * @param vfModuleItemVfModuleName the vfModuleItemVfModuleName to set
605 private void setVfModuleItemVfModuleName(String vfModuleItemVfModuleName) {
606 this.vfModuleItemVfModuleName = vfModuleItemVfModuleName;
610 * @return the vfModuleItemModelInvariantId
612 public String getVfModuleItemModelInvariantId() {
613 return this.vfModuleItemModelInvariantId;
617 * @param vfModuleItemModelInvariantId the vfModuleItemModelInvariantId to set
619 private void setVfModuleItemModelInvariantId(String vfModuleItemModelInvariantId) {
620 this.vfModuleItemModelInvariantId = vfModuleItemModelInvariantId;
624 * @return the vfModuleItemModelVersionId
626 public String getVfModuleItemModelVersionId() {
627 return this.vfModuleItemModelVersionId;
631 * @param vfModuleItemModelVersionId the vfModuleItemModelVersionId to set
633 private void setVfModuleItemModelVersionId(
634 String vfModuleItemModelVersionId) {
635 this.vfModuleItemModelVersionId = vfModuleItemModelVersionId;
639 * @return the vfModuleItemModelName
641 public String getVfModuleItemModelName() {
642 return this.vfModuleItemModelName;
646 * @param vfModuleItemModelName the vfModuleItemModelName to set
648 private void setVfModuleItemModelName(String vfModuleItemModelName) {
649 this.vfModuleItemModelName = vfModuleItemModelName;
653 * @return the vfModuleItemModelNameVersionId
655 public String getVfModuleItemModelNameVersionId() {
656 return this.vfModuleItemModelNameVersionId;
660 * @param vfModuleItemModelNameVersionId the vfModuleItemModelNameVersionId to set
662 private void setVfModuleItemModelNameVersionId(
663 String vfModuleItemModelNameVersionId) {
664 this.vfModuleItemModelNameVersionId = vfModuleItemModelNameVersionId;
668 * @return the tenantItemTenantId
670 public String getTenantItemTenantId() {
671 return this.tenantItemTenantId;
675 * @param tenantItemTenantId the tenantItemTenantId to set
677 private void setTenantItemTenantId(String tenantItemTenantId) {
678 this.tenantItemTenantId = tenantItemTenantId;
682 * @return the cloudRegionItemCloudRegionId
684 public String getCloudRegionItemCloudRegionId() {
685 return this.cloudRegionItemCloudRegionId;
689 * @param cloudRegionItemCloudRegionId the cloudRegionItemCloudRegionId to set
691 private void setCloudRegionItemCloudRegionId(
692 String cloudRegionItemCloudRegionId) {
693 this.cloudRegionItemCloudRegionId = cloudRegionItemCloudRegionId;