cloudmunch_sdk 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36a38d8d8e000e50ac9870842a1229e2d5bb9042
4
- data.tar.gz: 06423db69134e17de4ce9f144311af581d068ef7
3
+ metadata.gz: 62f77e9360bb900fb478f2f53f126f0ec8415370
4
+ data.tar.gz: 64405240eb61c16234e7f5aa043c79f7cd6e235a
5
5
  SHA512:
6
- metadata.gz: d2e7116f2a090bf75cf02f5faee460401e3c80bf1c31b7b0cdf5f6ca8de9adfe618ef96679bc9b84ce786ce4cea26c13180875e78cee067e42cb7137049468c2
7
- data.tar.gz: aa774849017e8e65f594805c94d6c6b4d6536d5ebf117404492690c67b9653b6e1405b3fb429046504bbd7de1fee44c308744be7edd6191d68c4c1abc2ea4b09
6
+ metadata.gz: cda6786a698876f0742d58857c4b9e0c6a4d5ae4ffbced16dd74ac0cc740f7bf0cac41c3a642822e56bcc89b6d968e1d7872b19d5407367721a32535ffaa73c7
7
+ data.tar.gz: a7817398062304b3a6f246107eb34c7dbd1da81a926c2a0a6b115acc7c3add3dad4d4ebe257c721de46c3354532fbdc8a2f1f399ecdb4de410e15e89a03f491a
@@ -62,7 +62,8 @@ class AppAbstract
62
62
 
63
63
  def getCloudmunchService()
64
64
  # @cloudmunchservice = @cloudmunchservice ? @cloudmunchservice : CloudmunchService.new(@var_input)
65
- @cloudmunchservice = @cloudmunchservice ? @cloudmunchservice : CloudmunchService.initialize(@appContext)
65
+ # @cloudmunchservice = @cloudmunchservice ? @cloudmunchservice : CloudmunchService.initialize(@appContext)
66
+ @cloudmunchservice = self.extend(CloudmunchService)
66
67
  return @cloudmunchservice
67
68
  end
68
69
  def openJSONFile(fileNameWithPath)
@@ -80,8 +81,7 @@ class AppAbstract
80
81
  return serviceProvider
81
82
  end
82
83
 
83
- def getAppContext(var_input)
84
-
84
+ def getAppContext()
85
85
  return @appContext
86
86
  end
87
87
 
@@ -8,96 +8,700 @@ require_relative "Util"
8
8
 
9
9
  module CloudmunchService
10
10
  include Util
11
- def self.initialize(appcontext)
12
- @applicationContext=appcontext
11
+
12
+ # def self.initialize(appcontext)
13
+ # @appContext=appcontext
14
+ # end
15
+
16
+ def getDataStoreID(insightID, dataStoreName)
17
+ if insightID.nil? || dataStoreName.nil?
18
+ log("DEBUG", "insight id and datastore name is needed to get datastore id")
19
+ return nil
20
+ end
21
+
22
+ paramHash = Hash.new
23
+ paramHash["insightID"] = insightID
24
+ paramHash["filter"] = {"name" => dataStoreName}
25
+ paramHash["count"] = 1
26
+ paramHash["fields"] = "id"
27
+
28
+ dataStore = getInsightDataStores(paramHash)
29
+ if dataStore.nil? || !dataStore.any?
30
+ log("DEBUG", "Data store with name "+dataStoreName+" does not exist")
31
+ return nil
32
+ else
33
+ return dataStore[0]["id"]
34
+ end
13
35
  end
14
36
 
15
- def updateCloudmunchData(context,contextid,data)
16
-
17
- serverurl=@applicationContext.get_data("{master_url}")+"/applications/"+@applicationContext.get_data("{application}")+"/"+context+"/"+contextid;
18
- serverurl=serverurl+"?apikey="+@applicationContext.get_data("{api_key}")
19
- uri = URI.parse(serverurl)
20
-
21
- response= Net::HTTP.post_form(uri,"data" => data.to_json)
22
-
23
- return response.body
24
- end
37
+ def getReportID(insightID, reportName)
38
+ if insightID.nil? || reportName.nil?
39
+ log("DEBUG", "insight id and report name is needed to get report id")
40
+ return nil
41
+ end
42
+
43
+ paramHash = Hash.new
44
+ paramHash["insightID"] = insightID
45
+ paramHash["filter"] = {"name" => reportName}
46
+ paramHash["count"] = 1
47
+ paramHash["fields"] = "id"
48
+
49
+ report = getInsightReports(paramHash)
50
+ if report.nil? || !report.any?
51
+ log("DEBUG", "Report with name "+reportName+" does not exist")
52
+ return nil
53
+ else
54
+ return report[0]["id"]
55
+ end
56
+ end
57
+
58
+ def getExtractID(insightID, dataStoreID, extractName)
59
+ if insightID.nil? || dataStoreID.nil? || extractName.nil?
60
+ log("DEBUG", "insight id, datastore id and extract name is needed to get extract id")
61
+ return nil
62
+ end
25
63
 
64
+ extract = nil
65
+ paramHash = Hash.new
66
+ paramHash["insightID"] = insightID
67
+ paramHash["dataStoreID"] = dataStoreID
68
+ paramHash["filter"] = {"name" => extractName}
69
+ paramHash["count"] = 1
70
+ paramHash["fields"] = "id"
26
71
 
72
+ extract = getInsightDataStoreExtracts(paramHash)
73
+ if extract.nil? || !extract.any?
74
+ log("DEBUG", "Data store with name "+extractName+" does not exist")
75
+ return nil
76
+ else
77
+ return extract[0]["id"]
78
+ end
79
+ end
27
80
 
28
- def getCloudmunchData(context,contextid,filterdata)
29
- if contextid.nil? || contextid.empty?
30
- serverurl=@applicationContext.get_data("{master_url}")+"/applications/"+@applicationContext.get_data("{application}")+"/"+context
31
- else
32
- serverurl=@applicationContext.get_data("{master_url}")+"/applications/"+@applicationContext.get_data("{application}")+"/"+context+"/"+contextid;
81
+ def getReportCardID(insightID, reportID, cardName)
82
+ if insightID.nil? || reportID.nil? || cardName.nil?
83
+ log("DEBUG", "insight id, report id and card name is needed to get report card id")
84
+ return nil
85
+ end
86
+
87
+ card = nil
88
+ paramHash = Hash.new
89
+ paramHash["insightID"] = insightID
90
+ paramHash["reportID"] = reportID
91
+ paramHash["filter"] = {"name" => cardName}
92
+ paramHash["count"] = 1
93
+ paramHash["fields"] = "id"
94
+
95
+ card = getInsightReportCards(paramHash)
96
+ if card.nil? || !card.any?
97
+ log("DEBUG", "Report with name "+cardName+" does not exist")
98
+ return nil
99
+ else
100
+ return card[0]["id"]
101
+ end
102
+ end
103
+
104
+ def getKeyMetricID(insightID, reportID, keyMetricName)
105
+ extract = nil
106
+ paramHash = Hash.new
107
+ paramHash["insightID"] = insightID
108
+ paramHash["reportID"] = reportID
109
+ paramHash["filter"] = {"name" => keyMetricName}
110
+ paramHash["count"] = 1
111
+ paramHash["fields"] = "id"
112
+
113
+ keyMetric = getInsightReportCards(paramHash)
114
+ if keyMetric.nil? || !keyMetric.any?
115
+ log("DEBUG", "Report key metric with name "+keyMetricName+" does not exist")
116
+ return nil
117
+ else
118
+ return keyMetric[0]["id"]
119
+ end
120
+ end
121
+
122
+ def createInsight(insightName)
123
+ if !insightName.nil?
124
+ insightID = nil
125
+ insightID = getInsightID(insightName)
126
+
127
+ if !insightID.nil?
128
+ log("DEBUG", "Insight with name "+insightName+" already exists!")
129
+ return insightID
130
+ else
131
+ paramHash = {}
132
+ paramHash["context"] = "insights"
133
+ paramHash["data"] = {"name" => insightName}
134
+ insight = updateCloudmunchData(paramHash)
135
+
136
+ if insight["id"].nil?
137
+ log("DEBUG", "Unable to create insight : "+insightName+"! refer log for more details")
138
+ return nil
139
+ else
140
+ return insight["id"]
141
+ end
142
+ end
143
+ else
144
+ log("DEBUG", "Insights name is needed for creating an insight")
145
+ return nil
33
146
  end
34
- querystring=""
35
- if filterdata.nil? || filterdata.empty?
36
- serverurl=serverurl+"?apikey="+@applicationContext.get_data("{api_key}")
147
+ end
148
+
149
+ def createInsightDataStore(insightID, dataStoreName)
150
+ if !dataStoreName.nil? && !dataStoreName.empty? && !insightID.nil?
151
+ dataStoreID = nil
152
+ dataStoreID = getDataStoreID(insightID, dataStoreName)
153
+
154
+ if !dataStoreID.nil?
155
+ log("DEBUG", "Data store with name "+dataStoreName+" already exists!")
156
+ return dataStoreID
157
+ else
158
+ paramHash = {}
159
+ paramHash["context"] = "insights"
160
+ paramHash["contextID"] = insightID
161
+ paramHash["subContext"] = "datastores"
162
+ paramHash["data"] = {"name" => dataStoreName}
163
+ dataStore = updateCloudmunchData(paramHash)
164
+
165
+ if dataStore["id"].nil?
166
+ return nil
167
+ else
168
+ return dataStore["id"]
169
+ end
170
+ end
37
171
  else
38
- querystring="filter="+to_json($filerdata);
39
- serverurl=serverurl+"?"+querystring+"&apikey="+@applicationContext.get_data("{api_key}")
40
-
172
+ log("DEBUG", "Datastore name and insights id is needed for creating a data store")
173
+ return nil
174
+ end
175
+ end
176
+
177
+ def createInsightDataStoreExtract(insightID, dataStoreID, extractName)
178
+ if !extractName.nil? && !extractName.empty? && !insightID.nil? && !dataStoreID.nil?
179
+
180
+ extractID = nil
181
+ extractID = getExtractID(insightID, dataStoreID, extractName)
182
+
183
+ if !extractID.nil?
184
+ return extractID
185
+ else
186
+ paramHash = Hash.new
187
+ paramHash["context"] = "insights"
188
+ paramHash["contextID"] = insightID
189
+ paramHash["subContext"] = "datastores"
190
+ paramHash["subContextID"] = dataStoreID
191
+ paramHash["leafContext"] = "extracts"
192
+ paramHash["data"] = {"name" => extractName}
193
+
194
+ log("DEBUG", "Attempting creation of extract with name " + extractName + "...")
195
+ extract = updateCloudmunchData(paramHash)
196
+
197
+ if extract["id"].nil? then return nil else extract["id"] end
198
+ end
199
+ else
200
+ log("DEBUG", "Extract name, insights id and datastore id is needed for creating an extract")
201
+ return nil
41
202
  end
42
- uri = URI.parse(serverurl)
203
+ end
43
204
 
44
- return Net::HTTP.get(uri)
45
- end
205
+ def createInsightReportCard(insightID, reportID, cardName)
206
+ if !cardName.nil? && !cardName.empty? && !insightID.nil? && !reportID.nil?
46
207
 
47
-
48
- def deleteCloudmunchData(context,contextid)
49
- serverurl=@applicationContext.get_data("{master_url}")+"/applications/"+@applicationContext.get_data("{application}")+"/"+context+"/"+contextid;
50
- serverurl=serverurl+"?apikey="+@applicationContext.get_data("{api_key}")
51
- uri = URI.parse(serverurl)
52
- Net::HTTP::Delete(uri)
53
- end
208
+ cardID = nil
209
+ cardID = getReportCardID(insightID, reportID, cardName)
210
+
211
+ if !cardID.nil?
212
+ return cardID
213
+ else
214
+ paramHash = Hash.new
215
+ paramHash["context"] = "insights"
216
+ paramHash["contextID"] = insightID
217
+ paramHash["subContext"] = "insight_reports"
218
+ paramHash["subContextID"] = reportID
219
+ paramHash["leafContext"] = "insight_cards"
220
+ paramHash["data"] = {"name" => cardName}
54
221
 
222
+ log("DEBUG", "Attempting creation of report card with name " + cardName + "...")
223
+ card = updateCloudmunchData(paramHash)
55
224
 
225
+ if card["id"].nil? then return nil else card["id"] end
226
+ end
227
+ else
228
+ log("DEBUG", "Extract name, insight id and report id is needed for creating a report card")
229
+ return nil
230
+ end
231
+ end
56
232
 
233
+ def createInsightReportKeyMetric(insightID, reportID, keyMetricName)
234
+ if !keyMetricName.nil? && !keyMetricName.empty? && !insightID.nil? && !reportID.nil?
57
235
 
58
- def self.putCustomDataContext(server, endpoint, param)
59
- result = self.http_post(server, endpoint, param)
60
- #p result.code.to_s
61
- if result.code.to_s == "200"
62
- return true
236
+ keyMetricID = nil
237
+ keyMetricID = getReportKeyMetricID(insightID, reportID, keyMetricName)
238
+
239
+ if !keyMetricID.nil?
240
+ return keyMetricID
63
241
  else
64
- return false
65
- end
66
- end
242
+ paramHash = Hash.new
243
+ paramHash["context"] = "insights"
244
+ paramHash["contextID"] = insightID
245
+ paramHash["subContext"] = "insight_reports"
246
+ paramHash["subContextID"] = reportID
247
+ paramHash["leafContext"] = "insight_cards"
248
+ paramHash["data"] = {"name" => keyMetricName}
67
249
 
250
+ log("DEBUG", "Attempting creation of report key metric with name " + keyMetricName + "...")
251
+ keyMetric = updateCloudmunchData(paramHash)
68
252
 
69
- def self.getCustomDataContext(server, endpoint, param)
70
- return self.http_get(server, endpoint, param)
71
- end
253
+ if keyMetric["id"].nil? then return nil else keyMetric["id"] end
254
+ end
255
+ else
256
+ log("DEBUG", "Key metric name, insight id and report id is needed for creating a report key metric")
257
+ return nil
258
+ end
259
+ end
260
+
261
+ def createInsightReport(insightID, reportName)
262
+ if !reportName.nil? && !reportName.empty? && !insightID.nil?
72
263
 
73
- def self.http_get(server,path,params)
74
- if params.nil?
75
- return Net::HTTP.get(server, path)
264
+ reportID = nil
265
+ reportID = getExtractID(insightID, reportName)
266
+
267
+ if !reportID.nil?
268
+ return reportID
76
269
  else
77
- queryStr = "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))
78
- puts ("SDKDEBUG: Calling URL " + server+queryStr)
79
- uri = URI(server + "/" + queryStr)
80
- return Net::HTTP.get(uri)
270
+ paramHash = Hash.new
271
+ paramHash["context"] = "insights"
272
+ paramHash["contextID"] = insightID
273
+ paramHash["subContext"] = "insight_reports"
274
+ paramHash["data"] = {"name" => reportName}
275
+
276
+ log("DEBUG", "Attempting creation of report with name " + reportName + "...")
277
+ report = updateCloudmunchData(paramHash)
278
+
279
+ if report["id"].nil? then return nil else report["id"] end
81
280
  end
82
- end
83
-
84
- def self.http_post(server,path,params)
85
- queryStr = "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))
86
- puts ("SDKDEBUG: Calling URL " + server+queryStr)
87
- if params.nil?
88
- return Net::HTTP.post(server, path)
89
- else
90
- uri = URI(server + path)
91
- return Net::HTTP.post_form(uri, params)
281
+ else
282
+ log("DEBUG", "Report name and insight id is needed for creating a report")
283
+ return nil
284
+ end
285
+ end
286
+
287
+ def updateInsightDataStoreExtract(insightID, dataStoreID, data)
288
+ # /applications/{application_id}/insights/{insight_id}/datastores/{datastore_id}
289
+
290
+ if (insightID.nil? || insightID.empty?) && (dataStoreID.nil? || dataStoreID.empty?) && data.nil?
291
+ log("DEBUG", "Insight id, datastore id and data is needed to be update an existing data store")
292
+ return nil
293
+ end
294
+ paramHash = {}
295
+ paramHash["context"] = "insights"
296
+ paramHash["contextID"] = insightID
297
+ paramHash["subContext"] = "datastores"
298
+ paramHash["subContextID"] = dataStoreID
299
+ paramHash["data"] = data
300
+ return updateCloudmunchData(paramHash)
301
+ end
302
+
303
+ def updateInsightReport(insightID, reportID, data)
304
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}
305
+
306
+ if (insightID.nil? || insightID.empty?) && (reportID.nil? || reportID.empty?) && data.nil?
307
+ log("DEBUG", "Insight id, report id and data is needed to be update an existing report")
308
+ return nil
309
+ end
310
+ paramHash = {}
311
+ paramHash["context"] = "insights"
312
+ paramHash["contextID"] = insightID
313
+ paramHash["subContext"] = "insight_reports"
314
+ paramHash["subContextID"] = reportID
315
+ paramHash["data"] = data
316
+ return updateCloudmunchData(paramHash)
317
+ end
318
+
319
+ def updateInsightDataStoreExtract(insightID, dataStoreID, extractID, data)
320
+ # /insights/{insight_id}/datastores/{datastore_id}/extracts/{extract_id}
321
+
322
+ if (insightID.nil? || insightID.empty?) && (dataStoreID.nil? || dataStoreID.empty?) && (extractID.nil? || extractID.empty?) && data.nil?
323
+ log("DEBUG", "Insight id, datastore id, extract id and data is needed to be update an existing extract")
324
+ return nil
325
+ end
326
+ paramHash = {}
327
+ paramHash["context"] = "insights"
328
+ paramHash["contextID"] = insightID
329
+ paramHash["subContext"] = "datastores"
330
+ paramHash["subContextID"] = dataStoreID
331
+ paramHash["leafContext"] = "extracts"
332
+ paramHash["leafContextID"] = extractID
333
+ paramHash["data"] = data
334
+ return updateCloudmunchData(paramHash)
335
+ end
336
+
337
+
338
+ def updateInsightReportCard(insightID, reportID, cardID, data)
339
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}/insight_cards/{insight_card_id}
340
+
341
+ if (insightID.nil? || insightID.empty?) && (reportID.nil? || reportID.empty?) && (cardID.nil? || cardID.empty?) && data.nil?
342
+ log("DEBUG", "Insight id, report id, cardID and data is needed to be update an existing report card")
343
+ return nil
344
+ end
345
+
346
+ paramHash = {}
347
+ paramHash["context"] = "insights"
348
+ paramHash["contextID"] = insightID
349
+ paramHash["subContext"] = "insight_reports"
350
+ paramHash["subContextID"] = reportID
351
+ paramHash["leafContext"] = "insight_cards"
352
+ paramHash["leafContextID"] = cardID
353
+ paramHash["data"] = data
354
+ return updateCloudmunchData(paramHash)
355
+ end
356
+
357
+
358
+ def updateInsightReportKeyMetric(insightID, reportID, keyMetricID, data)
359
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}/key_metrics/{key_metric_id}
360
+
361
+ if (insightID.nil? || insightID.empty?) && (reportID.nil? || reportID.empty?) && (keyMetricID.nil? || keyMetricID.empty?) && data.nil?
362
+ log("DEBUG", "Insight id, report id, keyMetricID and data is needed to be update an existing report key metric")
363
+ return nil
364
+ end
365
+
366
+ paramHash = {}
367
+ paramHash["context"] = "insights"
368
+ paramHash["contextID"] = insightID
369
+ paramHash["subContext"] = "insight_reports"
370
+ paramHash["subContextID"] = reportID
371
+ paramHash["leafContext"] = "key_metrics"
372
+ paramHash["leafContextID"] = keyMetricID
373
+ paramHash["data"] = data
374
+ return updateCloudmunchData(paramHash)
375
+ end
376
+
377
+ def getInsightReportKeyMetrics(paramHash)
378
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}/key_metrics/{key_metric_id}
379
+ paramReportId = paramHash["reportID"].nil? ? nil : paramHash["reportID"]
380
+ paramInsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
381
+
382
+ if paramInsightID.nil? || paramInsightID.empty? || paramReportId.nil? || paramReportId.empty?
383
+ log("DEBUG", "Insight id and report id is needed to gets its report key metric details")
384
+ return nil
385
+ end
386
+
387
+ paramFormatted = Hash.new
388
+ paramFormatted = paramHash
389
+ paramFormatted["context"] = "insights"
390
+ paramFormatted["subContext"] = "insight_reports"
391
+ paramFormatted["leafContext"] = "key_metrics"
392
+ paramFormatted["contextID"] = paramInsightID
393
+ paramFormatted["subContextID"] = paramReportId
394
+
395
+ if !paramHash["keyMetricID"].nil?
396
+ paramFormatted["leafContextID"] = paramHash["keyMetricID"]
397
+ end
398
+
399
+ return getCloudmunchData(paramFormatted)
400
+ end
401
+
402
+ def updateInsight(insightID, data)
403
+ # /applications/{application_id}/insights/{insight_id}
404
+
405
+ if (insightID.nil? || insightID.empty?) && data.nil?
406
+ log("DEBUG", "Insight id and data is needed to be update an existing data store")
407
+ return nil
408
+ end
409
+
410
+ paramHash = {}
411
+ paramHash["context"] = "insights"
412
+ paramHash["contextID"] = insightID
413
+ paramHash["data"] = data
414
+ return updateCloudmunchData(paramHash)
415
+ end
416
+
417
+ def updateCloudmunchData(paramHash, method = "POST")
418
+ paramData = Hash.new
419
+ paramData["data"] = paramHash["data"]
420
+
421
+ serverurl = nil
422
+ serverurl = generateServerURL(paramHash)
423
+
424
+ if serverurl.nil?
425
+ log("DEBUG", "Unable to generate server url")
426
+ log("ERROR", "Unable to "+method+" data on cloudmunch")
427
+ return nil
428
+ end
429
+
430
+ uri = URI.parse(serverurl)
431
+
432
+ log("DEBUG", "URI for "+method+" : ")
433
+ log("DEBUG", uri)
434
+
435
+ if method.casecmp("post") == 0
436
+ responseJson = Net::HTTP.post_form(uri,"data" => paramData.to_json)
437
+ elsif method.casecmp("patch") == 0
438
+ #code for patch
439
+ elsif method.casecmp("put") == 0
440
+ #code for put
441
+ end
442
+ return parseResponse(responseJson.body)
443
+ end
444
+
445
+ def parseResponse(responseJson)
446
+ requestDetails = (JSON.load(responseJson))['request']
447
+ responseData = (JSON.load(responseJson))['data']
448
+
449
+ log("DEBUG", "Response : ")
450
+ log("DEBUG", responseJson)
451
+
452
+ if !requestDetails['status'].nil? && requestDetails['status'].casecmp('success') == 0
453
+ return responseData
454
+ else
455
+ if !requestDetails['message'].nil?
456
+ log("ERROR", requestDetails['message'])
92
457
  end
93
- end
458
+ return nil
459
+ end
460
+ end
94
461
 
95
- def self.getDataContext(server, endpoint, param)
96
- getCustomDataContext(server, endpoint, param)
97
- end
462
+ def getCloudmunchData(paramHash)
463
+ serverurl = nil
464
+ serverurl = generateServerURL(paramHash,true)
98
465
 
466
+ if serverurl.nil?
467
+ log("DEBUG", "Unable to generate server url")
468
+ log("ERROR", "Unable to get data from cloudmunch")
469
+ return nil
470
+ end
99
471
 
100
- def self.updateDataContext(server, endpoint, param)
472
+ uri = URI.parse(serverurl)
473
+
474
+ log("DEBUG", "URI for get : ")
475
+ log("DEBUG", uri)
476
+
477
+ responseJson = Net::HTTP.get(uri)
478
+ return parseResponse(responseJson)
479
+ end
480
+
481
+ def getInsights(paramHash)
482
+ # /insights/{insight_id}
483
+ paraminsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
484
+
485
+ paramFormatted = Hash.new
486
+ paramFormatted = paramHash
487
+ paramFormatted["context"] = "insights"
488
+
489
+ if !paraminsightID.nil? && !paraminsightID.empty?
490
+ paramFormatted["contextID"] = paramInsightID
491
+ end
492
+
493
+ return getCloudmunchData(paramFormatted)
494
+ end
495
+
496
+ def getInsightDataStoreExtracts(paramHash)
497
+ # /insights/{insight_id}/datastores/{datastore_id}/extracts/{extract_id}
498
+ paramDataStoreId = paramHash["dataStoreID"].nil? ? nil : paramHash["dataStoreID"]
499
+ paramInsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
500
+
501
+ serverurl = nil
502
+
503
+ if paramInsightID.nil? || paramInsightID.empty? || paramDataStoreId.nil? || paramDataStoreId.empty?
504
+ log("DEBUG", "Insight id and datastore id is needed to gets its extract details")
505
+ return nil
506
+ end
507
+
508
+ paramFormatted = Hash.new
509
+ paramFormatted = paramHash
510
+ paramFormatted["context"] = "insights"
511
+ paramFormatted["subContext"] = "datastores"
512
+ paramFormatted["leafContext"] = "extracts"
513
+ paramFormatted["contextID"] = paramInsightID
514
+ paramFormatted["subContextID"] = paramDataStoreId
515
+
516
+ if !paramHash["extractID"].nil?
517
+ paramFormatted["leafContextID"] = paramHash["extractID"]
518
+ end
519
+
520
+ return getCloudmunchData(paramFormatted)
521
+ end
522
+
523
+ def getInsightDataStores(paramHash)
524
+ # /insights/{insight_id}/datastores/{datastore_id}
525
+ paramInsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
526
+
527
+ if paramInsightID.nil? || paramInsightID.empty?
528
+ log("DEBUG", "Insight id is not provided")
529
+ return nil
530
+ end
531
+
532
+ paramFormatted = Hash.new
533
+ paramFormatted = paramHash
534
+ paramFormatted["context"] = "insights"
535
+ paramFormatted["subContext"] = "datastores"
536
+ paramFormatted["contextID"] = paramInsightID
537
+
538
+ if !paramHash["dataStoreID"].nil?
539
+ paramFormatted["subContextID"] = paramHash["dataStoreID"]
540
+ end
541
+ return getCloudmunchData(paramFormatted)
542
+ end
543
+
544
+ def getInsightReports(paramHash)
545
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}
546
+ paramInsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
547
+
548
+ if paramInsightID.nil? || paramInsightID.empty?
549
+ log("DEBUG", "Insight id is needed to gets its report details")
550
+ return nil
551
+ end
552
+
553
+ paramFormatted = Hash.new
554
+ paramFormatted = paramHash
555
+ paramFormatted["context"] = "insights"
556
+ paramFormatted["subContext"] = "insight_reports"
557
+ paramFormatted["contextID"] = paramInsightID
558
+
559
+ if !paramHash["reportID"].nil?
560
+ paramFormatted["subContextID"] = paramHash["reportID"]
561
+ end
562
+
563
+ return getCloudmunchData(paramFormatted)
564
+ end
565
+
566
+ def getInsightReportCards(paramHash)
567
+ # /applications/{application_id}/insights/{insight_id}/insight_reports/{insight_report_id}/insight_cards/{insight_card_id}
568
+ paramReportId = paramHash["reportID"].nil? ? nil : paramHash["reportID"]
569
+ paramInsightID = paramHash["insightID"].nil? ? nil : paramHash["insightID"]
570
+
571
+ if paramInsightID.nil? || paramInsightID.empty? || paramReportId.nil? || paramReportId.empty?
572
+ log("DEBUG", "Insight id and report id is needed to gets its report card details")
573
+ return nil
574
+ end
575
+
576
+ paramFormatted = Hash.new
577
+ paramFormatted = paramHash
578
+ paramFormatted["context"] = "insights"
579
+ paramFormatted["subContext"] = "insight_reports"
580
+ paramFormatted["leafContext"] = "insight_cards"
581
+ paramFormatted["contextID"] = paramInsightID
582
+ paramFormatted["subContextID"] = paramReportId
583
+
584
+ if !paramHash["cardID"].nil?
585
+ paramFormatted["leafContextID"] = paramHash["cardID"]
586
+ end
587
+
588
+ return getCloudmunchData(paramFormatted)
589
+ end
590
+
591
+ def generateServerURL(paramHash, appendQueryParams = nil)
592
+
593
+ serverurl = ""
594
+
595
+ if !paramHash["url"].nil?
596
+ serverurl = @appContext.get_data("{master_url}")+"/"+paramHash["url"]
597
+ elsif !paramHash["context"].nil?
598
+ paramContext = paramHash["context"].nil? ? nil : paramHash["context"]
599
+ paramContextID = paramHash["contextID"].nil? ? nil : paramHash["contextID"]
600
+ paramSubContext = paramHash["subContext"].nil? ? nil : paramHash["subContext"]
601
+ paramSubContextID = paramHash["subContextID"].nil? ? nil : paramHash["subContextID"]
602
+ paramLeafContext = paramHash["leafContext"].nil? ? nil : paramHash["leafContext"]
603
+ paramLeafContextID = paramHash["leafContextID"].nil? ? nil : paramHash["leafContextID"]
604
+
605
+ serverurl=@appContext.get_data("{master_url}")+"/applications/"+@appContext.get_data("{application}")+"/"+paramContext
606
+
607
+ if !paramContextID.nil? && !paramContextID.empty?
608
+ serverurl=serverurl+"/"+paramContextID;
609
+ if !paramSubContext.nil? && !paramSubContext.empty?
610
+ serverurl=serverurl+"/"+paramSubContext;
611
+ if !paramSubContextID.nil? && !paramSubContextID.empty?
612
+ serverurl=serverurl+"/"+paramSubContextID;
613
+ if !paramLeafContext.nil? && !paramLeafContext.empty?
614
+ serverurl=serverurl+"/"+paramLeafContext;
615
+ if !paramLeafContextID.nil? && !paramLeafContextID.empty?
616
+ serverurl=serverurl+"/"+paramLeafContextID;
617
+ end
618
+ end
619
+ end
620
+ end
621
+ end
622
+ else
623
+ log("DEBUG", "No context provided for get api call");
624
+ return nil
625
+ end
626
+
627
+ queryString = ""
628
+
629
+ if !appendQueryParams.nil?
630
+ queryString = queryString + "filter=" + paramHash["filter"].to_json + "&" if !paramHash["filter"].nil?
631
+ queryString = queryString + "fields=" + paramHash["fields"].to_s + "&" if !paramHash["fields"].nil?
632
+ queryString = queryString + "count=" + paramHash["count"].to_s + "&" if !paramHash["count"].nil?
633
+ queryString = queryString + "offset=" + paramHash["offset"].to_s + "&" if !paramHash["offset"].nil?
634
+ queryString = queryString + "request_category=" + paramHash["requestCategory"].to_s + "&" if !paramHash["requestCategory"].nil?
635
+ queryString = queryString + "order_by=" + paramHash["orderBy"].to_s + "&" if !paramHash["orderBy"].nil?
636
+ queryString = queryString + "group_by=" + paramHash["groupBy"].to_s + "&" if !paramHash["groupBy"].nil?
637
+ end
638
+ serverurl = serverurl+"?"+queryString+"apikey="+@appContext.get_data("{api_key}")
639
+ return serverurl
640
+ end
641
+
642
+ def deleteCloudmunchData(paramHash)
643
+ paramContext = paramHash["context"]
644
+ paramContextID = paramHash["contextID"]
645
+
646
+ if !paramContext.nil? && !paramContext.empty? && !paramContextID.nil? && !paramContextID.empty?
647
+ serverurl=@appContext.get_data("{master_url}")+"/applications/"+@appContext.get_data("{application}")+"/"+context+"/"+contextID;
648
+ serverurl=serverurl+"?apikey="+@appContext.get_data("{api_key}")
649
+ uri = URI.parse(serverurl)
650
+ Net::HTTP::Delete(uri)
651
+ return 1
652
+ else
653
+ return nil
654
+ end
655
+ end
656
+
657
+ def deleteCloudmunchDataBKUP(context,contextID)
658
+ serverurl=@appContext.get_data("{master_url}")+"/applications/"+@appContext.get_data("{application}")+"/"+context+"/"+contextID;
659
+ serverurl=serverurl+"?apikey="+@appContext.get_data("{api_key}")
660
+ uri = URI.parse(serverurl)
661
+ Net::HTTP::Delete(uri)
662
+ end
663
+
664
+ def self.putCustomDataContext(server, endpoint, param)
665
+ result = self.http_post(server, endpoint, param)
666
+ #p result.code.to_s
667
+ if result.code.to_s == "200"
668
+ return true
669
+ else
670
+ return false
671
+ end
672
+ end
673
+
674
+ def self.getCustomDataContext(server, endpoint, param)
675
+ return self.http_get(server, endpoint, param)
676
+ end
677
+
678
+ def self.http_get(server,path,params)
679
+ if params.nil?
680
+ return Net::HTTP.get(server, path)
681
+ else
682
+ queryStr = "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))
683
+ puts ("SDKDEBUG: Calling URL " + server+queryStr)
684
+ uri = URI(server + "/" + queryStr)
685
+ return Net::HTTP.get(uri)
686
+ end
687
+ end
688
+
689
+ def self.http_post(server,path,params)
690
+ queryStr = "#{path}?".concat(params.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join('&'))
691
+ puts ("SDKDEBUG: Calling URL " + server+queryStr)
692
+ if params.nil?
693
+ return Net::HTTP.post(server, path)
694
+ else
695
+ uri = URI(server + path)
696
+ return Net::HTTP.post_form(uri, params)
697
+ end
698
+ end
699
+
700
+ def self.getDataContext(server, endpoint, param)
701
+ getCustomDataContext(server, endpoint, param)
702
+ end
703
+
704
+ def self.updateDataContext(server, endpoint, param)
101
705
  putCustomDataContext(server, endpoint, param)
102
- end
103
- end
706
+ end
707
+ end
@@ -7,9 +7,7 @@ class ServiceProvider
7
7
  end
8
8
 
9
9
  def load_data(param)
10
-
11
-
12
- @SP_data = JSON.parse(param[@providername])["configuration"]
10
+ @SP_data = param[@providername]["configuration"]
13
11
  end
14
12
 
15
13
  def get_data(keyname)
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudmunch_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
+ - ganesan krishnamurthy
7
8
  - syamk
8
9
  - rosmi
9
- - ganesankrishnamurthy
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2015-12-03 00:00:00.000000000 Z
13
+ date: 2015-12-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json