morpheus-cli 0.1.1 → 0.9.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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/morpheus/api/accounts_interface.rb +55 -0
  3. data/lib/morpheus/api/api_client.rb +48 -3
  4. data/lib/morpheus/api/apps_interface.rb +13 -13
  5. data/lib/morpheus/api/{zones_interface.rb → clouds_interface.rb} +10 -10
  6. data/lib/morpheus/api/deploy_interface.rb +4 -4
  7. data/lib/morpheus/api/groups_interface.rb +3 -3
  8. data/lib/morpheus/api/instance_types_interface.rb +2 -2
  9. data/lib/morpheus/api/instances_interface.rb +35 -19
  10. data/lib/morpheus/api/key_pairs_interface.rb +60 -0
  11. data/lib/morpheus/api/license_interface.rb +29 -0
  12. data/lib/morpheus/api/load_balancers_interface.rb +72 -0
  13. data/lib/morpheus/api/logs_interface.rb +37 -0
  14. data/lib/morpheus/api/options_interface.rb +20 -0
  15. data/lib/morpheus/api/provision_types_interface.rb +27 -0
  16. data/lib/morpheus/api/roles_interface.rb +73 -0
  17. data/lib/morpheus/api/security_group_rules_interface.rb +3 -3
  18. data/lib/morpheus/api/security_groups_interface.rb +5 -5
  19. data/lib/morpheus/api/servers_interface.rb +67 -3
  20. data/lib/morpheus/api/task_sets_interface.rb +46 -0
  21. data/lib/morpheus/api/tasks_interface.rb +72 -0
  22. data/lib/morpheus/api/users_interface.rb +72 -0
  23. data/lib/morpheus/cli.rb +27 -4
  24. data/lib/morpheus/cli/accounts.rb +306 -0
  25. data/lib/morpheus/cli/apps.rb +58 -1
  26. data/lib/morpheus/cli/cli_command.rb +87 -0
  27. data/lib/morpheus/cli/cli_registry.rb +6 -1
  28. data/lib/morpheus/cli/{zones.rb → clouds.rb} +99 -70
  29. data/lib/morpheus/cli/credentials.rb +23 -11
  30. data/lib/morpheus/cli/error_handler.rb +31 -11
  31. data/lib/morpheus/cli/groups.rb +1 -0
  32. data/lib/morpheus/cli/hosts.rb +567 -0
  33. data/lib/morpheus/cli/instances.rb +588 -292
  34. data/lib/morpheus/cli/key_pairs.rb +393 -0
  35. data/lib/morpheus/cli/license.rb +118 -0
  36. data/lib/morpheus/cli/load_balancers.rb +366 -0
  37. data/lib/morpheus/cli/mixins/accounts_helper.rb +193 -0
  38. data/lib/morpheus/cli/option_types.rb +260 -0
  39. data/lib/morpheus/cli/roles.rb +164 -0
  40. data/lib/morpheus/cli/security_group_rules.rb +4 -9
  41. data/lib/morpheus/cli/shell.rb +108 -0
  42. data/lib/morpheus/cli/tasks.rb +370 -0
  43. data/lib/morpheus/cli/users.rb +325 -0
  44. data/lib/morpheus/cli/version.rb +1 -1
  45. data/lib/morpheus/cli/workflows.rb +100 -0
  46. data/lib/morpheus/formatters.rb +43 -0
  47. data/morpheus-cli.gemspec +1 -1
  48. metadata +33 -10
  49. data/lib/morpheus/cli/servers.rb +0 -265
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 155f7945ae237b102b407e7e7f0558f390db806f
4
- data.tar.gz: a42d7f42f2c04b8793ec463c5f54832ab8630138
3
+ metadata.gz: 6834b78a674df15c02d4ef4c43428cd142411588
4
+ data.tar.gz: b66fe527feee6d80a5e3893709f8e679d0efa6e5
5
5
  SHA512:
6
- metadata.gz: 15b5d574772c270cd79ba16aca4b5474e1baefe66c508ac943811c1be61f5aef72fc7a1d309d568f5d5134b9436f6fd8583c37588a8331c49c5714cb7814e484
7
- data.tar.gz: 834ee86b5021746dcd9fefa488e933434cc08b5ad8606894123281ffad98a98890cd992ace753d7afb6d552e4953ed2d612156dfd672d7ffaa5a2b8e6e0d4f64
6
+ metadata.gz: 09f7c2370738170a161ba9d78d364a87467d1bad084f2beb18c281f9db52e2fbc420361804170b5d3290962114ee4e48ac48913e4edd77a5991da28f6292e2e2
7
+ data.tar.gz: b734c26c11b19684b861a13a0e45be27dacdbdbcfde6d0a82496330de8297c2848f4b4720034f0a2ea09efadb53162296d2fa6591bbff1dc919c93a057a6cc09
@@ -0,0 +1,55 @@
1
+ require 'json'
2
+ require 'rest-client'
3
+
4
+ class Morpheus::AccountsInterface < Morpheus::APIClient
5
+ def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
6
+ @access_token = access_token
7
+ @refresh_token = refresh_token
8
+ @base_url = base_url
9
+ @expires_at = expires_at
10
+ end
11
+
12
+ def get(id)
13
+ raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
14
+ url = "#{@base_url}/api/accounts/#{id}"
15
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
16
+ response = Morpheus::RestClient.execute(method: :get, url: url,
17
+ timeout: 10, headers: headers)
18
+ JSON.parse(response.to_s)
19
+ end
20
+
21
+ def list(options={})
22
+ url = "#{@base_url}/api/accounts"
23
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
24
+ headers[:params].merge!(options)
25
+ response = Morpheus::RestClient.execute(method: :get, url: url,
26
+ timeout: 10, headers: headers)
27
+ JSON.parse(response.to_s)
28
+ end
29
+
30
+ def create(options)
31
+ url = "#{@base_url}/api/accounts"
32
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
33
+ payload = options
34
+ response = Morpheus::RestClient.execute(method: :post, url: url,
35
+ timeout: 10, headers: headers, payload: payload.to_json)
36
+ JSON.parse(response.to_s)
37
+ end
38
+
39
+ def update(id, options)
40
+ url = "#{@base_url}/api/accounts/#{id}"
41
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
42
+ payload = options
43
+ response = Morpheus::RestClient.execute(method: :put, url: url,
44
+ timeout: 10, headers: headers, payload: payload.to_json)
45
+ JSON.parse(response.to_s)
46
+ end
47
+
48
+ def destroy(id)
49
+ url = "#{@base_url}/api/accounts/#{id}"
50
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
51
+ response = Morpheus::RestClient.execute(method: :delete, url: url,
52
+ timeout: 10, headers: headers)
53
+ JSON.parse(response.to_s)
54
+ end
55
+ end
@@ -11,12 +11,16 @@ class Morpheus::APIClient
11
11
  end
12
12
  end
13
13
 
14
+ def options
15
+ Morpheus::OptionsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
16
+ end
17
+
14
18
  def groups
15
19
  Morpheus::GroupsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
16
20
  end
17
21
 
18
- def zones
19
- Morpheus::ZonesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
22
+ def clouds
23
+ Morpheus::CloudsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
20
24
  end
21
25
 
22
26
  def servers
@@ -31,6 +35,22 @@ class Morpheus::APIClient
31
35
  Morpheus::InstanceTypesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
32
36
  end
33
37
 
38
+ def provision_types
39
+ Morpheus::ProvisionTypesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
40
+ end
41
+
42
+ def load_balancers
43
+ Morpheus::LoadBalancersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
44
+ end
45
+
46
+ def tasks
47
+ Morpheus::TasksInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
48
+ end
49
+
50
+ def task_sets
51
+ Morpheus::TaskSetsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
52
+ end
53
+
34
54
  def apps
35
55
  Morpheus::AppsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
36
56
  end
@@ -46,4 +66,29 @@ class Morpheus::APIClient
46
66
  def security_group_rules
47
67
  Morpheus::SecurityGroupRulesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
48
68
  end
49
- end
69
+
70
+ def accounts
71
+ Morpheus::AccountsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
72
+ end
73
+
74
+ def users
75
+ Morpheus::UsersInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
76
+ end
77
+
78
+ def logs
79
+ Morpheus::LogsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
80
+ end
81
+
82
+ def roles
83
+ Morpheus::RolesInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
84
+ end
85
+
86
+ def key_pairs
87
+ Morpheus::KeyPairsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
88
+ end
89
+
90
+ def license
91
+ Morpheus::LicenseInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
92
+ end
93
+
94
+ end
@@ -22,7 +22,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
22
22
  headers[:params]['name'] = options
23
23
  end
24
24
  response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 10, headers: headers)
25
+ timeout: 30, headers: headers)
26
26
  JSON.parse(response.to_s)
27
27
  end
28
28
 
@@ -30,7 +30,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
30
30
  url = "#{@base_url}/api/apps/#{id}/envs"
31
31
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
32
32
  response = Morpheus::RestClient.execute(method: :get, url: url,
33
- timeout: 10, headers: headers)
33
+ timeout: 30, headers: headers)
34
34
  JSON.parse(response.to_s)
35
35
  end
36
36
 
@@ -40,7 +40,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
40
40
 
41
41
  payload = {envs: options}
42
42
  response = Morpheus::RestClient.execute(method: :post, url: url,
43
- timeout: 10, headers: headers, payload: payload.to_json)
43
+ timeout: 30, headers: headers, payload: payload.to_json)
44
44
  JSON.parse(response.to_s)
45
45
  end
46
46
 
@@ -49,7 +49,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
49
49
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
50
50
 
51
51
  response = Morpheus::RestClient.execute(method: :delete, url: url,
52
- timeout: 10, headers: headers)
52
+ timeout: 30, headers: headers)
53
53
  JSON.parse(response.to_s)
54
54
  end
55
55
 
@@ -60,7 +60,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
60
60
 
61
61
  payload = options
62
62
  response = Morpheus::RestClient.execute(method: :post, url: url,
63
- timeout: 10, headers: headers, payload: payload.to_json)
63
+ timeout: 30, headers: headers, payload: payload.to_json)
64
64
  JSON.parse(response.to_s)
65
65
  end
66
66
 
@@ -68,7 +68,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
68
68
  url = "#{@base_url}/api/apps/#{id}"
69
69
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
70
70
  response = Morpheus::RestClient.execute(method: :delete, url: url,
71
- timeout: 10, headers: headers)
71
+ timeout: 30, headers: headers)
72
72
  JSON.parse(response.to_s)
73
73
  end
74
74
 
@@ -76,7 +76,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
76
76
  url = "#{@base_url}/api/apps/#{id}/stop"
77
77
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
78
78
  response = Morpheus::RestClient.execute(method: :put, url: url,
79
- timeout: 10, headers: headers)
79
+ timeout: 30, headers: headers)
80
80
  JSON.parse(response.to_s)
81
81
  end
82
82
 
@@ -84,7 +84,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
84
84
  url = "#{@base_url}/api/apps/#{id}/start"
85
85
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
86
86
  response = Morpheus::RestClient.execute(method: :put, url: url,
87
- timeout: 10, headers: headers)
87
+ timeout: 30, headers: headers)
88
88
  JSON.parse(response.to_s)
89
89
  end
90
90
 
@@ -92,7 +92,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
92
92
  url = "#{@base_url}/api/apps/#{id}/restart"
93
93
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
94
94
  response = Morpheus::RestClient.execute(method: :put, url: url,
95
- timeout: 10, headers: headers)
95
+ timeout: 30, headers: headers)
96
96
  JSON.parse(response.to_s)
97
97
  end
98
98
 
@@ -100,7 +100,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
100
100
  url = "#{@base_url}/api/apps/#{id}/security-groups/disable"
101
101
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
102
102
  response = Morpheus::RestClient.execute(method: :put, url: url,
103
- timeout: 10, headers: headers)
103
+ timeout: 30, headers: headers)
104
104
  JSON.parse(response.to_s)
105
105
  end
106
106
 
@@ -108,7 +108,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
108
108
  url = "#{@base_url}/api/apps/#{id}/security-groups/enable"
109
109
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
110
110
  response = Morpheus::RestClient.execute(method: :put, url: url,
111
- timeout: 10, headers: headers)
111
+ timeout: 30, headers: headers)
112
112
  JSON.parse(response.to_s)
113
113
  end
114
114
 
@@ -116,7 +116,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
116
116
  url = "#{@base_url}/api/apps/#{id}/security-groups"
117
117
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
118
118
  response = Morpheus::RestClient.execute(method: :get, url: url,
119
- timeout: 10, headers: headers)
119
+ timeout: 30, headers: headers)
120
120
  JSON.parse(response.to_s)
121
121
  end
122
122
 
@@ -125,7 +125,7 @@ class Morpheus::AppsInterface < Morpheus::APIClient
125
125
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
126
126
  payload = options
127
127
  response = Morpheus::RestClient.execute(method: :post, url: url,
128
- timeout: 10, headers: headers, payload: payload.to_json)
128
+ timeout: 30, headers: headers, payload: payload.to_json)
129
129
  JSON.parse(response.to_s)
130
130
  end
131
131
  end
@@ -1,7 +1,7 @@
1
1
  require 'json'
2
2
  require 'rest-client'
3
3
 
4
- class Morpheus::ZonesInterface < Morpheus::APIClient
4
+ class Morpheus::CloudsInterface < Morpheus::APIClient
5
5
  def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
6
6
  @access_token = access_token
7
7
  @refresh_token = refresh_token
@@ -9,12 +9,12 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
9
9
  @expires_at = expires_at
10
10
  end
11
11
 
12
- def zone_types()
12
+ def cloud_types()
13
13
  url = "#{@base_url}/api/zone-types"
14
14
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
15
15
 
16
16
  response = Morpheus::RestClient.execute(method: :get, url: url,
17
- timeout: 10, headers: headers)
17
+ timeout: 30, headers: headers,verify_ssl: false)
18
18
  JSON.parse(response.to_s)
19
19
  end
20
20
 
@@ -31,7 +31,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
31
31
  headers[:params]['name'] = options
32
32
  end
33
33
  response = Morpheus::RestClient.execute(method: :get, url: url,
34
- timeout: 10, headers: headers)
34
+ timeout: 30, headers: headers,verify_ssl: false)
35
35
  JSON.parse(response.to_s)
36
36
  end
37
37
 
@@ -42,7 +42,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
42
42
 
43
43
  payload = {zone: options}
44
44
  response = Morpheus::RestClient.execute(method: :post, url: url,
45
- timeout: 10, headers: headers, payload: payload.to_json)
45
+ timeout: 30, headers: headers, payload: payload.to_json,verify_ssl: false)
46
46
  JSON.parse(response.to_s)
47
47
  end
48
48
 
@@ -50,7 +50,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
50
50
  url = "#{@base_url}/api/zones/#{id}"
51
51
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
52
52
  response = Morpheus::RestClient.execute(method: :delete, url: url,
53
- timeout: 10, headers: headers)
53
+ timeout: 30, headers: headers,verify_ssl: false)
54
54
  JSON.parse(response.to_s)
55
55
  end
56
56
 
@@ -58,7 +58,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
58
58
  url = "#{@base_url}/api/zones/#{id}/security-groups/disable"
59
59
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
60
60
  response = Morpheus::RestClient.execute(method: :put, url: url,
61
- timeout: 10, headers: headers)
61
+ timeout: 30, headers: headers,verify_ssl: false)
62
62
  JSON.parse(response.to_s)
63
63
  end
64
64
 
@@ -66,7 +66,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
66
66
  url = "#{@base_url}/api/zones/#{id}/security-groups/enable"
67
67
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
68
68
  response = Morpheus::RestClient.execute(method: :put, url: url,
69
- timeout: 10, headers: headers)
69
+ timeout: 30, headers: headers,verify_ssl: false)
70
70
  JSON.parse(response.to_s)
71
71
  end
72
72
 
@@ -74,7 +74,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
74
74
  url = "#{@base_url}/api/zones/#{id}/security-groups"
75
75
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
76
76
  response = Morpheus::RestClient.execute(method: :get, url: url,
77
- timeout: 10, headers: headers)
77
+ timeout: 30, headers: headers,verify_ssl: false)
78
78
  JSON.parse(response.to_s)
79
79
  end
80
80
 
@@ -83,7 +83,7 @@ class Morpheus::ZonesInterface < Morpheus::APIClient
83
83
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
84
84
  payload = options
85
85
  response = Morpheus::RestClient.execute(method: :post, url: url,
86
- timeout: 10, headers: headers, payload: payload.to_json)
86
+ timeout: 30, headers: headers, payload: payload.to_json,verify_ssl: false)
87
87
  JSON.parse(response.to_s)
88
88
  end
89
89
  end
@@ -22,7 +22,7 @@ class Morpheus::DeployInterface < Morpheus::APIClient
22
22
  headers[:params]['name'] = options
23
23
  end
24
24
  response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 10, headers: headers)
25
+ timeout: 30, headers: headers)
26
26
  JSON.parse(response.to_s)
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ class Morpheus::DeployInterface < Morpheus::APIClient
33
33
 
34
34
  payload = options || {}
35
35
  response = Morpheus::RestClient.execute(method: :post, url: url,
36
- timeout: 10, headers: headers, payload: payload.to_json)
36
+ timeout: 30, headers: headers, payload: payload.to_json)
37
37
  JSON.parse(response.to_s)
38
38
  end
39
39
 
@@ -43,7 +43,7 @@ class Morpheus::DeployInterface < Morpheus::APIClient
43
43
 
44
44
  payload = options
45
45
  response = Morpheus::RestClient.execute(method: :get, url: url,
46
- timeout: 10, headers: headers)
46
+ timeout: 30, headers: headers)
47
47
  JSON.parse(response.to_s)
48
48
  end
49
49
 
@@ -69,7 +69,7 @@ class Morpheus::DeployInterface < Morpheus::APIClient
69
69
  url = "#{@base_url}/api/deploy/#{id}"
70
70
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
71
71
  response = Morpheus::RestClient.execute(method: :delete, url: url,
72
- timeout: 10, headers: headers)
72
+ timeout: 30, headers: headers)
73
73
  JSON.parse(response.to_s)
74
74
  end
75
75
 
@@ -22,7 +22,7 @@ class Morpheus::GroupsInterface < Morpheus::APIClient
22
22
  headers[:params]['name'] = options
23
23
  end
24
24
  response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 10, headers: headers)
25
+ timeout: 30, headers: headers, verify_ssl:false)
26
26
  JSON.parse(response.to_s)
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ class Morpheus::GroupsInterface < Morpheus::APIClient
33
33
 
34
34
  payload = {group: options}
35
35
  response = Morpheus::RestClient.execute(method: :post, url: url,
36
- timeout: 10, headers: headers, payload: payload.to_json)
36
+ timeout: 30, headers: headers, verify_ssl:false, payload: payload.to_json)
37
37
  JSON.parse(response.to_s)
38
38
  end
39
39
 
@@ -41,7 +41,7 @@ class Morpheus::GroupsInterface < Morpheus::APIClient
41
41
  url = "#{@base_url}/api/groups/#{id}"
42
42
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
43
43
  response = Morpheus::RestClient.execute(method: :delete, url: url,
44
- timeout: 10, headers: headers)
44
+ timeout: 30, headers: headers, verify_ssl:false)
45
45
  JSON.parse(response.to_s)
46
46
  end
47
47
  end
@@ -22,7 +22,7 @@ class Morpheus::InstanceTypesInterface < Morpheus::APIClient
22
22
  headers[:params]['name'] = options
23
23
  end
24
24
  response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 10, headers: headers)
25
+ timeout: 30, headers: headers, verify_ssl:false)
26
26
  JSON.parse(response.to_s)
27
27
  end
28
28
 
@@ -34,7 +34,7 @@ class Morpheus::InstanceTypesInterface < Morpheus::APIClient
34
34
  headers[:params][:name] = name
35
35
  end
36
36
  response = Morpheus::RestClient.execute(method: :get, url: url,
37
- timeout: 10, headers: headers)
37
+ timeout: 30, headers: headers, verify_ssl: false)
38
38
  JSON.parse(response.to_s)
39
39
  end
40
40
 
@@ -21,7 +21,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
21
21
  headers[:params]['name'] = options
22
22
  end
23
23
  response = Morpheus::RestClient.execute(method: :get, url: url,
24
- timeout: 10, headers: headers)
24
+ timeout: 30, headers: headers,verify_ssl: false)
25
25
  JSON.parse(response.to_s)
26
26
  end
27
27
 
@@ -29,7 +29,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
29
29
  url = "#{@base_url}/api/instances/#{id}/envs"
30
30
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
31
31
  response = Morpheus::RestClient.execute(method: :get, url: url,
32
- timeout: 10, headers: headers)
32
+ timeout: 30, headers: headers,verify_ssl: false)
33
33
  JSON.parse(response.to_s)
34
34
  end
35
35
 
@@ -39,7 +39,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
39
39
 
40
40
  payload = {envs: options}
41
41
  response = Morpheus::RestClient.execute(method: :post, url: url,
42
- timeout: 10, headers: headers, payload: payload.to_json)
42
+ timeout: 30, headers: headers,verify_ssl: false, payload: payload.to_json)
43
43
  JSON.parse(response.to_s)
44
44
  end
45
45
 
@@ -48,7 +48,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
48
48
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
49
49
 
50
50
  response = Morpheus::RestClient.execute(method: :delete, url: url,
51
- timeout: 10, headers: headers)
51
+ timeout: 30, headers: headers,verify_ssl: false)
52
52
  JSON.parse(response.to_s)
53
53
  end
54
54
 
@@ -59,7 +59,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
59
59
 
60
60
  payload = options
61
61
  response = Morpheus::RestClient.execute(method: :post, url: url,
62
- timeout: 10, headers: headers, payload: payload.to_json)
62
+ timeout: 30, headers: headers,verify_ssl: false, payload: payload.to_json)
63
63
  JSON.parse(response.to_s)
64
64
  end
65
65
 
@@ -67,31 +67,47 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
67
67
  url = "#{@base_url}/api/instances/#{id}"
68
68
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
69
69
  response = Morpheus::RestClient.execute(method: :delete, url: url,
70
- timeout: 10, headers: headers)
70
+ timeout: 30, headers: headers,verify_ssl: false)
71
71
  JSON.parse(response.to_s)
72
72
  end
73
73
 
74
- def stop(id)
74
+ def stop(id,server=true)
75
75
  url = "#{@base_url}/api/instances/#{id}/stop"
76
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
76
+ headers = { :params => {:server => server}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
77
77
  response = Morpheus::RestClient.execute(method: :put, url: url,
78
- timeout: 10, headers: headers)
78
+ timeout: 30, headers: headers,verify_ssl: false)
79
79
  JSON.parse(response.to_s)
80
80
  end
81
81
 
82
- def start(id)
82
+ def start(id,server=true)
83
83
  url = "#{@base_url}/api/instances/#{id}/start"
84
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
84
+ headers = { :params => {:server => server}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
85
85
  response = Morpheus::RestClient.execute(method: :put, url: url,
86
- timeout: 10, headers: headers)
86
+ timeout: 30, headers: headers,verify_ssl: false)
87
87
  JSON.parse(response.to_s)
88
88
  end
89
89
 
90
- def restart(id)
90
+ def restart(id,server=true)
91
91
  url = "#{@base_url}/api/instances/#{id}/restart"
92
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
92
+ headers = { :params => {:server => server},:authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
93
+ response = Morpheus::RestClient.execute(method: :put, url: url,
94
+ timeout: 30, headers: headers,verify_ssl: false)
95
+ JSON.parse(response.to_s)
96
+ end
97
+
98
+ def workflow(id,task_set_id,payload)
99
+ url = "#{@base_url}/api/instances/#{id}/workflow"
100
+ headers = { :params => {:taskSetId => task_set_id},:authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
101
+ response = Morpheus::RestClient.execute(method: :put, url: url,
102
+ timeout: 30, headers: headers,verify_ssl: false,payload: payload.to_json)
103
+ JSON.parse(response.to_s)
104
+ end
105
+
106
+ def backup(id,server=true)
107
+ url = "#{@base_url}/api/instances/#{id}/backup"
108
+ headers = {:authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
93
109
  response = Morpheus::RestClient.execute(method: :put, url: url,
94
- timeout: 10, headers: headers)
110
+ timeout: 30, headers: headers,verify_ssl: false)
95
111
  JSON.parse(response.to_s)
96
112
  end
97
113
 
@@ -99,7 +115,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
99
115
  url = "#{@base_url}/api/instances/#{id}/security-groups/disable"
100
116
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
101
117
  response = Morpheus::RestClient.execute(method: :put, url: url,
102
- timeout: 10, headers: headers)
118
+ timeout: 30, headers: headers,verify_ssl: false)
103
119
  JSON.parse(response.to_s)
104
120
  end
105
121
 
@@ -107,7 +123,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
107
123
  url = "#{@base_url}/api/instances/#{id}/security-groups/enable"
108
124
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
109
125
  response = Morpheus::RestClient.execute(method: :put, url: url,
110
- timeout: 10, headers: headers)
126
+ timeout: 30, headers: headers,verify_ssl: false)
111
127
  JSON.parse(response.to_s)
112
128
  end
113
129
 
@@ -115,7 +131,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
115
131
  url = "#{@base_url}/api/instances/#{id}/security-groups"
116
132
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
117
133
  response = Morpheus::RestClient.execute(method: :get, url: url,
118
- timeout: 10, headers: headers)
134
+ timeout: 30, headers: headers,verify_ssl: false)
119
135
  JSON.parse(response.to_s)
120
136
  end
121
137
 
@@ -125,7 +141,7 @@ class Morpheus::InstancesInterface < Morpheus::APIClient
125
141
  payload = options
126
142
  puts "payload #{payload}"
127
143
  response = Morpheus::RestClient.execute(method: :post, url: url,
128
- timeout: 10, headers: headers, payload: payload.to_json)
144
+ timeout: 30, headers: headers,verify_ssl: false, payload: payload.to_json)
129
145
  JSON.parse(response.to_s)
130
146
  end
131
147