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.so.SOCloudConfiguration;
45 import org.onap.policy.so.SOManager;
46 import org.onap.policy.so.SOModelInfo;
47 import org.onap.policy.so.SORelatedInstance;
48 import org.onap.policy.so.SORelatedInstanceListElement;
49 import org.onap.policy.so.SORequest;
50 import org.onap.policy.so.SORequestDetails;
51 import org.onap.policy.so.SORequestInfo;
52 import org.onap.policy.so.SORequestParameters;
53 import org.onap.policy.so.util.Serialization;
54 import org.slf4j.Logger;
55 import org.slf4j.LoggerFactory;
57 import com.google.common.collect.ImmutableList;
58 import com.google.common.collect.ImmutableMap;
60 public class SOActorServiceProvider implements Actor {
62 private static final Logger logger = LoggerFactory.getLogger(SOActorServiceProvider.class);
64 private static String vnfItemVnfId;
66 private String vnfItemVnfType;
68 private String vnfItemModelInvariantId;
70 private String vnfItemModelVersionId;
72 private String vnfItemModelName;
74 private String vnfItemModelVersion;
76 private String vnfItemModelNameVersionId;
78 private static String serviceItemServiceInstanceId;
80 private String serviceItemModelInvariantId;
82 private String serviceItemModelName;
84 private String serviceItemModelType;
86 private String serviceItemModelVersion;
88 private String serviceItemModelNameVersionId;
90 private String vfModuleItemVfModuleName;
92 private String vfModuleItemModelInvariantId;
94 private String vfModuleItemModelVersionId;
96 private String vfModuleItemModelName;
98 private String vfModuleItemModelNameVersionId;
100 private String tenantItemTenantId;
102 private String cloudRegionItemCloudRegionId;
104 private static final ImmutableList<String> recipes = ImmutableList.of(
106 private static final ImmutableMap<String, List<String>> targets = new ImmutableMap.Builder<String, List<String>>()
107 .put("VF Module Create", ImmutableList.of("VFC"))
111 public String actor() {
116 public List<String> recipes() {
117 return ImmutableList.copyOf(recipes);
121 public List<String> recipeTargets(String recipe) {
122 return ImmutableList.copyOf(targets.getOrDefault(recipe, Collections.emptyList()));
126 public List<String> recipePayloads(String recipe) {
127 return Collections.emptyList();
131 * SOActorServiceProvider Constructor
134 public SOActorServiceProvider() {
139 * Constructs and sends an AAI vserver Named Query
141 * @param eventRequestID
142 * @returns the response to the AAI Named Query
144 private AAINQResponseWrapper AaiNamedQueryRequest(VirtualControlLoopEvent onset) {
146 // create AAI named-query request with UUID started with ""
147 AAINQRequest aainqrequest = new AAINQRequest();
148 AAINQQueryParameters aainqqueryparam = new AAINQQueryParameters();
149 AAINQNamedQuery aainqnamedquery = new AAINQNamedQuery();
150 AAINQInstanceFilters aainqinstancefilter = new AAINQInstanceFilters();
153 aainqnamedquery.namedQueryUUID = UUID.fromString("4ff56a54-9e3f-46b7-a337-07a1d3c6b469"); // UUID.fromString($params.getAaiNamedQueryUUID()) TO DO: AaiNamedQueryUUID
154 aainqqueryparam.namedQuery = aainqnamedquery;
155 aainqrequest.queryParameters = aainqqueryparam;
159 Map<String, Map<String, String>> aainqinstancefiltermap = new HashMap<>();
160 Map<String, String> aainqinstancefiltermapitem = new HashMap<>();
161 aainqinstancefiltermapitem.put("vserver-name", onset.AAI.get("vserver.vserver-name")); // TO DO: get vserver.vname from dcae onset.AAI.get("vserver.vserver-name")
162 aainqinstancefiltermap.put("vserver", aainqinstancefiltermapitem);
163 aainqinstancefilter.instanceFilter.add(aainqinstancefiltermap);
164 aainqrequest.instanceFilters = aainqinstancefilter;
166 // print aainqrequest for debug
168 logger.debug("AAI Request sent:");
169 logger.debug(Serialization.gsonPretty.toJson(aainqrequest));
171 // Create AAINQRequestWrapper
173 // AAINQRequestWrapper aainqRequestWrapper = new AAINQRequestWrapper(onset.requestID, aainqrequest);
175 // insert aainqrequest into memory
177 // insert(aainqRequestWrapper);
179 String url = "http://localhost:6666";
180 String username = "testUser";
181 String password = "testPass";
183 //***** send the request *****\\
184 AAINQResponse aainqresponse = AAIManager.postQuery(url, username, password, // TO DO: get AAI URL, username, and password
185 aainqrequest, onset.requestID);
187 // Check AAI response
188 if (aainqresponse == null) {
189 System.err.println("Failed to get AAI response");
191 // Fail and retract everything
194 // Create AAINQResponseWrapper
195 AAINQResponseWrapper aainqResponseWrapper = new AAINQResponseWrapper(onset.requestID, aainqresponse);
197 // insert aainqResponseWrapper to memory -- Is this needed?
198 // insert(aainqResponseWrapper);
201 extractSOFieldsFromNamedQuery(aainqResponseWrapper, onset);
202 return aainqResponseWrapper;
207 * Extract the required fields from the named query response
208 * @param namedQueryResponseWrapper
211 private void extractSOFieldsFromNamedQuery(AAINQResponseWrapper namedQueryResponseWrapper, VirtualControlLoopEvent onset) {
215 setVnfItemVnfId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID);
216 setVnfItemVnfType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType);
217 setVnfItemVnfType(vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1));
218 setVnfItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelInvariantId);
219 setVnfItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.modelVersionId);
220 setVnfItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
221 setVnfItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(2).propertyValue);
222 setVnfItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
225 setServiceItemServiceInstanceId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID);
226 setServiceItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelInvariantId);
227 setServiceItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue);
228 setServiceItemModelType(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(1).propertyValue);
229 setServiceItemModelVersion(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.modelVersionId);
230 setServiceItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue);
232 // Find the index for base vf module and non-base vf module
234 int nonBaseIndex = -1;
235 List<AAINQInventoryResponseItem> inventoryItems = namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems;
236 for (AAINQInventoryResponseItem m : inventoryItems) {
237 if (m.vfModule != null && m.vfModule.isBaseVfModule == true) {
238 baseIndex = inventoryItems.indexOf(m);
239 } else if (m.vfModule != null && m.vfModule.isBaseVfModule == false && m.vfModule.orchestrationStatus == null) {
240 nonBaseIndex = inventoryItems.indexOf(m);
243 if (baseIndex != -1 && nonBaseIndex != -1) {
248 // Report the error if either base vf module or non-base vf module is not found
249 if (baseIndex == -1 || nonBaseIndex == -1) {
250 logger.error("Either base or non-base vf module is not found from AAI response.");
254 // This comes from the base module
255 setVfModuleItemVfModuleName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(baseIndex).vfModule.vfModuleName);
256 setVfModuleItemVfModuleName(vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"));
258 // vfModuleItem - NOT the base module
259 setVfModuleItemModelInvariantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).vfModule.modelInvariantId);
260 setVfModuleItemModelVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).vfModule.modelVersionId);
261 setVfModuleItemModelName(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).extraProperties.extraProperty.get(0).propertyValue);
262 setVfModuleItemModelNameVersionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(nonBaseIndex).extraProperties.extraProperty.get(4).propertyValue);
265 setTenantItemTenantId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).tenant.tenantId);
268 setCloudRegionItemCloudRegionId(namedQueryResponseWrapper.aainqresponse.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).items.inventoryResponseItems.get(0).cloudRegion.cloudRegionId);
270 } catch (Exception e) {
271 logger.error(e.getMessage(), e);
272 VirtualControlLoopNotification notification = new VirtualControlLoopNotification(onset);
273 notification.notification = ControlLoopNotificationType.REJECTED;
274 notification.message = "Exception occurred " + e.getMessage();
275 notification.policyName = onset.policyName;
276 notification.policyScope = onset.policyScope;
277 notification.policyVersion = onset.policyVersion;
280 logger.debug(Serialization.gsonPretty.toJson(notification));
281 } catch (Exception e1) {
282 logger.error("Can't deliver notification: " + notification);
283 logger.error(e1.getMessage(), e1);
286 notification.notification = ControlLoopNotificationType.FINAL_FAILURE;
287 notification.message = "Invalid named-query response from AAI";
290 logger.debug(Serialization.gsonPretty.toJson(notification));
291 } catch (Exception e1) {
292 logger.error("Can't deliver notification: " + notification);
293 logger.error(e1.getMessage(), e1);
295 // Retract everything
299 // Extracted fields should not be null
300 if (checkExtractedFields() == false) {
301 System.err.println("some fields are missing from AAI response.");
307 * Checks whether extracted fields from AAI Named Query are null or not
308 * @return false if some extracted fields are missing, true otherwise
310 private boolean checkExtractedFields() {
312 if ((getVnfItemVnfId() == null) || (getVnfItemVnfType() == null) ||
313 (getVnfItemModelInvariantId() == null) || (getVnfItemModelName() == null) ||
314 (getVnfItemModelVersion() == null) || (getVnfItemModelNameVersionId() == null) ||
315 (getServiceItemServiceInstanceId() == null) || (getServiceItemModelName() == null) ||
316 (getServiceItemModelType() == null) || (getServiceItemModelVersion() == null) ||
317 (getServiceItemModelNameVersionId() == null) || (getVfModuleItemVfModuleName() == null) ||
318 (getVfModuleItemModelInvariantId() == null) || (getVfModuleItemModelVersionId() == null) ||
319 (getVfModuleItemModelName() == null) || (getVfModuleItemModelNameVersionId() == null) ||
320 (getTenantItemTenantId() == null) || (getCloudRegionItemCloudRegionId() == null)) {
327 * Construct SO Request
334 public SORequest constructRequest(VirtualControlLoopEvent onset, ControlLoopOperation operation, Policy policy) {
336 if (policy.getActor().equals("SO") && policy.getRecipe().equals("VF Module Create")) {
337 // perform named query request and handle response
338 AaiNamedQueryRequest(onset);
340 // for future extension
344 // check if the fields extracted from named query response are
345 // not null so we can proceed with SO request
346 if (checkExtractedFields() == false) {
348 System.err.println("AAI response is missing some required fields. Cannot proceed with SO Request construction.");
353 // Construct SO Request
354 SORequest request = new SORequest();
355 request.requestId = onset.requestID;
356 request.requestDetails = new SORequestDetails();
357 request.requestDetails.modelInfo = new SOModelInfo();
358 request.requestDetails.cloudConfiguration = new SOCloudConfiguration();
359 request.requestDetails.requestInfo = new SORequestInfo();
360 request.requestDetails.requestParameters = new SORequestParameters();
361 request.requestDetails.requestParameters.userParams = null;
363 // cloudConfiguration
365 request.requestDetails.cloudConfiguration.lcpCloudRegionId = getCloudRegionItemCloudRegionId();
366 request.requestDetails.cloudConfiguration.tenantId = getTenantItemTenantId();
370 request.requestDetails.modelInfo.modelType = "vfModule";
371 request.requestDetails.modelInfo.modelInvariantId = getVfModuleItemModelInvariantId();
372 request.requestDetails.modelInfo.modelNameVersionId = getVfModuleItemModelNameVersionId();
373 request.requestDetails.modelInfo.modelName = getVfModuleItemModelName();
374 request.requestDetails.modelInfo.modelVersion = getVfModuleItemModelVersionId();
378 request.requestDetails.requestInfo.instanceName = getVfModuleItemVfModuleName();
379 request.requestDetails.requestInfo.source = "POLICY";
380 request.requestDetails.requestInfo.suppressRollback = false;
382 // relatedInstanceList
384 SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement();
385 SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement();
386 relatedInstanceListElement1.relatedInstance = new SORelatedInstance();
387 relatedInstanceListElement2.relatedInstance = new SORelatedInstance();
389 relatedInstanceListElement1.relatedInstance.instanceId = getServiceItemServiceInstanceId();
390 relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo();
391 relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service";
392 relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = getServiceItemModelInvariantId();
393 relatedInstanceListElement1.relatedInstance.modelInfo.modelNameVersionId = getServiceItemModelNameVersionId();
394 relatedInstanceListElement1.relatedInstance.modelInfo.modelName = getServiceItemModelName();
395 relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = getServiceItemModelVersion();
397 relatedInstanceListElement2.relatedInstance.instanceId = getVnfItemVnfId();
398 relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo();
399 relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf";
400 relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = getVnfItemModelInvariantId();
401 relatedInstanceListElement2.relatedInstance.modelInfo.modelNameVersionId = getVnfItemModelNameVersionId();
402 relatedInstanceListElement2.relatedInstance.modelInfo.modelName = getVnfItemModelName();
403 relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = getVnfItemModelVersion();
404 relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = getVnfItemVnfType();
406 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1);
407 request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2);
409 // print SO request for debug
411 logger.debug("SO request sent:");
412 logger.debug(Serialization.gsonPretty.toJson(request));
419 * This method is needed to get the serviceInstanceId and vnfInstanceId which is used
420 * in the asyncSORestCall
425 public static void sendRequest(WorkingMemory wm, Object request) {
426 SOManager Mm = new SOManager();
427 Mm.asyncSORestCall(wm, getServiceItemServiceInstanceId(), getVnfItemVnfId(), (SORequest)request);
431 * @return the vnfItemVnfId
433 public static String getVnfItemVnfId() {
438 * @param vnfItemVnfId the vnfItemVnfId to set
440 private void setVnfItemVnfId(String vnfItemVnfId) {
441 SOActorServiceProvider.vnfItemVnfId = vnfItemVnfId;
445 * @return the vnfItemVnfType
447 public String getVnfItemVnfType() {
448 return this.vnfItemVnfType;
452 * @param vnfItemVnfType the vnfItemVnfType to set
454 private void setVnfItemVnfType(String vnfItemVnfType) {
455 this.vnfItemVnfType = vnfItemVnfType;
459 * @return the vnfItemModelInvariantId
461 public String getVnfItemModelInvariantId() {
462 return this.vnfItemModelInvariantId;
466 * @param vnfItemModelInvariantId the vnfItemModelInvariantId to set
468 private void setVnfItemModelInvariantId(String vnfItemModelInvariantId) {
469 this.vnfItemModelInvariantId = vnfItemModelInvariantId;
473 * @return the vnfItemModelVersionId
475 public String getVnfItemModelVersionId() {
476 return this.vnfItemModelVersionId;
480 * @param vnfItemModelVersionId the vnfItemModelVersionId to set
482 private void setVnfItemModelVersionId(String vnfItemModelVersionId) {
483 this.vnfItemModelVersionId = vnfItemModelVersionId;
487 * @return the vnfItemModelName
489 public String getVnfItemModelName() {
490 return this.vnfItemModelName;
494 * @param vnfItemModelName the vnfItemModelName to set
496 private void setVnfItemModelName(String vnfItemModelName) {
497 this.vnfItemModelName = vnfItemModelName;
501 * @return the vnfItemModelVersion
503 public String getVnfItemModelVersion() {
504 return this.vnfItemModelVersion;
508 * @param vnfItemModelVersion the vnfItemModelVersion to set
510 private void setVnfItemModelVersion(String vnfItemModelVersion) {
511 this.vnfItemModelVersion = vnfItemModelVersion;
515 * @return the vnfItemModelNameVersionId
517 public String getVnfItemModelNameVersionId() {
518 return this.vnfItemModelNameVersionId;
522 * @param vnfItemModelNameVersionId the vnfItemModelNameVersionId to set
524 private void setVnfItemModelNameVersionId(String vnfItemModelNameVersionId) {
525 this.vnfItemModelNameVersionId = vnfItemModelNameVersionId;
529 * @return the serviceItemServiceInstanceId
531 public static String getServiceItemServiceInstanceId() {
532 return serviceItemServiceInstanceId;
536 * @param serviceItemServiceInstanceId the serviceItemServiceInstanceId to set
538 private void setServiceItemServiceInstanceId(
539 String serviceItemServiceInstanceId) {
540 SOActorServiceProvider.serviceItemServiceInstanceId = serviceItemServiceInstanceId;
544 * @return the serviceItemModelInvariantId
546 public String getServiceItemModelInvariantId() {
547 return this.serviceItemModelInvariantId;
551 * @param serviceItemModeInvariantlId the serviceItemModelInvariantId to set
553 private void setServiceItemModelInvariantId(String serviceItemModelInvariantId) {
554 this.serviceItemModelInvariantId = serviceItemModelInvariantId;
558 * @return the serviceItemModelName
560 public String getServiceItemModelName() {
561 return this.serviceItemModelName;
565 * @param serviceItemModelName the serviceItemModelName to set
567 private void setServiceItemModelName(String serviceItemModelName) {
568 this.serviceItemModelName = serviceItemModelName;
572 * @return the serviceItemModelType
574 public String getServiceItemModelType() {
575 return this.serviceItemModelType;
579 * @param serviceItemModelType the serviceItemModelType to set
581 private void setServiceItemModelType(String serviceItemModelType) {
582 this.serviceItemModelType = serviceItemModelType;
586 * @return the serviceItemModelVersion
588 public String getServiceItemModelVersion() {
589 return this.serviceItemModelVersion;
593 * @param serviceItemModelVersion the serviceItemModelVersion to set
595 private void setServiceItemModelVersion(String serviceItemModelVersion) {
596 this.serviceItemModelVersion = serviceItemModelVersion;
600 * @return the serviceItemModelNameVersionId
602 public String getServiceItemModelNameVersionId() {
603 return this.serviceItemModelNameVersionId;
607 * @param serviceItemModelNameVersionId the serviceItemModelNameVersionId to set
609 private void setServiceItemModelNameVersionId(
610 String serviceItemModelNameVersionId) {
611 this.serviceItemModelNameVersionId = serviceItemModelNameVersionId;
615 * @return the vfModuleItemVfModuleName
617 public String getVfModuleItemVfModuleName() {
618 return this.vfModuleItemVfModuleName;
622 * @param vfModuleItemVfModuleName the vfModuleItemVfModuleName to set
624 private void setVfModuleItemVfModuleName(String vfModuleItemVfModuleName) {
625 this.vfModuleItemVfModuleName = vfModuleItemVfModuleName;
629 * @return the vfModuleItemModelInvariantId
631 public String getVfModuleItemModelInvariantId() {
632 return this.vfModuleItemModelInvariantId;
636 * @param vfModuleItemModelInvariantId the vfModuleItemModelInvariantId to set
638 private void setVfModuleItemModelInvariantId(String vfModuleItemModelInvariantId) {
639 this.vfModuleItemModelInvariantId = vfModuleItemModelInvariantId;
643 * @return the vfModuleItemModelVersionId
645 public String getVfModuleItemModelVersionId() {
646 return this.vfModuleItemModelVersionId;
650 * @param vfModuleItemModelVersionId the vfModuleItemModelVersionId to set
652 private void setVfModuleItemModelVersionId(
653 String vfModuleItemModelVersionId) {
654 this.vfModuleItemModelVersionId = vfModuleItemModelVersionId;
658 * @return the vfModuleItemModelName
660 public String getVfModuleItemModelName() {
661 return this.vfModuleItemModelName;
665 * @param vfModuleItemModelName the vfModuleItemModelName to set
667 private void setVfModuleItemModelName(String vfModuleItemModelName) {
668 this.vfModuleItemModelName = vfModuleItemModelName;
672 * @return the vfModuleItemModelNameVersionId
674 public String getVfModuleItemModelNameVersionId() {
675 return this.vfModuleItemModelNameVersionId;
679 * @param vfModuleItemModelNameVersionId the vfModuleItemModelNameVersionId to set
681 private void setVfModuleItemModelNameVersionId(
682 String vfModuleItemModelNameVersionId) {
683 this.vfModuleItemModelNameVersionId = vfModuleItemModelNameVersionId;
687 * @return the tenantItemTenantId
689 public String getTenantItemTenantId() {
690 return this.tenantItemTenantId;
694 * @param tenantItemTenantId the tenantItemTenantId to set
696 private void setTenantItemTenantId(String tenantItemTenantId) {
697 this.tenantItemTenantId = tenantItemTenantId;
701 * @return the cloudRegionItemCloudRegionId
703 public String getCloudRegionItemCloudRegionId() {
704 return this.cloudRegionItemCloudRegionId;
708 * @param cloudRegionItemCloudRegionId the cloudRegionItemCloudRegionId to set
710 private void setCloudRegionItemCloudRegionId(
711 String cloudRegionItemCloudRegionId) {
712 this.cloudRegionItemCloudRegionId = cloudRegionItemCloudRegionId;