cloudmunch_sdk_v3 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/lib/cloudmunch_Ruby_sdk_v2/AppAbstract.rb +146 -0
  3. data/lib/cloudmunch_Ruby_sdk_v2/AppContext.rb +59 -0
  4. data/lib/cloudmunch_Ruby_sdk_v2/AssetHelper.rb +127 -0
  5. data/lib/cloudmunch_Ruby_sdk_v2/CloudmunchConstants.rb +24 -0
  6. data/lib/cloudmunch_Ruby_sdk_v2/CloudmunchService.rb +249 -0
  7. data/lib/cloudmunch_Ruby_sdk_v2/ElasticBeanStalkServer.rb +52 -0
  8. data/lib/cloudmunch_Ruby_sdk_v2/EnvironmentHelper.rb +292 -0
  9. data/lib/cloudmunch_Ruby_sdk_v2/InsightHelper.rb +770 -0
  10. data/lib/cloudmunch_Ruby_sdk_v2/IntegrationHelper.rb +69 -0
  11. data/lib/cloudmunch_Ruby_sdk_v2/PluginLoaderAbstract.rb +140 -0
  12. data/lib/cloudmunch_Ruby_sdk_v2/PluginReporterAbstract.rb +141 -0
  13. data/lib/cloudmunch_Ruby_sdk_v2/RoleHelper.rb +170 -0
  14. data/lib/cloudmunch_Ruby_sdk_v2/Server.rb +77 -0
  15. data/lib/cloudmunch_Ruby_sdk_v2/ServerHelper.rb +284 -0
  16. data/lib/cloudmunch_Ruby_sdk_v2/ServiceProvider.rb +25 -0
  17. data/lib/cloudmunch_Ruby_sdk_v2/Util.rb +119 -0
  18. data/lib/cloudmunch_Ruby_sdk_v2/doc/AppAbstract.html +1062 -0
  19. data/lib/cloudmunch_Ruby_sdk_v2/doc/AppContext.html +1402 -0
  20. data/lib/cloudmunch_Ruby_sdk_v2/doc/AssetHelper.html +694 -0
  21. data/lib/cloudmunch_Ruby_sdk_v2/doc/Cloudmunch.html +117 -0
  22. data/lib/cloudmunch_Ruby_sdk_v2/doc/CloudmunchConstants.html +184 -0
  23. data/lib/cloudmunch_Ruby_sdk_v2/doc/CloudmunchService.html +1195 -0
  24. data/lib/cloudmunch_Ruby_sdk_v2/doc/ElasticBeanStalkServer.html +1375 -0
  25. data/lib/cloudmunch_Ruby_sdk_v2/doc/InsightHelper.html +2889 -0
  26. data/lib/cloudmunch_Ruby_sdk_v2/doc/IntegrationHelper.html +400 -0
  27. data/lib/cloudmunch_Ruby_sdk_v2/doc/RoleHelper.html +809 -0
  28. data/lib/cloudmunch_Ruby_sdk_v2/doc/Server.html +2302 -0
  29. data/lib/cloudmunch_Ruby_sdk_v2/doc/ServerHelper.html +1181 -0
  30. data/lib/cloudmunch_Ruby_sdk_v2/doc/ServiceProvider.html +328 -0
  31. data/lib/cloudmunch_Ruby_sdk_v2/doc/Util.html +540 -0
  32. data/lib/cloudmunch_Ruby_sdk_v2/doc/_index.html +214 -0
  33. data/lib/cloudmunch_Ruby_sdk_v2/doc/class_list.html +58 -0
  34. data/lib/cloudmunch_Ruby_sdk_v2/doc/css/common.css +1 -0
  35. data/lib/cloudmunch_Ruby_sdk_v2/doc/css/full_list.css +57 -0
  36. data/lib/cloudmunch_Ruby_sdk_v2/doc/css/style.css +339 -0
  37. data/lib/cloudmunch_Ruby_sdk_v2/doc/file_list.html +57 -0
  38. data/lib/cloudmunch_Ruby_sdk_v2/doc/frames.html +26 -0
  39. data/lib/cloudmunch_Ruby_sdk_v2/doc/index.html +214 -0
  40. data/lib/cloudmunch_Ruby_sdk_v2/doc/js/app.js +219 -0
  41. data/lib/cloudmunch_Ruby_sdk_v2/doc/js/full_list.js +181 -0
  42. data/lib/cloudmunch_Ruby_sdk_v2/doc/js/jquery.js +4 -0
  43. data/lib/cloudmunch_Ruby_sdk_v2/doc/method_list.html +993 -0
  44. data/lib/cloudmunch_Ruby_sdk_v2/doc/top-level-namespace.html +114 -0
  45. data/lib/cloudmunch_Ruby_sdk_v2/version.rb +3 -0
  46. data/lib/cloudmunch_Ruby_sdk_v3/AppAbstract.rb +146 -0
  47. data/lib/cloudmunch_Ruby_sdk_v3/AppContext.rb +59 -0
  48. data/lib/cloudmunch_Ruby_sdk_v3/AssetHelper.rb +127 -0
  49. data/lib/cloudmunch_Ruby_sdk_v3/CloudmunchConstants.rb +24 -0
  50. data/lib/cloudmunch_Ruby_sdk_v3/CloudmunchService.rb +300 -0
  51. data/lib/cloudmunch_Ruby_sdk_v3/ElasticBeanStalkServer.rb +52 -0
  52. data/lib/cloudmunch_Ruby_sdk_v3/EnvironmentHelper.rb +292 -0
  53. data/lib/cloudmunch_Ruby_sdk_v3/InsightHelper.rb +770 -0
  54. data/lib/cloudmunch_Ruby_sdk_v3/IntegrationHelper.rb +69 -0
  55. data/lib/cloudmunch_Ruby_sdk_v3/PluginLoaderAbstract.rb +140 -0
  56. data/lib/cloudmunch_Ruby_sdk_v3/PluginReporterAbstract.rb +141 -0
  57. data/lib/cloudmunch_Ruby_sdk_v3/RoleHelper.rb +170 -0
  58. data/lib/cloudmunch_Ruby_sdk_v3/Server.rb +77 -0
  59. data/lib/cloudmunch_Ruby_sdk_v3/ServerHelper.rb +284 -0
  60. data/lib/cloudmunch_Ruby_sdk_v3/ServiceProvider.rb +25 -0
  61. data/lib/cloudmunch_Ruby_sdk_v3/Util.rb +119 -0
  62. data/lib/cloudmunch_Ruby_sdk_v3/doc/AppAbstract.html +1062 -0
  63. data/lib/cloudmunch_Ruby_sdk_v3/doc/AppContext.html +1402 -0
  64. data/lib/cloudmunch_Ruby_sdk_v3/doc/AssetHelper.html +694 -0
  65. data/lib/cloudmunch_Ruby_sdk_v3/doc/Cloudmunch.html +117 -0
  66. data/lib/cloudmunch_Ruby_sdk_v3/doc/CloudmunchConstants.html +184 -0
  67. data/lib/cloudmunch_Ruby_sdk_v3/doc/CloudmunchService.html +1195 -0
  68. data/lib/cloudmunch_Ruby_sdk_v3/doc/ElasticBeanStalkServer.html +1375 -0
  69. data/lib/cloudmunch_Ruby_sdk_v3/doc/InsightHelper.html +2889 -0
  70. data/lib/cloudmunch_Ruby_sdk_v3/doc/IntegrationHelper.html +400 -0
  71. data/lib/cloudmunch_Ruby_sdk_v3/doc/RoleHelper.html +809 -0
  72. data/lib/cloudmunch_Ruby_sdk_v3/doc/Server.html +2302 -0
  73. data/lib/cloudmunch_Ruby_sdk_v3/doc/ServerHelper.html +1181 -0
  74. data/lib/cloudmunch_Ruby_sdk_v3/doc/ServiceProvider.html +328 -0
  75. data/lib/cloudmunch_Ruby_sdk_v3/doc/Util.html +540 -0
  76. data/lib/cloudmunch_Ruby_sdk_v3/doc/_index.html +214 -0
  77. data/lib/cloudmunch_Ruby_sdk_v3/doc/class_list.html +58 -0
  78. data/lib/cloudmunch_Ruby_sdk_v3/doc/css/common.css +1 -0
  79. data/lib/cloudmunch_Ruby_sdk_v3/doc/css/full_list.css +57 -0
  80. data/lib/cloudmunch_Ruby_sdk_v3/doc/css/style.css +339 -0
  81. data/lib/cloudmunch_Ruby_sdk_v3/doc/file_list.html +57 -0
  82. data/lib/cloudmunch_Ruby_sdk_v3/doc/frames.html +26 -0
  83. data/lib/cloudmunch_Ruby_sdk_v3/doc/index.html +214 -0
  84. data/lib/cloudmunch_Ruby_sdk_v3/doc/js/app.js +219 -0
  85. data/lib/cloudmunch_Ruby_sdk_v3/doc/js/full_list.js +181 -0
  86. data/lib/cloudmunch_Ruby_sdk_v3/doc/js/jquery.js +4 -0
  87. data/lib/cloudmunch_Ruby_sdk_v3/doc/method_list.html +993 -0
  88. data/lib/cloudmunch_Ruby_sdk_v3/doc/top-level-namespace.html +114 -0
  89. data/lib/cloudmunch_Ruby_sdk_v3/version.rb +3 -0
  90. data/lib/cloudmunch_sdk.rb +5 -0
  91. data/lib/cloudmunch_sdk_v3.rb +5 -0
  92. metadata +194 -0
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/ruby
2
+ ###
3
+ ### (c) CloudMunch Inc.
4
+ ### All Rights Reserved
5
+ ### Un-authorized copying of this file, via any medium is strictly prohibited
6
+ ### Proprietary and confidential
7
+ ###
8
+ ### ganesan@cloudmunch.com
9
+ ###
10
+
11
+ $LOAD_PATH << '.'
12
+
13
+
14
+ class Server
15
+ attr_accessor :description
16
+ attr_accessor :dns
17
+ attr_accessor :domainName
18
+ attr_accessor :emailID
19
+ attr_accessor :CI
20
+ attr_accessor :deploymentStatus
21
+ attr_accessor :instanceId
22
+ attr_accessor :imageID
23
+ attr_accessor :launcheduser
24
+ attr_accessor :build
25
+ attr_accessor :appName
26
+ attr_accessor :deployTempLoc
27
+ attr_accessor :buildLocation
28
+ attr_accessor :privateKeyLoc
29
+ attr_accessor :publicKeyLoc
30
+ attr_accessor :loginUser
31
+ attr_accessor :serverType
32
+ attr_accessor :assetType
33
+ attr_accessor :status
34
+ attr_accessor :startTime
35
+ attr_accessor :provider
36
+ attr_accessor :region
37
+ attr_accessor :cmserver
38
+ attr_accessor :assetName
39
+ attr_accessor :instanceSize
40
+ attr_accessor :serverName
41
+ attr_accessor :password
42
+ attr_accessor :sshport
43
+ attr_accessor :tier
44
+
45
+ def initialize
46
+ @description=""
47
+ @dns=""
48
+ @domainName=""
49
+ @emailID=""
50
+ @CI=""
51
+ @deploymentStatus=""
52
+ @instanceId=""
53
+ @imageID=""
54
+ @launcheduser=""
55
+ @build=""
56
+ @appName=""
57
+ @deployTempLoc=""
58
+ @buildLocation=""
59
+ @privateKeyLoc=""
60
+ @publicKeyLoc=""
61
+ @loginUser=""
62
+ @serverType=""
63
+ @assettype=""
64
+ @status=""
65
+ @starttime=""
66
+ @provider=""
67
+ @region=""
68
+ @cmserver=""
69
+ @assetname=""
70
+ @instancesize=""
71
+ @servername=""
72
+ @password=""
73
+ @sshport=22
74
+ @tier=""
75
+ end
76
+
77
+ end
@@ -0,0 +1,284 @@
1
+ #!/usr/bin/ruby
2
+ ###
3
+ ### (c) CloudMunch Inc.
4
+ ### All Rights Reserved
5
+ ### Un-authorized copying of this file, via any medium is strictly prohibited
6
+ ### Proprietary and confidential
7
+ ###
8
+ ### ganesan@cloudmunch.com
9
+ ###
10
+
11
+ $LOAD_PATH << '.'
12
+ require 'json'
13
+ require_relative "CloudmunchConstants"
14
+
15
+ class ServerHelper
16
+ include CloudmunchService
17
+ include Util
18
+
19
+ @appContext = nil;
20
+ @cmDataManager = nil;
21
+ @logHelper = nil;
22
+
23
+ def initialize(appContext)
24
+ @appContext = appContext
25
+ @cloudmunchDataService = CloudmunchService.new
26
+ end
27
+
28
+ # ###
29
+ # ### This method retreives the details of server from cloudmunch.
30
+ # ### @param string $servername Name of the server as registered in cloudmunch.
31
+ # ### @return \CloudMunch\Server
32
+ # ###
33
+ def getServerName(serverName)
34
+ server = nil
35
+ serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + serverName
36
+ log("DEBUG", "serverurl from serverhelper:" + serverUrl)
37
+
38
+ deployResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIKey(),nil)
39
+ if deployResult == nil then
40
+ return false
41
+ else
42
+ deployResult = JSON.parse(deployResult)
43
+ deployData = deployResult["data"]
44
+ if deployData.nil? then
45
+ log("ERROR", "Server does not exist")
46
+ return nil
47
+ else
48
+ if (deployResult[serverName].include?("assetname")) && (deployResult[serverName]["assetname"] == "ElasticBeanStalk") then
49
+ server = ElasticBeanStalkServer.new
50
+ else
51
+ server = Server.new
52
+
53
+ server.servername = deployData["id"]
54
+ server.description = deployData["description"]
55
+ server.dns = deployData["dnsName"]
56
+ server.domainName = deployData["domainName"]
57
+ server.CI = deployData["CI"]
58
+ server.deploymentStatus = deployData["deploymentStatus"]
59
+ server.instanceId = deployData["instanceId"]
60
+ server.imageID = deployData["amiID"]
61
+ server.launcheduser = deployData["username"]
62
+ server.build = deployData["build"]
63
+ server.appName = deployData["appName"]
64
+ server.deployTempLoc = deployData["deployTempLoc"]
65
+ server.buildLocation = deployData["buildLoc"]
66
+ server.privateKeyLoc = deployData["privateKeyLoc"]
67
+ server.publicKeyLoc = deployData["publicKeyLoc"]
68
+ server.loginUser = deployData["loginUser"]
69
+ server.serverType = deployData["serverType"]
70
+ server.assetType = deployData["assettype"]
71
+ server.status = deployData["status"]
72
+ server.startTime = deployData["starttime"]
73
+ server.provider = deployData["provider"]
74
+ server.region = deployData["region"]
75
+ server.cmserver = deployData["cmserver"]
76
+ server.assetName = deployData["assetname"]
77
+ server.instanceSize = deployData["instancesize"]
78
+ server.password = deployData["password"]
79
+ server.sshport = deployData["sshport"]
80
+ server.tier = deployData["tier"]
81
+
82
+ if server.instance_of?(ElasticBeanStalkServer) then
83
+ server.environmentName = deployData["environmentName"]
84
+ server.bucketName = deployData["bucketName"]
85
+ server.applicationName = deployData["applicationName"]
86
+ server.templateName = deployData["templateName"]
87
+ end
88
+
89
+ return server
90
+ end
91
+ end
92
+ end
93
+ end
94
+
95
+
96
+ # ###
97
+ # ### This method can be used to add or register a server to cloudmunch data .
98
+ # ### @param \CloudMunch\Server server
99
+ # ### @param string docker
100
+ # ###
101
+ def addServer(server, serverStatus, docker)
102
+
103
+ if serverStatus.empty? then
104
+ log("ERROR", "Server status need to be provided")
105
+ return false
106
+ end
107
+
108
+ statusArray = [::STATUS_RUNNING, ::STATUS_STOPPED, ::STATUS_NIL]
109
+ if !statusArray.include?(serverStatus) then
110
+ log("ERROR", "Invalid status")
111
+ return false
112
+ end
113
+
114
+ paramHash = {}
115
+ paramHash["description"] = server.description
116
+ paramHash["dnsName"] = server.dns
117
+ paramHash["domainName"] = server.domainName
118
+ paramHash["emailID"] = server.emailID
119
+ paramHash["CI"] = server.CI ? "y" : "n"
120
+ paramHash["deploymentStatus"] = server.deploymentStatus
121
+ paramHash["instanceId"] = server.instanceId
122
+ paramHash["amiID"] = server.imageID
123
+ paramHash["username"] = server.username
124
+ paramHash["build"] = server.build
125
+ paramHash["appName"] = server.appName
126
+ paramHash["deployTempLoc"] = server.deployTempLoc
127
+ paramHash["buildLoc"] = server.buildLocation
128
+ paramHash["privateKeyLoc"] = server.privateKeyLoc
129
+ paramHash["publicKeyLoc"] = server.publicKeyLoc
130
+ paramHash["loginUser"] = server.loginUser
131
+ paramHash["serverType"] = server.serverType
132
+ paramHash["type"] = "server"
133
+ paramHash["status"] = server.status
134
+ paramHash["starttime"] = server.startTime
135
+ paramHash["provider"] = server.provider
136
+ paramHash["region"] = server.region
137
+ paramHash["cmserver"] = server.cmserver
138
+ paramHash["name"] = server.serverName
139
+ paramHash["instancesize"] = server.instanceSize
140
+ paramHash["password"] = server.password
141
+ paramHash["sshport"] = server.sshport
142
+ paramHash["tier"] = server.tier
143
+
144
+ if server.instance_of?(ElasticBeanStalkServer) then
145
+ paramHash["applicationName"] = server.applicationName
146
+ paramHash["templateName"] = server.templateName
147
+ paramHash["environmentName"] = server.environmentName
148
+ paramHash["bucketName"] = server.bucketName
149
+ end
150
+
151
+ paramHash["status"] = serverStatus
152
+
153
+ if docker then
154
+ dataInnerHash = {}
155
+ dataInnerHash["buildNo"] = server.build
156
+ dataServerNode = {}
157
+ dataServerNode[server.appName] = dataInnerHash
158
+ paramHash["projects"] = dataServerNode
159
+ end
160
+
161
+ serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/"
162
+ @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), paramHash)
163
+ end
164
+
165
+ # ###
166
+ # ### This method is used to update server data.
167
+ # ### @param \CloudMunch\Server server
168
+ # ###
169
+ def updateServer(server, serverID)
170
+ paramHash = {}
171
+ paramHash["description"] = server.description
172
+ paramHash["dnsName"] = server.dns
173
+ paramHash["domainName"] = server.domainName
174
+ paramHash["emailID"] = server.emailID
175
+ paramHash["CI"] = server.CI ? "y" : "n"
176
+ paramHash["deploymentStatus"] = server.deploymentStatus
177
+ paramHash["instanceId"] = server.instanceId
178
+ paramHash["amiID"] = server.imageID
179
+ paramHash["username"] = server.username
180
+ paramHash["build"] = server.build
181
+ paramHash["appName"] = server.appName
182
+ paramHash["deployTempLoc"] = server.deployTempLoc
183
+ paramHash["buildLoc"] = server.buildLocation
184
+ paramHash["privateKeyLoc"] = server.privateKeyLoc
185
+ paramHash["publicKeyLoc"] = server.publicKeyLoc
186
+ paramHash["loginUser"] = server.loginUser
187
+ paramHash["serverType"] = server.serverType
188
+ paramHash["type"] = "server"
189
+ paramHash["status"] = server.status
190
+ paramHash["starttime"] = server.startTime
191
+ paramHash["provider"] = server.provider
192
+ paramHash["region"] = server.region
193
+ paramHash["cmserver"] = server.cmserver
194
+ paramHash["name"] = server.serverName
195
+ paramHash["instancesize"] = server.instanceSize
196
+ paramHash["password"] = server.password
197
+ paramHash["sshport"] = server.sshport
198
+ paramHash["tier"] = server.tier
199
+
200
+ serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + serverID
201
+ return @cloudmunchDataService.updateDataForContext(serverUrl, @appContext.getAPIKey(), paramHash)
202
+ end
203
+
204
+ # ###
205
+ # ### This method is to delete server from cloudmunch.
206
+ # ### @param $serverName Name of server.
207
+ # ###
208
+ def deleteServer(serverID)
209
+ serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + serverID
210
+ return @cloudmunchDataService.deleteDataForContext(serverUrl, @appContext.getAPIKey() )
211
+ end
212
+
213
+ # ###
214
+ # ### This method checks if server exists or is registered in cloudmunch data.
215
+ # ### @param $servername Name of server.
216
+ # ### @return boolean
217
+ # ###
218
+ def checkServerExists(serverName)
219
+ serverUrl = @appContext.getMasterURL() + "/applications/" + @appContext.getProject() + "/assets/" + serverName
220
+
221
+ serverResult = @cloudmunchDataService.getDataForContext(serverUrl, @appContext.getAPIKey(), "")
222
+ if serverResult == nil then
223
+ return nil
224
+ else
225
+ serverResult = JSON.parse(serverResult)
226
+ serverData = serverResult["data"]
227
+ if serverData.nil? then
228
+ log("ERROR", "Server does not exist")
229
+ return false
230
+ else
231
+ return true
232
+ end
233
+ end
234
+ end
235
+
236
+ # ###
237
+ # ### Checks if server is up and running
238
+ # ###
239
+ # ### @param string dns : dns of target server
240
+ # ### @param number sshport : ssh port (22) to be used to check for connection
241
+ # ### @return string Success : displays an appropriate message
242
+ # ### Failure : exits with a failure status with an appropriate message
243
+ # ###
244
+ def checkConnect(dns, sshport)
245
+ connectionTimeout = Time.now
246
+ connectionTimeout = connectionTimeout + (10 * 10)
247
+ connection = false
248
+
249
+ while ((connection == false) && ( Time.now < connectionTimeout )) do
250
+ if dns.nil? || dns.empty? then
251
+ log("ERROR", "Invalid dns" + dns)
252
+ return false
253
+ end
254
+ log("INFO", "Checking connectivity to: " + dns)
255
+
256
+ connection = ssh2_connect(dns, sshport)
257
+ if connection == false then
258
+ sleep(10)
259
+ end
260
+ end
261
+
262
+ if connection == false then
263
+ log("ERROR", "Failed to connect to " + dns )
264
+ return false
265
+ else
266
+ return true
267
+ end
268
+ end
269
+
270
+ def checkConnectionToServer(servername)
271
+ end
272
+
273
+ def getConnectionToServer(servername)
274
+ end
275
+
276
+ # ###
277
+ # ### This method returns SSHConnection helper
278
+ # ### @return \CloudMunch\sshConnection
279
+ # ###
280
+ def getSSHConnectionHelper()
281
+ return SSHConnection.new
282
+ end
283
+
284
+ end
@@ -0,0 +1,25 @@
1
+
2
+
3
+ class ServiceProvider
4
+
5
+ def initialize(providername)
6
+ @providername = providername
7
+ end
8
+
9
+ def load_data(param)
10
+ if param[@providername].nil?
11
+ return nil
12
+ else
13
+ @SP_data = param[@providername]["configuration"]
14
+ end
15
+ end
16
+
17
+ def get_data(keyname)
18
+ if @SP_data.nil?
19
+ return nil
20
+ else
21
+ @SP_data[keyname]
22
+ end
23
+ end
24
+
25
+ end
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/ruby
2
+ require 'logger'
3
+ require 'json'
4
+
5
+
6
+
7
+ module Util
8
+ def Util.logInit()
9
+ logger = Logger.new(STDOUT)
10
+ logger.formatter = proc do |severity, datetime, progname, msg|
11
+ "#{severity}: #{msg}\n"
12
+ end
13
+ return logger
14
+ end
15
+
16
+ def Util.log(logger, level, logString)
17
+ case level
18
+ when "debug"
19
+ logger.debug(logString)
20
+ when "fatal"
21
+ logger.fatal(logString)
22
+ when "error"
23
+ logger.error(logString)
24
+ when "warn"
25
+ logger.warn(logString)
26
+ when "info"
27
+ logger.info(logString)
28
+ else
29
+ logger.unknown(logString)
30
+ end
31
+ end
32
+
33
+ def Util.logIt(logger, log_level, log_level_string, messageString)
34
+ case log_level.downcase
35
+ when "debug"
36
+ if "debug".eql? log_level_string or "fatal".eql? log_level_string or "error".eql? log_level_string or "warn".eql? log_level_string or "info".eql? log_level_string
37
+ log(logger, "debug", messageString)
38
+ end
39
+ when "fatal"
40
+ if "fatal".eql? log_level_string
41
+ log(logger, "fatal", messageString)
42
+ end
43
+ when "error"
44
+ if "error".eql? log_level_string
45
+ log(logger, "error", messageString)
46
+ end
47
+ when "warn"
48
+ if "warn".eql? log_level_string
49
+ log(logger, "warn", messageString)
50
+ end
51
+ when "info"
52
+ if "info".eql? log_level_string
53
+ log(logger, "info", messageString)
54
+ end
55
+ else
56
+ log(logger, "unknown", messageString)
57
+ end
58
+ end
59
+
60
+ def Util.logClose(logger)
61
+ logger.close
62
+ end
63
+
64
+ def Util.getJSONArgs()
65
+ jsonin = nil
66
+ loop { case ARGV[0]
67
+ when '-jsoninput' then ARGV.shift; jsonin = ARGV.shift
68
+ when /^-/ then usage("Unknown option: #{ARGV[0].inspect}")
69
+ else break
70
+ end; }
71
+ return JSON.load(jsonin);
72
+ end
73
+
74
+ def Util.openJSONFile(fileNameWithPath)
75
+ begin
76
+ config = JSON.load(File.open(fileNameWithPath))
77
+ return config
78
+ rescue
79
+ return false
80
+ end
81
+ end
82
+
83
+ # def Util.generateReport(reportFileName, reportContent)
84
+ # begin
85
+ # fp=File.new(reportFileName, 'w')
86
+ # fp.write(reportContent)
87
+ # fp.close
88
+ # return true
89
+ # rescue
90
+ # puts("ERROR: Could not open output file. Framework error!")
91
+ # # exit 1
92
+ # return false
93
+ # end
94
+ # end
95
+
96
+ # def Util.getUrlForViewCards(server, endpoint, params)
97
+ # newParam = {
98
+ # :action => "listcustomcontext",
99
+ # :fields => "*",
100
+ # }
101
+
102
+ # newParam = params.merge(newParam)
103
+ # cqlQuery = CloudmunchService.getDataContext(server, endpoint, newParam)
104
+ # cqlQuery = JSON.parse(cqlQuery)
105
+ # if !cqlQuery[0].nil? && !cqlQuery[0]["url"].nil?
106
+ # url = cqlQuery[0]["url"]
107
+ # else
108
+ # url = ""
109
+ # end
110
+
111
+ # return url
112
+ # end
113
+
114
+ # def Util.getTemplate(template_name)
115
+ # openJSONFile(File.dirname(__FILE__) +"/templates/#{template_name}.json")
116
+ # end
117
+
118
+ end
119
+