AnsweredAssumed Answered

JavaScript Plug-in CMRest out of range of int

Question asked by Shaik Khalid Akram Akbar Employee on Nov 6, 2018
Latest reply on Nov 9, 2018 by Shaik Khalid Akram Akbar

Hi all,

 

In the  Configuration manager Plugin javascript code I am querying the  LDEVs via Objects API

 

See below sample line of code  pVolStorageDeviceID and curange are  variable (In my case curange = 256)

 

Code sample

//switching to object API

      var client = new api.ObjectsApi();

    client.getApiClient().setApiKeyPrefix("Session");

    client.getApiClient().setApiKey(token); 

   

   var ldevinfoObj = client.v1.objects.storages.storageDeviceID.ldevs.get(pVolStorageDeviceID, null, null, null, null, null, null, 256, null, null, curange, null, null);

 

Error

Caused by: com

0892 2018/11/06 12:46:26.431     Automation       3AF37506 32E03AD8 KNAE10100-E      EC   .fasterxml.jackson.core.JsonParseException: Numeric value (2510032896) out of range of int

at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@31f11acd; line: 1621, column: 34]

 

Somehow the JSON property values is not being able to be stored in a variable because of an out of range integer value.

 

When I do a Manual REST API Call indeed there is a property value "numOfUsedBlock" : 2510032896

 

REST API Call O/p

{

  "data" : [ {

    "ldevId" : 256,

    "virtualLdevId" : 256,

    "clprId" : 0,

    "emulationType" : "OPEN-V-CVS",

    "byteFormatCapacity" : "2.00 T",

    "blockCapacity" : 4294967296,

    "numOfPorts" : 2,

    "ports" : [ {

      "portId" : "CL1-A",

      "hostGroupNumber" : 1,

      "hostGroupName" : "HDS-BE-LAB",

      "lun" : 0

    }, {

      "portId" : "CL2-A",

      "hostGroupNumber" : 1,

      "hostGroupName" : "HDS-BE-LAB",

      "lun" : 0

    } ],

    "attributes" : [ "CVS", "HDP", "GAD" ],

    "label" : "BEBRU-ESX",

    "status" : "NML",

    "mpBladeId" : 2,

    "ssid" : "0005",

    "poolId" : 0,

    "numOfUsedBlock" : 2510032896,

    "isFullAllocationEnabled" : false,

    "resourceGroupId" : 1,

    "dataReductionStatus" : "DISABLED",

    "dataReductionMode" : "disabled",

    "isAluaEnabled" : false

  },

 

Is there a way to circumvent this issue - and be able to store the o/p of the get.ldev in a variable within the JS code.

 

Thanks,

Akram.

Outcomes