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.AAINQInstanceFilters;
31 import org.onap.policy.aai.AAINQInventoryResponseItem;
32 import org.onap.policy.aai.AAIManager;
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
142 * @param eventRequestID
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);
206 extractSOFieldsFromNamedQuery(aainqResponseWrapper, onset);
207 return aainqResponseWrapper;
212 * Extract the required fields from the named query response
213 * @param namedQueryResponseWrapper
216 private void extractSOFieldsFromNamedQuery(AAINQResponseWrapper namedQueryResponseWrapper, VirtualControlLoopEvent onset) {
220 setVnfItemVnfId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID);
221 setVnfItemVnfType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType);
222 setVnfItemVnfType(vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1));
223 setVnfItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelInvariantId);
224 setVnfItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelVersionId);
225 setVnfItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
226 setVnfItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(2).propertyValue);
227 setVnfItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
230 setServiceItemServiceInstanceId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID);
231 setServiceItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelInvariantId);
232 setServiceItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
233 setServiceItemModelType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(1).propertyValue);
234 setServiceItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelVersionId);
235 setServiceItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
237 // Find the index for base vf module and non-base vf module
239 int nonBaseIndex = -1;
240 List<AAINQInventoryResponseItem> inventoryItems = namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems;
241 for (AAINQInventoryResponseItem m : inventoryItems) {
242 if (m.vfModule != null && m.vfModule.isBaseVfModule == true) {
243 baseIndex = inventoryItems.indexOf(m);
244 } else if (m.vfModule != null && m.vfModule.isBaseVfModule == false && m.vfModule.orchestrationStatus == null) {
245 nonBaseIndex = inventoryItems.indexOf(m);
248 if (baseIndex != -1 && nonBaseIndex != -1) {
253 // Report the error if either base vf module or non-base vf module is not found
254 if (baseIndex == -1 || nonBaseIndex == -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(nonBaseIndex).vfModule.modelInvariantId);
265 setVfModuleItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).vfModule.modelVersionId);
266 setVfModuleItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).extraProperties.extraProperty.get(0).propertyValue);
267 setVfModuleItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).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.error(e.getMessage(), e);
277 VirtualControlLoopNotification notification = new VirtualControlLoopNotification(onset);
278 notification.notification = ControlLoopNotificationType.REJECTED;
279 notification.message = "Exception occurred " + e.getMessage();
280 notification.policyName = onset.policyName;
281 notification.policyScope = onset.policyScope;
282 notification.policyVersion = onset.policyVersion;
285 logger.debug(Serialization.gsonPretty.toJson(notification));
286 } catch (Exception e1) {
287 logger.error("Can't deliver notification: " + notification);
288 logger.error(e1.getMessage(), e1);
291 notification.notification = ControlLoopNotificationType.FINAL_FAILURE;
292 notification.message = "Invalid named-query response from AAI";
295 logger.debug(Serialization.gsonPretty.toJson(notification));
296 } catch (Exception e1) {
297 logger.error("Can't deliver notification: " + notification);
298 logger.error(e1.getMessage(), e1);
300 // Retract everything
304 // Extracted fields should not be null
305 if (checkExtractedFields() == false) {
306 System.err.println("some fields are missing from AAI response.");
312 * Checks whether extracted fields from AAI Named Query are null or not
313 * @return false if some extracted fields are missing, true otherwise
315 private boolean checkExtractedFields() {
317 if ((getVnfItemVnfId() == null) || (getVnfItemVnfType() == null) ||
318 (getVnfItemModelInvariantId() == null) || (getVnfItemModelName() == null) ||
319 (getVnfItemModelVersion() == null) || (getVnfItemModelNameVersionId() == null) ||
320 (getServiceItemServiceInstanceId() == null) || (getServiceItemModelName() == null) ||
321 (getServiceItemModelType() == null) || (getServiceItemModelVersion() == null) ||
322 (getServiceItemModelNameVersionId() == null) || (getVfModuleItemVfModuleName() == null) ||
323 (getVfModuleItemModelInvariantId() == null) || (getVfModuleItemModelVersionId() == null) ||
324 (getVfModuleItemModelName() == null) || (getVfModuleItemModelNameVersionId() == null) ||
325 (getTenantItemTenantId() == null) || (getCloudRegionItemCloudRegionId() == null)) {
332 * Construct SO Request
339 public SORequest constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) {
341 if (policy.getActor().equals("SO") && policy.getRecipe().equals("VF Module Create")) {
342 // perform named query request and handle response
343 AaiNamedQueryRequest(onset);
345 // for future extension
349 // check if the fields extracted from named query response are
350 // not null so we can proceed with SO request
351 if (checkExtractedFields() == false) {
353 System.err.println("AAI response is missing some required fields. Cannot proceed with SO Request construction.");
358 // Construct SO Request
359 SORequest request = new SORequest();
360 request.requestId = onset.requestID;
361 request.requestDetails = new SORequestDetails();
362 request.requestDetails.modelInfo = new SOModelInfo();
363 request.requestDetails.cloudConfiguration = new SOCloudConfiguration();
364 request.requestDetails.requestInfo = new SORequestInfo();
365 request.requestDetails.requestParameters = new SORequestParameters();
366 request.requestDetails.requestParameters.userParams = null;
368 // cloudConfiguration
370 request.requestDetails.cloudConfiguration.lcpCloudRegionId = getCloudRegionItemCloudRegionId();
371 request.requestDetails.cloudConfiguration.tenantId = getTenantItemTenantId();
375 request.requestDetails.modelInfo.modelType = "vfModule";
376 request.requestDetails.modelInfo.modelInvariantId = getVfModuleItemModelInvariantId();
377 request.requestDetails.modelInfo.modelNameVersionId = getVfModuleItemModelNameVersionId();
378 request.requestDetails.modelInfo.modelName = getVfModuleItemModelName();
379 request.requestDetails.modelInfo.modelVersion = getVfModuleItemModelVersionId();
383 request.requestDetails.requestInfo.instanceName = getVfModuleItemVfModuleName();
384 request.requestDetails.requestInfo.source = "POLICY";
385 request.requestDetails.requestInfo.suppressRollback = false;
387 // relatedInstanceList
389 SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement();
390 SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement();
391 relatedInstanceListElement1.relatedInstance = new SORelatedInstance();
392 relatedInstanceListElement2.relatedInstance = new SORelatedInstance();
394 relatedInstanceListElement1.relatedInstance.instanceId = getServiceItemServiceInstanceId();
395 relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo();
396 relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service";
397 relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = getServiceItemModelInvariantId();
398 relatedInstanceListElement1.relatedInstance.modelInfo.modelNameVersionId = getServiceItemModelNameVersionId();
399 relatedInstanceListElement1.relatedInstance.modelInfo.modelName = getServiceItemModelName();
400 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = getServiceItemModelVersion();
402 relatedInstanceListElement2.relatedInstance.instanceId = getVnfItemVnfId();
403 relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo();
404 relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf";
405 relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = getVnfItemModelInvariantId();
406 relatedInstanceListElement2.relatedInstance.modelInfo.modelNameVersionId = getVnfItemModelNameVersionId();
407 relatedInstanceListElement2.relatedInstance.modelInfo.modelName = getVnfItemModelName();
408 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = getVnfItemModelVersion();
409 relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = getVnfItemVnfType();
411 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1);
412 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2);
414 // print SO request for debug
416 logger.debug("SO request sent:");
417 logger.debug(Serialization.gsonPretty.toJson(request));
424 * This method is needed to get the serviceInstanceId and vnfInstanceId which is used
425 * in the asyncSORestCall
430 public static void sendRequest(WorkingMemory wm, Object request) {
431 SOManager Mm = new SOManager();
432 Mm.asyncSORestCall(wm, getServiceItemServiceInstanceId(), getVnfItemVnfId(), (SORequest)request);
436 * @return the vnfItemVnfId
438 public static String getVnfItemVnfId() {
443 * @param vnfItemVnfId the vnfItemVnfId to set
445 private static void setVnfItemVnfId(String vnfItemVnfId) {
446 SOActorServiceProvider.vnfItemVnfId = vnfItemVnfId;
450 * @return the vnfItemVnfType
452 public String getVnfItemVnfType() {
453 return this.vnfItemVnfType;
457 * @param vnfItemVnfType the vnfItemVnfType to set
459 private void setVnfItemVnfType(String vnfItemVnfType) {
460 this.vnfItemVnfType = vnfItemVnfType;
464 * @return the vnfItemModelInvariantId
466 public String getVnfItemModelInvariantId() {
467 return this.vnfItemModelInvariantId;
471 * @param vnfItemModelInvariantId the vnfItemModelInvariantId to set
473 private void setVnfItemModelInvariantId(String vnfItemModelInvariantId) {
474 this.vnfItemModelInvariantId = vnfItemModelInvariantId;
478 * @return the vnfItemModelVersionId
480 public String getVnfItemModelVersionId() {
481 return this.vnfItemModelVersionId;
485 * @param vnfItemModelVersionId the vnfItemModelVersionId to set
487 private void setVnfItemModelVersionId(String vnfItemModelVersionId) {
488 this.vnfItemModelVersionId = vnfItemModelVersionId;
492 * @return the vnfItemModelName
494 public String getVnfItemModelName() {
495 return this.vnfItemModelName;
499 * @param vnfItemModelName the vnfItemModelName to set
501 private void setVnfItemModelName(String vnfItemModelName) {
502 this.vnfItemModelName = vnfItemModelName;
506 * @return the vnfItemModelVersion
508 public String getVnfItemModelVersion() {
509 return this.vnfItemModelVersion;
513 * @param vnfItemModelVersion the vnfItemModelVersion to set
515 private void setVnfItemModelVersion(String vnfItemModelVersion) {
516 this.vnfItemModelVersion = vnfItemModelVersion;
520 * @return the vnfItemModelNameVersionId
522 public String getVnfItemModelNameVersionId() {
523 return this.vnfItemModelNameVersionId;
527 * @param vnfItemModelNameVersionId the vnfItemModelNameVersionId to set
529 private void setVnfItemModelNameVersionId(String vnfItemModelNameVersionId) {
530 this.vnfItemModelNameVersionId = vnfItemModelNameVersionId;
534 * @return the serviceItemServiceInstanceId
536 public static String getServiceItemServiceInstanceId() {
537 return serviceItemServiceInstanceId;
541 * @param serviceItemServiceInstanceId the serviceItemServiceInstanceId to set
543 private static void setServiceItemServiceInstanceId(
544 String serviceItemServiceInstanceId) {
545 SOActorServiceProvider.serviceItemServiceInstanceId = serviceItemServiceInstanceId;
549 * @return the serviceItemModelInvariantId
551 public String getServiceItemModelInvariantId() {
552 return this.serviceItemModelInvariantId;
556 * @param serviceItemModeInvariantlId the serviceItemModelInvariantId to set
558 private void setServiceItemModelInvariantId(String serviceItemModelInvariantId) {
559 this.serviceItemModelInvariantId = serviceItemModelInvariantId;
563 * @return the serviceItemModelName
565 public String getServiceItemModelName() {
566 return this.serviceItemModelName;
570 * @param serviceItemModelName the serviceItemModelName to set
572 private void setServiceItemModelName(String serviceItemModelName) {
573 this.serviceItemModelName = serviceItemModelName;
577 * @return the serviceItemModelType
579 public String getServiceItemModelType() {
580 return this.serviceItemModelType;
584 * @param serviceItemModelType the serviceItemModelType to set
586 private void setServiceItemModelType(String serviceItemModelType) {
587 this.serviceItemModelType = serviceItemModelType;
591 * @return the serviceItemModelVersion
593 public String getServiceItemModelVersion() {
594 return this.serviceItemModelVersion;
598 * @param serviceItemModelVersion the serviceItemModelVersion to set
600 private void setServiceItemModelVersion(String serviceItemModelVersion) {
601 this.serviceItemModelVersion = serviceItemModelVersion;
605 * @return the serviceItemModelNameVersionId
607 public String getServiceItemModelNameVersionId() {
608 return this.serviceItemModelNameVersionId;
612 * @param serviceItemModelNameVersionId the serviceItemModelNameVersionId to set
614 private void setServiceItemModelNameVersionId(
615 String serviceItemModelNameVersionId) {
616 this.serviceItemModelNameVersionId = serviceItemModelNameVersionId;
620 * @return the vfModuleItemVfModuleName
622 public String getVfModuleItemVfModuleName() {
623 return this.vfModuleItemVfModuleName;
627 * @param vfModuleItemVfModuleName the vfModuleItemVfModuleName to set
629 private void setVfModuleItemVfModuleName(String vfModuleItemVfModuleName) {
630 this.vfModuleItemVfModuleName = vfModuleItemVfModuleName;
634 * @return the vfModuleItemModelInvariantId
636 public String getVfModuleItemModelInvariantId() {
637 return this.vfModuleItemModelInvariantId;
641 * @param vfModuleItemModelInvariantId the vfModuleItemModelInvariantId to set
643 private void setVfModuleItemModelInvariantId(String vfModuleItemModelInvariantId) {
644 this.vfModuleItemModelInvariantId = vfModuleItemModelInvariantId;
648 * @return the vfModuleItemModelVersionId
650 public String getVfModuleItemModelVersionId() {
651 return this.vfModuleItemModelVersionId;
655 * @param vfModuleItemModelVersionId the vfModuleItemModelVersionId to set
657 private void setVfModuleItemModelVersionId(
658 String vfModuleItemModelVersionId) {
659 this.vfModuleItemModelVersionId = vfModuleItemModelVersionId;
663 * @return the vfModuleItemModelName
665 public String getVfModuleItemModelName() {
666 return this.vfModuleItemModelName;
670 * @param vfModuleItemModelName the vfModuleItemModelName to set
672 private void setVfModuleItemModelName(String vfModuleItemModelName) {
673 this.vfModuleItemModelName = vfModuleItemModelName;
677 * @return the vfModuleItemModelNameVersionId
679 public String getVfModuleItemModelNameVersionId() {
680 return this.vfModuleItemModelNameVersionId;
684 * @param vfModuleItemModelNameVersionId the vfModuleItemModelNameVersionId to set
686 private void setVfModuleItemModelNameVersionId(
687 String vfModuleItemModelNameVersionId) {
688 this.vfModuleItemModelNameVersionId = vfModuleItemModelNameVersionId;
692 * @return the tenantItemTenantId
694 public String getTenantItemTenantId() {
695 return this.tenantItemTenantId;
699 * @param tenantItemTenantId the tenantItemTenantId to set
701 private void setTenantItemTenantId(String tenantItemTenantId) {
702 this.tenantItemTenantId = tenantItemTenantId;
706 * @return the cloudRegionItemCloudRegionId
708 public String getCloudRegionItemCloudRegionId() {
709 return this.cloudRegionItemCloudRegionId;
713 * @param cloudRegionItemCloudRegionId the cloudRegionItemCloudRegionId to set
715 private void setCloudRegionItemCloudRegionId(
716 String cloudRegionItemCloudRegionId) {
717 this.cloudRegionItemCloudRegionId = cloudRegionItemCloudRegionId;