Support alternate Id interface for ncmp inventory /ch/cmhandles endpoint

Issue-ID: CPS-2481
Change-Id: I8a200495be1afb9a4f256127f886bed78c77f653
Signed-off-by: seanbeirne <sean.beirne@est.tech>
diff --git a/cps-ncmp-rest/docs/openapi/components.yaml b/cps-ncmp-rest/docs/openapi/components.yaml
index a8da693..e564c6b 100644
--- a/cps-ncmp-rest/docs/openapi/components.yaml
+++ b/cps-ncmp-rest/docs/openapi/components.yaml
@@ -366,7 +366,7 @@
           type: array
           items:
             type: string
-            description: targeted cm handle references, maximum of 200 supported. If this limit is exceeded the request wil be refused.
+            description: targeted cm handle references, maximum of 200 supported. If this limit is exceeded the request will be refused.
             example: [ "da310eecdb8d44c2acc0ddaae01174b1","c748c58f8e0b438f9fd1f28370b17d47" ]
 
   examples:
@@ -516,7 +516,7 @@
     outputAlternateIdOptionInQuery:
       name: outputAlternateId
       in: query
-      description: Boolean parameter to determine if returned value(s) will be cm handle references for a given query
+      description: Boolean parameter to determine if returned value(s) will be cm handle Ids or alternate Ids for a given query
       required: false
       schema:
         type: boolean
diff --git a/cps-ncmp-rest/docs/openapi/ncmp-inventory.yml b/cps-ncmp-rest/docs/openapi/ncmp-inventory.yml
index 24b83cf..7b1c8d4 100755
--- a/cps-ncmp-rest/docs/openapi/ncmp-inventory.yml
+++ b/cps-ncmp-rest/docs/openapi/ncmp-inventory.yml
@@ -96,15 +96,16 @@
                 }
               ]
 
-getAllCmHandleIdsForRegisteredDmi:
+getAllCmHandleReferencesForRegisteredDmi:
   get:
-    description: Get all cm handle IDs for a registered DMI plugin
+    description: Get all cm handle references for a registered DMI plugin
     tags:
       - network-cm-proxy-inventory
-    summary: Get all cm handle IDs for a registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)
-    operationId: getAllCmHandleIdsForRegisteredDmi
+    summary: Get all cm handle references for a registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin)
+    operationId: getAllCmHandleReferencesForRegisteredDmi
     parameters:
       - $ref: 'components.yaml#/components/parameters/dmiPluginIdentifierInQuery'
+      - $ref: 'components.yaml#/components/parameters/outputAlternateIdOptionInQuery'
     responses:
       200:
         description: OK
@@ -121,7 +122,7 @@
 
 searchCmHandleIds:
   post:
-    description: Query and get CMHandle references for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin).
+    description: Query and get cm handle references for additional properties, public properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model plugin).
     tags:
       - network-cm-proxy-inventory
     summary: Query for CM Handle IDs
diff --git a/cps-ncmp-rest/docs/openapi/openapi-inventory.yml b/cps-ncmp-rest/docs/openapi/openapi-inventory.yml
index d374dcc..6c207ee 100755
--- a/cps-ncmp-rest/docs/openapi/openapi-inventory.yml
+++ b/cps-ncmp-rest/docs/openapi/openapi-inventory.yml
@@ -34,7 +34,7 @@
     $ref: 'ncmp-inventory.yml#/updateDmiRegistration'
 
   /v1/ch/cmHandles:
-    $ref: 'ncmp-inventory.yml#/getAllCmHandleIdsForRegisteredDmi'
+    $ref: 'ncmp-inventory.yml#/getAllCmHandleReferencesForRegisteredDmi'
 
   /v1/ch/searches:
     $ref: 'ncmp-inventory.yml#/searchCmHandleIds'
diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java
index f763769..0e27ba9 100755
--- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java
+++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java
@@ -74,12 +74,17 @@
      * Get all cm-handle IDs under a registered DMI plugin.
      *
      * @param dmiPluginIdentifier DMI plugin identifier
+     * @param outputAlternateId   Boolean for cm handle reference type either
+     *                            cm handle id (False) or alternate id (True)
      * @return list of cm handle IDs
      */
     @Override
-    public ResponseEntity<List<String>> getAllCmHandleIdsForRegisteredDmi(final String dmiPluginIdentifier) {
+    public ResponseEntity<List<String>> getAllCmHandleReferencesForRegisteredDmi(final String dmiPluginIdentifier,
+                                                                                 final Boolean outputAlternateId) {
+
         final Collection<String> cmHandleIds =
-            networkCmProxyInventoryFacade.getAllCmHandleIdsByDmiPluginIdentifier(dmiPluginIdentifier);
+            networkCmProxyInventoryFacade.getAllCmHandleReferencesByDmiPluginIdentifier(dmiPluginIdentifier,
+                outputAlternateId);
         return ResponseEntity.ok(List.copyOf(cmHandleIds));
     }
 
diff --git a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryControllerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryControllerSpec.groovy
index 74e6759..5930764 100644
--- a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryControllerSpec.groovy
+++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryControllerSpec.groovy
@@ -234,12 +234,14 @@
             'delete upgrade failed' | expectedSuccessResponse('cm-handle-1') | expectedSuccessResponse('cm-handle-2') | expectedFailedResponse('cm-handle-3')  | expectedFailedResponse('cm-handle-4')  || []                                            | []                                            | [expectedUnknownErrorResponse('cm-handle-3')] | [expectedUnknownErrorResponse('cm-handle-4')]
     }
 
-    def 'Get all cm handle IDs by DMI plugin identifier.'() {
-        given: 'an endpoint for returning cm handle IDs for a registered dmi plugin'
-            def getUrl = "$ncmpBasePathV1/ch/cmHandles?dmi-plugin-identifier=some-dmi-plugin-identifier"
-        and: 'a collection of cm handle IDs are returned'
-            1 * mockNetworkCmProxyInventoryFacade.getAllCmHandleIdsByDmiPluginIdentifier('some-dmi-plugin-identifier')
+    def 'Get all cm handle references by DMI plugin identifier when #scenario.'() {
+        given: 'an endpoint for returning cm handle references for a registered dmi plugin'
+            def getUrl = "$ncmpBasePathV1/ch/cmHandles?dmi-plugin-identifier=some-dmi-plugin-identifier"+outputAlternateId
+        and: 'a collection of cm handle references are returned'
+            mockNetworkCmProxyInventoryFacade.getAllCmHandleReferencesByDmiPluginIdentifier('some-dmi-plugin-identifier', false)
                     >> ['cm-handle-id-1','cm-handle-id-2']
+            mockNetworkCmProxyInventoryFacade.getAllCmHandleReferencesByDmiPluginIdentifier('some-dmi-plugin-identifier', true)
+                    >> ['alternate-id-1','alternate-id-2']
         when: 'the endpoint is invoked'
             def response = mvc.perform(
                     get(getUrl)
@@ -247,8 +249,12 @@
                             .accept(MediaType.APPLICATION_JSON_VALUE)
             ).andReturn().response
         then: 'the response matches the result returned by the service layer'
-            assert response.contentAsString.contains('cm-handle-id-1')
-            assert response.contentAsString.contains('cm-handle-id-2')
+            assert response.contentAsString.contains(firstReference)
+            assert response.contentAsString.contains(secondReference)
+        where:
+            scenario                | outputAlternateId         || firstReference    | secondReference
+            'output returns cm handle ids'  | ''                        ||  'cm-handle-id-1' | 'cm-handle-id-2'
+            'output returns alternate ids'  | '&outputAlternateId=true' ||  'alternate-id-1' | 'alternate-id-2'
     }
 
     def expectedUnknownErrorResponse(cmHandle) {
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/NetworkCmProxyInventoryFacade.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/NetworkCmProxyInventoryFacade.java
index e9e5f54..a899687 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/NetworkCmProxyInventoryFacade.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/NetworkCmProxyInventoryFacade.java
@@ -75,13 +75,16 @@
     }
 
     /**
-     * Get all cm handle IDs by DMI plugin identifier.
+     * Get all cm handle references by DMI plugin identifier.
      *
      * @param dmiPluginIdentifier DMI plugin identifier
-     * @return collection of cm handle IDs
+     * @param outputAlternateId   Boolean for cm handle reference type either
+     *                            cm handle id (false) or alternate id (true)
+     * @return collection of cm handle references
      */
-    public Collection<String> getAllCmHandleIdsByDmiPluginIdentifier(final String dmiPluginIdentifier) {
-        return cmHandleQueryService.getCmHandleIdsByDmiPluginIdentifier(dmiPluginIdentifier);
+    public Collection<String> getAllCmHandleReferencesByDmiPluginIdentifier(final String dmiPluginIdentifier,
+                                                                     final boolean outputAlternateId) {
+        return cmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier(dmiPluginIdentifier, outputAlternateId);
     }
 
     /**
@@ -90,10 +93,10 @@
      * @param cmHandleQueryServiceParameters cm handle query parameters
      * @param outputAlternateId              Boolean for cm handle reference type either
      *                                       cm handle id (false) or alternate id (true)
-     * @return                               collection of cm handle IDs
+     * @return                               collection of cm handle references
      */
     public Collection<String> executeParameterizedCmHandleIdSearch(
-        final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+        final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
         validateCmHandleQueryParameters(cmHandleQueryServiceParameters, InventoryQueryConditions.ALL_CONDITION_NAMES);
 
         return parameterizedCmHandleQueryService.queryCmHandleIdsForInventory(cmHandleQueryServiceParameters,
@@ -159,11 +162,11 @@
      * Retrieve cm handle ids for the given query parameters.
      *
      * @param cmHandleQueryApiParameters cm handle query parameters
-     * @param outputAlternateId boolean for cm handle reference type either cmHandleId (false) or AlternateId (true)
+     * @param outputAlternateId Boolean for cm handle reference type either cmHandleId (false) or AlternateId (true)
      * @return cm handle ids
      */
     public Collection<String> executeCmHandleIdSearch(final CmHandleQueryApiParameters cmHandleQueryApiParameters,
-                                                      final Boolean outputAlternateId) {
+                                                      final boolean outputAlternateId) {
         final CmHandleQueryServiceParameters cmHandleQueryServiceParameters = jsonObjectMapper.convertToValueType(
             cmHandleQueryApiParameters, CmHandleQueryServiceParameters.class);
         validateCmHandleQueryParameters(cmHandleQueryServiceParameters, CmHandleQueryConditions.ALL_CONDITION_NAMES);
@@ -224,4 +227,4 @@
                 .getEffectiveTrustLevel(ncmpServiceCmHandle.getCmHandleId()));
     }
 
-}
+}
\ No newline at end of file
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelper.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelper.java
index f1dc9af..a0d8964 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelper.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/utils/DmiDataOperationsHelper.java
@@ -71,8 +71,8 @@
         final Map<String, List<DmiDataOperation>> dmiDataOperationsOutPerDmiServiceName = new HashMap<>();
         final MultiValueMap<DmiDataOperation, Map<NcmpResponseStatus,
                 List<String>>> cmHandleReferencesPerResponseCodesPerOperation = new LinkedMultiValueMap<>();
-        final Map<String, String> nonReadyCmHandleReferencesLookup =
-            filterAndGetNonReadyCmHandleReferences(yangModelCmHandles);
+        final Map<String, String> nonReadyAlternateIdPerCmHandleId =
+            filterAndGetNonReadyAlternateIdPerCmHandleId(yangModelCmHandles);
 
         final Map<String, Map<String, Map<String, String>>> dmiPropertiesPerCmHandleIdPerServiceName =
                 DmiServiceNameOrganizer.getDmiPropertiesPerCmHandleIdPerServiceName(yangModelCmHandles);
@@ -87,8 +87,8 @@
             final List<String> nonExistingCmHandleReferences = new ArrayList<>();
             final List<String> nonReadyCmHandleReferences = new ArrayList<>();
             for (final String cmHandleReference : dataOperationDefinitionIn.getCmHandleReferences()) {
-                if (nonReadyCmHandleReferencesLookup.containsKey(cmHandleReference)
-                    || nonReadyCmHandleReferencesLookup.containsValue(cmHandleReference)) {
+                if (nonReadyAlternateIdPerCmHandleId.containsKey(cmHandleReference)
+                    || nonReadyAlternateIdPerCmHandleId.containsValue(cmHandleReference)) {
                     nonReadyCmHandleReferences.add(cmHandleReference);
                 } else {
                     final String cmHandleId = getCmHandleId(cmHandleReference, yangModelCmHandles);
@@ -184,7 +184,7 @@
         return dmiBatchOperationsOut.get(dmiBatchOperationsOut.size() - 1);
     }
 
-    private static Map<String, String> filterAndGetNonReadyCmHandleReferences(
+    private static Map<String, String> filterAndGetNonReadyAlternateIdPerCmHandleId(
         final Collection<YangModelCmHandle> yangModelCmHandles) {
         final Map<String, String> cmHandleReferenceMap = new HashMap<>(yangModelCmHandles.size());
         for (final YangModelCmHandle yangModelCmHandle: yangModelCmHandles) {
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryService.java
index 86e9c93..74c0492 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryService.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryService.java
@@ -36,7 +36,7 @@
      * @return Ids of Cm Handles which have these private properties
      */
     Collection<String> queryCmHandleAdditionalProperties(Map<String, String> additionalPropertyQueryPairs,
-                                                         Boolean outputAlternateId);
+                                                         boolean outputAlternateId);
 
     /**
      * Query Cm Handles based on public properties.
@@ -46,7 +46,7 @@
      * @return CmHandles which have these public properties
      */
     Collection<String> queryCmHandlePublicProperties(Map<String, String> publicPropertyQueryPairs,
-                                                     Boolean outputAlternateId);
+                                                     boolean outputAlternateId);
 
     /**
      * Query Cm Handles based on Trust Level.
@@ -56,7 +56,7 @@
      * @return Ids of Cm Handles which have desired trust level
      */
     Collection<String> queryCmHandlesByTrustLevel(Map<String, String> trustLevelPropertyQueryPairs,
-                                                  Boolean outputAlternateId);
+                                                  boolean outputAlternateId);
 
     /**
      * Method which returns cm handles by the cm handles state.
@@ -100,19 +100,21 @@
     Collection<DataNode> queryCmHandlesByOperationalSyncState(DataStoreSyncState dataStoreSyncState);
 
     /**
-     * Get all cm handles ids by DMI plugin identifier.
+     * Get collection of all cm handles references by DMI plugin identifier and alternate id output option.
      *
      * @param dmiPluginIdentifier DMI plugin identifier
+     * @param outputAlternateId   Boolean for cm handle reference type either cmHandleId (false) or AlternateId (true)
      * @return collection of cm handle ids
      */
-    Collection<String> getCmHandleIdsByDmiPluginIdentifier(String dmiPluginIdentifier);
+    Collection<String> getCmHandleReferencesByDmiPluginIdentifier(String dmiPluginIdentifier,
+                                                                  boolean outputAlternateId);
 
     /**
-     * Get map of cmHandle ids and alternate ids by DMI plugin identifier.
+     * Get map of cmHandle references by DMI plugin identifier.
      *
      * @param dmiPluginIdentifier DMI plugin identifier
      * @return map of cmHandle references key:CmHandleId Value:AlternateId
      */
-    Map<String, String> getCmHandleReferencesByDmiPluginIdentifier(String dmiPluginIdentifier);
+    Map<String, String> getCmHandleReferencesMapByDmiPluginIdentifier(String dmiPluginIdentifier);
 
 }
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImpl.java
index 4249b45..1490d69 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImpl.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImpl.java
@@ -68,19 +68,19 @@
 
     @Override
     public Collection<String> queryCmHandleAdditionalProperties(final Map<String, String> privatePropertyQueryPairs,
-                                                                final Boolean outputAlternateId) {
+                                                                final boolean outputAlternateId) {
         return queryCmHandleAnyProperties(privatePropertyQueryPairs, PropertyType.ADDITIONAL, outputAlternateId);
     }
 
     @Override
     public Collection<String> queryCmHandlePublicProperties(final Map<String, String> publicPropertyQueryPairs,
-                                                            final Boolean outputAlternateId) {
+                                                            final boolean outputAlternateId) {
         return queryCmHandleAnyProperties(publicPropertyQueryPairs, PropertyType.PUBLIC, outputAlternateId);
     }
 
     @Override
     public Collection<String> queryCmHandlesByTrustLevel(final Map<String, String> trustLevelPropertyQueryPairs,
-                                                         final Boolean outputAlternateId) {
+                                                         final boolean outputAlternateId) {
         final String trustLevelProperty = trustLevelPropertyQueryPairs.values().iterator().next();
         final TrustLevel targetTrustLevel = TrustLevel.valueOf(trustLevelProperty);
         return getCmHandleReferencesByTrustLevel(targetTrustLevel, outputAlternateId);
@@ -122,20 +122,25 @@
     }
 
     @Override
-    public Collection<String> getCmHandleIdsByDmiPluginIdentifier(final String dmiPluginIdentifier) {
-        final Collection<String> cmHandleIds = new HashSet<>();
+    public Collection<String> getCmHandleReferencesByDmiPluginIdentifier(final String dmiPluginIdentifier,
+                                                                  final boolean outputAlternateId) {
+        final Collection<String> cmHandleReferences = new HashSet<>();
         for (final ModelledDmiServiceLeaves modelledDmiServiceLeaf : ModelledDmiServiceLeaves.values()) {
             for (final DataNode cmHandleAsDataNode: getCmHandlesByDmiPluginIdentifierAndDmiProperty(
                     dmiPluginIdentifier,
                     modelledDmiServiceLeaf.getLeafName())) {
-                cmHandleIds.add(cmHandleAsDataNode.getLeaves().get("id").toString());
+                if (outputAlternateId) {
+                    cmHandleReferences.add(cmHandleAsDataNode.getLeaves().get(ALTERNATE_ID).toString());
+                } else {
+                    cmHandleReferences.add(cmHandleAsDataNode.getLeaves().get("id").toString());
+                }
             }
         }
-        return cmHandleIds;
+        return cmHandleReferences;
     }
 
     @Override
-    public Map<String, String> getCmHandleReferencesByDmiPluginIdentifier(final String dmiPluginIdentifier) {
+    public Map<String, String> getCmHandleReferencesMapByDmiPluginIdentifier(final String dmiPluginIdentifier) {
         final Map<String, String> cmHandleReferencesMap = new HashMap<>();
         for (final ModelledDmiServiceLeaves modelledDmiServiceLeaf : ModelledDmiServiceLeaves.values()) {
             for (final DataNode cmHandleAsDataNode: getCmHandlesByDmiPluginIdentifierAndDmiProperty(
@@ -149,21 +154,21 @@
     }
 
     private Collection<String> getCmHandleReferencesByTrustLevel(final TrustLevel targetTrustLevel,
-                                                                 final Boolean outputAlternateId) {
+                                                                 final boolean outputAlternateId) {
         final Collection<String> selectedCmHandleReferences = new HashSet<>();
 
         for (final Map.Entry<String, TrustLevel> mapEntry : trustLevelPerDmiPlugin.entrySet()) {
             final String dmiPluginIdentifier = mapEntry.getKey();
             final TrustLevel dmiTrustLevel = mapEntry.getValue();
             final Map<String, String> candidateCmHandleReferences =
-                getCmHandleReferencesByDmiPluginIdentifier(dmiPluginIdentifier);
+                getCmHandleReferencesMapByDmiPluginIdentifier(dmiPluginIdentifier);
             for (final Map.Entry<String, String> candidateCmHandleReference : candidateCmHandleReferences.entrySet()) {
                 final TrustLevel candidateCmHandleTrustLevel =
                     trustLevelPerCmHandle.get(candidateCmHandleReference.getKey());
                 final TrustLevel effectiveTrustlevel =
                     candidateCmHandleTrustLevel.getEffectiveTrustLevel(dmiTrustLevel);
                 if (targetTrustLevel.equals(effectiveTrustlevel)) {
-                    if (Boolean.TRUE.equals(outputAlternateId)) {
+                    if (outputAlternateId) {
                         selectedCmHandleReferences.add(candidateCmHandleReference.getValue());
                     } else {
                         selectedCmHandleReferences.add(candidateCmHandleReference.getKey());
@@ -175,8 +180,8 @@
     }
 
     private Collection<String> collectCmHandleReferencesFromDataNodes(final Collection<DataNode> dataNodes,
-                                                               final Boolean outputAlternateId) {
-        if (Boolean.TRUE.equals(outputAlternateId)) {
+                                                               final boolean outputAlternateId) {
+        if (outputAlternateId) {
             return dataNodes.stream().map(dataNode ->
                 (String) dataNode.getLeaves().get(ALTERNATE_ID)).collect(Collectors.toSet());
         } else {
@@ -187,7 +192,7 @@
 
     private Collection<String> queryCmHandleAnyProperties(
         final Map<String, String> propertyQueryPairs,
-        final PropertyType propertyType, final Boolean outputAlternateId) {
+        final PropertyType propertyType, final boolean outputAlternateId) {
         if (propertyQueryPairs.isEmpty()) {
             return Collections.emptySet();
         }
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java
index de8e8e8..61d7df9 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistence.java
@@ -162,7 +162,7 @@
      * @return Collection of CM handle Ids
      */
     Collection<String> getCmHandleReferencesWithGivenModules(Collection<String> moduleNamesForQuery,
-                                                             Boolean outputAlternateIds);
+                                                             boolean outputAlternateIds);
 
     /**
      * Check database if cm handle id exists if not return false.
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java
index d73fae9..c4765ff 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImpl.java
@@ -218,8 +218,8 @@
 
     @Override
     public Collection<String> getCmHandleReferencesWithGivenModules(final Collection<String> moduleNamesForQuery,
-                                                                    final Boolean outputAlternateIds) {
-        if (Boolean.TRUE.equals(outputAlternateIds)) {
+                                                                    final boolean outputAlternateIds) {
+        if (outputAlternateIds) {
             final Collection<String> cmHandleIds =
                 cpsAnchorService.queryAnchorNames(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, moduleNamesForQuery);
             return getAlternateIdsFromDataNodes(getCmHandleDataNodes(cmHandleIds));
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryService.java
index 8301579..3db4920 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryService.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryService.java
@@ -38,7 +38,7 @@
      * @return collection of cm handle ids or alternate ids
      */
     Collection<String> queryCmHandleReferenceIds(CmHandleQueryServiceParameters cmHandleQueryServiceParameters,
-                                                 Boolean outputAlternateId);
+                                                 boolean outputAlternateId);
 
     /**
      * Query and return cm handle ids or alternate ids that match the given query parameters.
@@ -54,7 +54,7 @@
      * @return collection of cm handle ids
      */
     Collection<String> queryCmHandleIdsForInventory(CmHandleQueryServiceParameters cmHandleQueryServiceParameters,
-                                                    Boolean outputAlternateId);
+                                                    boolean outputAlternateId);
 
     /**
      * Query and return cm handle objects that match the given query parameters.
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java
index bacbbe0..c0d4b08 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceImpl.java
@@ -63,7 +63,7 @@
     @Override
     public Collection<String> queryCmHandleReferenceIds(
         final CmHandleQueryServiceParameters cmHandleQueryServiceParameters,
-        final Boolean outputAlternateId) {
+        final boolean outputAlternateId) {
         return executeQueries(cmHandleQueryServiceParameters, outputAlternateId,
             this::executeCpsPathQuery,
             this::queryCmHandlesByPublicProperties,
@@ -74,7 +74,7 @@
     @Override
     public Collection<String> queryCmHandleIdsForInventory(
             final CmHandleQueryServiceParameters cmHandleQueryServiceParameters,
-            final Boolean outputAlternateId) {
+            final boolean outputAlternateId) {
         return executeQueries(cmHandleQueryServiceParameters, outputAlternateId,
                 this::executeCpsPathQuery,
                 this::queryCmHandlesByPublicProperties,
@@ -102,7 +102,7 @@
     }
 
     private Collection<String> queryCmHandlesByDmiPlugin(
-            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
         final Map<String, String> dmiPropertyQueryPairs =
                 getPropertyPairs(cmHandleQueryServiceParameters.getCmHandleQueryParameters(),
                         InventoryQueryConditions.CM_HANDLE_WITH_DMI_PLUGIN.getName());
@@ -113,15 +113,17 @@
         final String dmiPluginIdentifierValue = dmiPropertyQueryPairs
             .get(PropertyType.DMI_PLUGIN.getYangContainerName());
 
-        if (Boolean.TRUE.equals(outputAlternateId)) {
-            return cmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier(dmiPluginIdentifierValue).values();
+        if (outputAlternateId) {
+            return
+                cmHandleQueryService.getCmHandleReferencesMapByDmiPluginIdentifier(dmiPluginIdentifierValue).values();
         } else {
-            return cmHandleQueryService.getCmHandleIdsByDmiPluginIdentifier(dmiPluginIdentifierValue);
+            return cmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier(dmiPluginIdentifierValue,
+                outputAlternateId);
         }
     }
 
     private Collection<String> queryCmHandlesByPrivateProperties(
-            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
 
         final Map<String, String> privatePropertyQueryPairs =
                 getPropertyPairs(cmHandleQueryServiceParameters.getCmHandleQueryParameters(),
@@ -134,7 +136,7 @@
     }
 
     private Collection<String> queryCmHandlesByPublicProperties(
-            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
 
         final Map<String, String> publicPropertyQueryPairs =
                 getPropertyPairs(cmHandleQueryServiceParameters.getCmHandleQueryParameters(),
@@ -148,7 +150,7 @@
 
     private Collection<String> queryCmHandlesByTrustLevel(final CmHandleQueryServiceParameters
                                                                   cmHandleQueryServiceParameters,
-                                                          final Boolean outputAlternateId) {
+                                                          final boolean outputAlternateId) {
 
         final Map<String, String> trustLevelPropertyQueryPairs =
                 getPropertyPairs(cmHandleQueryServiceParameters.getCmHandleQueryParameters(),
@@ -161,7 +163,7 @@
     }
 
     private Collection<String> executeModuleNameQuery(
-            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
         final Collection<String> moduleNamesForQuery =
                 getModuleNamesForQuery(cmHandleQueryServiceParameters.getCmHandleQueryParameters());
         if (moduleNamesForQuery.isEmpty()) {
@@ -171,7 +173,7 @@
     }
 
     private Collection<String> executeCpsPathQuery(
-            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final Boolean outputAlternateId) {
+            final CmHandleQueryServiceParameters cmHandleQueryServiceParameters, final boolean outputAlternateId) {
         final Map<String, String> cpsPathCondition
             = getCpsPathCondition(cmHandleQueryServiceParameters.getCmHandleQueryParameters());
         if (!validateCpsPathConditionProperties(cpsPathCondition)) {
@@ -225,7 +227,7 @@
         return Collections.emptyList();
     }
 
-    private Collection<String> getAllCmHandleReferences(final Boolean outputAlternateId) {
+    private Collection<String> getAllCmHandleReferences(final boolean outputAlternateId) {
         final DataNode dataNode = inventoryPersistence.getDataNode(NCMP_DMI_REGISTRY_PARENT, DIRECT_CHILDREN_ONLY)
             .iterator().next();
         return collectCmHandleReferencesFromDataNodes(dataNode.getChildDataNodes(), outputAlternateId);
@@ -248,7 +250,7 @@
     }
 
     private Collection<String> executeQueries(final CmHandleQueryServiceParameters cmHandleQueryServiceParameters,
-                                              final Boolean outputAlternateId,
+                                              final boolean outputAlternateId,
                                               final BiFunction<CmHandleQueryServiceParameters, Boolean,
                                                   Collection<String>>... queryFunctions) {
         if (cmHandleQueryServiceParameters.getCmHandleQueryParameters().isEmpty()) {
@@ -286,8 +288,8 @@
     }
 
     private Collection<String> collectCmHandleReferencesFromDataNodes(final Collection<DataNode> dataNodes,
-                                                               final Boolean outputAlternateId) {
-        if (Boolean.TRUE.equals(outputAlternateId)) {
+                                                               final boolean outputAlternateId) {
+        if (outputAlternateId) {
             return dataNodes.stream().map(dataNode ->
                 (String) dataNode.getLeaves().get("alternate-id")).collect(Collectors.toSet());
         } else {
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/trustlevel/DmiPluginTrustLevelWatchDog.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/trustlevel/DmiPluginTrustLevelWatchDog.java
index 7581c4a..aca485f 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/trustlevel/DmiPluginTrustLevelWatchDog.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/inventory/trustlevel/DmiPluginTrustLevelWatchDog.java
@@ -66,7 +66,7 @@
                 log.debug("The Dmi Plugin: {} has already the same trust level: {}", dmiServiceName, newDmiTrustLevel);
             } else {
                 final Collection<String> cmHandleIds =
-                    cmHandleQueryService.getCmHandleIdsByDmiPluginIdentifier(dmiServiceName);
+                    cmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier(dmiServiceName, false);
                 trustLevelManager.updateDmi(dmiServiceName, cmHandleIds, newDmiTrustLevel);
             }
         });
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImplSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImplSpec.groovy
index 0c50e3d..ce08156 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImplSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/CmHandleQueryServiceImplSpec.groovy
@@ -199,22 +199,26 @@
             assert result.contains(cmHandleDataNode)
     }
 
-    def 'Get all cm handles by dmi plugin identifier'() {
+    def 'Get all cm handles by dmi plugin identifier and alternate id output option where #scenario'() {
         given: 'the DataNodes queried for a given cpsPath are returned from the persistence service.'
             mockResponses()
-        when: 'cm Handles are fetched for a given dmi plugin identifier'
-            def result = objectUnderTest.getCmHandleIdsByDmiPluginIdentifier('my-dmi-plugin-identifier')
+        when: 'cm Handles are fetched for a given dmi plugin identifier and alternate id output option'
+            def result = objectUnderTest.getCmHandleReferencesByDmiPluginIdentifier('my-dmi-plugin-identifier', outputAlternateId)
         then: 'result is the correct size'
             assert result.size() == 3
         and: 'result contains the correct cm handles'
-            assert result.containsAll('PNFDemo', 'PNFDemo2', 'PNFDemo4')
+            assert result.containsAll(expectedResult)
+        where:
+            scenario                        | outputAlternateId || expectedResult
+            'output is for alternate ids'   | true              || ['alt-PNFDemo', 'alt-PNFDemo2', 'alt-PNFDemo4']
+            'output is for cm handle ids'   | false             || ['PNFDemo', 'PNFDemo2', 'PNFDemo4']
     }
 
     def 'Get all alternateIds by dmi plugin identifier'() {
         given: 'the DataNodes queried for a given cpsPath are returned from the persistence service.'
             mockResponses()
         when: 'cm Handles are fetched for a given dmi plugin identifier'
-            def result = objectUnderTest.getCmHandleReferencesByDmiPluginIdentifier('my-dmi-plugin-identifier').values()
+            def result = objectUnderTest.getCmHandleReferencesMapByDmiPluginIdentifier('my-dmi-plugin-identifier').values()
         then: 'result is the correct size'
             assert result.size() == 3
         and: 'result contains the correct alternate Ids'
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImplSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImplSpec.groovy
index 34d9374..00f092f 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImplSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/InventoryPersistenceImplSpec.groovy
@@ -381,9 +381,7 @@
     def 'Check if cm handle exists for a given cm handle id'() {
         given: 'data service returns a datanode with correct cm handle id'
             mockCpsDataService.getDataNodes(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR, xpath, INCLUDE_ALL_DESCENDANTS) >> [dataNode]
-        when: 'method is called to check if cm handle exists from cm handle id'
-            def result = objectUnderTest.isExistingCmHandleId('some-cm-handle')
-        then: 'check if cm handle id in datanode is equal to given cm handle id'
-            assert result == true
+        expect: 'cm handle exists for given cm handle id'
+            assert true == objectUnderTest.isExistingCmHandleId('some-cm-handle')
     }
 }
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/NetworkCmProxyInventoryFacadeSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/NetworkCmProxyInventoryFacadeSpec.groovy
index 4c554c6..282bd9e 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/NetworkCmProxyInventoryFacadeSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/NetworkCmProxyInventoryFacadeSpec.groovy
@@ -78,15 +78,20 @@
             assert result.contains('cmHandle2')
     }
 
-    def 'Get all cm handle IDs by DMI plugin identifier.' () {
-        given: 'cm handle queries service returns cm handles'
-            1 * mockCmHandleQueryService.getCmHandleIdsByDmiPluginIdentifier('some-dmi-plugin-identifier') >> ['cm-handle-1','cm-handle-2']
-        when: 'cm handle Ids are requested with dmi plugin identifier'
-            def result = objectUnderTest.getAllCmHandleIdsByDmiPluginIdentifier('some-dmi-plugin-identifier')
+    def 'Get all cm handle references by DMI plugin identifier and alternate id output option where #scenario.' () {
+        given: 'cm handle queries service returns cm handle references'
+            mockCmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier('some-dmi-plugin-identifier', false) >> ['cm-handle-1','cm-handle-2']
+            mockCmHandleQueryService.getCmHandleReferencesByDmiPluginIdentifier('some-dmi-plugin-identifier', true) >> ['alternate-id-1','alternate-id-2']
+        when: 'cm handle references are requested with dmi plugin identifier and alternate id output option'
+            def result = objectUnderTest.getAllCmHandleReferencesByDmiPluginIdentifier('some-dmi-plugin-identifier', outputAlternateId)
         then: 'the result size is correct'
             assert result.size() == 2
         and: 'the result returns the correct details'
-            assert result.containsAll('cm-handle-1','cm-handle-2')
+            assert result.containsAll(expectedResult)
+        where:
+            scenario                        | outputAlternateId || expectedResult
+            'output is for alternate ids'   | true              || ['alternate-id-1', 'alternate-id-2']
+            'output is for cm handle ids'   | false             || ['cm-handle-1','cm-handle-2']
     }
 
     def 'Getting Yang Resources for a given #scenario'() {
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy
index 9a81807..0c44196 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/inventory/ParameterizedCmHandleQueryServiceSpec.groovy
@@ -200,22 +200,31 @@
             'additional properties, no matching cm handles'   | 'hasAllAdditionalProperties' | null                                  | []                                     || 0
     }
 
-    def 'Retrieve CMHandleIds by different DMI properties with #scenario.' () {
+    def 'Retrieve alternate ids by different DMI properties.' () {
         given: 'a query object created with dmi plugin as condition'
             def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
             def conditionProperties = createConditionProperties('cmHandleWithDmiPlugin', [['some-key': 'some-value']])
             cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
         and: 'the inventoryPersistence returns different CmHandleIds'
-            partiallyMockedCmHandleQueries.getCmHandleIdsByDmiPluginIdentifier(*_) >> cmHandleQueryResult
-            partiallyMockedCmHandleQueries.getCmHandleReferencesByDmiPluginIdentifier(*_) >> cmHandleQueryResult
+            partiallyMockedCmHandleQueries.getCmHandleReferencesMapByDmiPluginIdentifier(*_) >> [:]
         when: 'the query executed'
-            def result = objectUnderTestWithPartiallyMockedQueries.queryCmHandleIdsForInventory(cmHandleQueryParameters, outputAlternateId)
+            def result = objectUnderTestWithPartiallyMockedQueries.queryCmHandleIdsForInventory(cmHandleQueryParameters, true)
         then: 'the expected number of results are returned.'
-            assert result.size() == expectedCmHandleIdsSize
-        where: 'the following data is used'
-            scenario       | cmHandleQueryResult | outputAlternateId || expectedCmHandleIdsSize
-            'some matches' | ['h1','h2']         | false             || 2
-            'no matches'   | [:]                  | true              || 0
+            assert result.size() == 0
+    }
+
+    def 'Retrieve cm handle ids by different DMI properties.' () {
+        given: 'a query object created with dmi plugin as condition'
+            def cmHandleQueryParameters = new CmHandleQueryServiceParameters()
+            def conditionProperties = createConditionProperties('cmHandleWithDmiPlugin', [['some-key': 'some-value']])
+            cmHandleQueryParameters.setCmHandleQueryParameters([conditionProperties])
+        and: 'the inventoryPersistence returns different CmHandleIds'
+            partiallyMockedCmHandleQueries.getCmHandleReferencesByDmiPluginIdentifier(_, _) >> ['h1','h2']
+        when: 'the query executed'
+            def result = objectUnderTestWithPartiallyMockedQueries.queryCmHandleIdsForInventory(cmHandleQueryParameters, false)
+        then: 'the expected number of results are returned.'
+            assert result.size() == 2
+
     }
 
     def 'Combine two query results where #scenario.'() {
diff --git a/docs/api/swagger/ncmp/openapi-inventory.yaml b/docs/api/swagger/ncmp/openapi-inventory.yaml
index c72f47a..d358719 100644
--- a/docs/api/swagger/ncmp/openapi-inventory.yaml
+++ b/docs/api/swagger/ncmp/openapi-inventory.yaml
@@ -86,8 +86,8 @@
       - network-cm-proxy-inventory
   /v1/ch/cmHandles:
     get:
-      description: Get all cm handle IDs for a registered DMI plugin
-      operationId: getAllCmHandleIdsForRegisteredDmi
+      description: Get all cm handle references for a registered DMI plugin
+      operationId: getAllCmHandleReferencesForRegisteredDmi
       parameters:
       - description: dmi-plugin-identifier
         in: query
@@ -96,6 +96,14 @@
         schema:
           example: my-dmi-plugin
           type: string
+      - description: Boolean parameter to determine if returned value(s) will be cm
+          handle Ids or alternate Ids for a given query
+        in: query
+        name: outputAlternateId
+        required: false
+        schema:
+          default: false
+          type: boolean
       responses:
         "200":
           content:
@@ -125,19 +133,19 @@
               schema:
                 $ref: '#/components/schemas/ErrorMessage'
           description: Internal Server Error
-      summary: "Get all cm handle IDs for a registered DMI plugin (DMI plugin, DMI\
-        \ data plugin, DMI model plugin)"
+      summary: "Get all cm handle references for a registered DMI plugin (DMI plugin,\
+        \ DMI data plugin, DMI model plugin)"
       tags:
       - network-cm-proxy-inventory
   /v1/ch/searches:
     post:
-      description: "Query and get CMHandle references for additional properties, public\
-        \ properties and registered DMI plugin (DMI plugin, DMI data plugin, DMI model\
-        \ plugin)."
+      description: "Query and get cm handle references for additional properties,\
+        \ public properties and registered DMI plugin (DMI plugin, DMI data plugin,\
+        \ DMI model plugin)."
       operationId: searchCmHandleIds
       parameters:
       - description: Boolean parameter to determine if returned value(s) will be cm
-          handle references for a given query
+          handle Ids or alternate Ids for a given query
         in: query
         name: outputAlternateId
         required: false
@@ -193,8 +201,8 @@
         example: my-dmi-plugin
         type: string
     outputAlternateIdOptionInQuery:
-      description: Boolean parameter to determine if returned value(s) will be cmHandle
-        Ids or Alternate Ids for a given query
+      description: Boolean parameter to determine if returned value(s) will be cm
+        handle Ids or alternate Ids for a given query
       in: query
       name: outputAlternateId
       required: false
diff --git a/docs/api/swagger/ncmp/openapi.yaml b/docs/api/swagger/ncmp/openapi.yaml
index 024aed6..aa84e43 100644
--- a/docs/api/swagger/ncmp/openapi.yaml
+++ b/docs/api/swagger/ncmp/openapi.yaml
@@ -1142,7 +1142,7 @@
       operationId: searchCmHandleIds
       parameters:
       - description: Boolean parameter to determine if returned value(s) will be cm
-          handle references for a given query
+          handle Ids or alternate Ids for a given query
         in: query
         name: outputAlternateId
         required: false
@@ -1619,7 +1619,7 @@
         type: string
     outputAlternateIdOptionInQuery:
       description: Boolean parameter to determine if returned value(s) will be cm
-        handle references for a given query
+        handle Ids or alternate Ids for a given query
       in: query
       name: outputAlternateId
       required: false
@@ -1790,7 +1790,7 @@
         targetIds:
           items:
             description: "targeted cm handle references, maximum of 200 supported.\
-              \ If this limit is exceeded the request wil be refused."
+              \ If this limit is exceeded the request will be refused."
             example: "[\"da310eecdb8d44c2acc0ddaae01174b1\",\"c748c58f8e0b438f9fd1f28370b17d47\"\
               ]"
             type: string