morpheus-cli 2.10.0 → 2.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/bin/morpheus +27 -32
  3. data/lib/morpheus/api/accounts_interface.rb +36 -47
  4. data/lib/morpheus/api/api_client.rb +141 -110
  5. data/lib/morpheus/api/app_templates_interface.rb +56 -72
  6. data/lib/morpheus/api/apps_interface.rb +111 -132
  7. data/lib/morpheus/api/auth_interface.rb +30 -0
  8. data/lib/morpheus/api/clouds_interface.rb +71 -76
  9. data/lib/morpheus/api/custom_instance_types_interface.rb +21 -46
  10. data/lib/morpheus/api/dashboard_interface.rb +10 -17
  11. data/lib/morpheus/api/deploy_interface.rb +60 -72
  12. data/lib/morpheus/api/deployments_interface.rb +53 -71
  13. data/lib/morpheus/api/groups_interface.rb +55 -45
  14. data/lib/morpheus/api/instance_types_interface.rb +19 -23
  15. data/lib/morpheus/api/instances_interface.rb +179 -177
  16. data/lib/morpheus/api/key_pairs_interface.rb +11 -17
  17. data/lib/morpheus/api/license_interface.rb +18 -23
  18. data/lib/morpheus/api/load_balancers_interface.rb +54 -69
  19. data/lib/morpheus/api/logs_interface.rb +25 -29
  20. data/lib/morpheus/api/options_interface.rb +13 -17
  21. data/lib/morpheus/api/provision_types_interface.rb +19 -22
  22. data/lib/morpheus/api/roles_interface.rb +75 -94
  23. data/lib/morpheus/api/security_group_rules_interface.rb +28 -37
  24. data/lib/morpheus/api/security_groups_interface.rb +39 -51
  25. data/lib/morpheus/api/servers_interface.rb +113 -115
  26. data/lib/morpheus/api/setup_interface.rb +31 -0
  27. data/lib/morpheus/api/task_sets_interface.rb +36 -38
  28. data/lib/morpheus/api/tasks_interface.rb +56 -69
  29. data/lib/morpheus/api/users_interface.rb +67 -76
  30. data/lib/morpheus/api/virtual_images_interface.rb +61 -61
  31. data/lib/morpheus/api/whoami_interface.rb +12 -15
  32. data/lib/morpheus/cli.rb +71 -60
  33. data/lib/morpheus/cli/accounts.rb +254 -315
  34. data/lib/morpheus/cli/alias_command.rb +219 -0
  35. data/lib/morpheus/cli/app_templates.rb +264 -272
  36. data/lib/morpheus/cli/apps.rb +608 -671
  37. data/lib/morpheus/cli/cli_command.rb +259 -21
  38. data/lib/morpheus/cli/cli_registry.rb +99 -14
  39. data/lib/morpheus/cli/clouds.rb +599 -372
  40. data/lib/morpheus/cli/config_file.rb +126 -0
  41. data/lib/morpheus/cli/credentials.rb +141 -117
  42. data/lib/morpheus/cli/dashboard_command.rb +48 -56
  43. data/lib/morpheus/cli/deployments.rb +254 -268
  44. data/lib/morpheus/cli/deploys.rb +150 -142
  45. data/lib/morpheus/cli/error_handler.rb +38 -0
  46. data/lib/morpheus/cli/groups.rb +551 -179
  47. data/lib/morpheus/cli/hosts.rb +862 -617
  48. data/lib/morpheus/cli/instance_types.rb +103 -95
  49. data/lib/morpheus/cli/instances.rb +1335 -1009
  50. data/lib/morpheus/cli/key_pairs.rb +82 -90
  51. data/lib/morpheus/cli/library.rb +498 -499
  52. data/lib/morpheus/cli/license.rb +83 -101
  53. data/lib/morpheus/cli/load_balancers.rb +314 -300
  54. data/lib/morpheus/cli/login.rb +66 -44
  55. data/lib/morpheus/cli/logout.rb +47 -46
  56. data/lib/morpheus/cli/mixins/accounts_helper.rb +69 -31
  57. data/lib/morpheus/cli/mixins/infrastructure_helper.rb +106 -0
  58. data/lib/morpheus/cli/mixins/print_helper.rb +181 -17
  59. data/lib/morpheus/cli/mixins/provisioning_helper.rb +535 -458
  60. data/lib/morpheus/cli/mixins/whoami_helper.rb +2 -2
  61. data/lib/morpheus/cli/option_parser.rb +35 -0
  62. data/lib/morpheus/cli/option_types.rb +232 -192
  63. data/lib/morpheus/cli/recent_activity_command.rb +61 -65
  64. data/lib/morpheus/cli/remote.rb +446 -199
  65. data/lib/morpheus/cli/roles.rb +884 -906
  66. data/lib/morpheus/cli/security_group_rules.rb +213 -203
  67. data/lib/morpheus/cli/security_groups.rb +237 -192
  68. data/lib/morpheus/cli/shell.rb +338 -231
  69. data/lib/morpheus/cli/tasks.rb +326 -308
  70. data/lib/morpheus/cli/users.rb +457 -462
  71. data/lib/morpheus/cli/version.rb +1 -1
  72. data/lib/morpheus/cli/version_command.rb +16 -18
  73. data/lib/morpheus/cli/virtual_images.rb +526 -345
  74. data/lib/morpheus/cli/whoami.rb +125 -111
  75. data/lib/morpheus/cli/workflows.rb +338 -185
  76. data/lib/morpheus/formatters.rb +8 -1
  77. data/lib/morpheus/logging.rb +1 -1
  78. data/lib/morpheus/rest_client.rb +17 -8
  79. metadata +9 -3
  80. data/lib/morpheus/api/custom_instance_types.rb +0 -55
@@ -1,29 +1,24 @@
1
- require 'json'
2
- require 'morpheus/rest_client'
1
+ require 'morpheus/api/api_client'
3
2
 
4
3
  class Morpheus::CustomInstanceTypesInterface < 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
4
+ def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
5
+ @access_token = access_token
6
+ @refresh_token = refresh_token
7
+ @base_url = base_url
8
+ @expires_at = expires_at
9
+ end
11
10
 
12
- def list(options={})
11
+ def list(options={})
13
12
  url = "#{@base_url}/api/custom-instance-types"
14
13
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
15
14
  headers[:params].merge!(options)
16
- response = Morpheus::RestClient.execute(method: :get, url: url,
17
- timeout: 10, headers: headers, verify_ssl:false)
18
- JSON.parse(response.to_s)
15
+ execute(method: :get, url: url, headers: headers)
19
16
  end
20
17
 
21
18
  def get(id)
22
19
  url = "#{@base_url}/api/custom-instance-types/#{id}"
23
20
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
24
- response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 10, headers: headers, verify_ssl:false)
26
- JSON.parse(response.to_s)
21
+ execute(method: :get, url: url, headers: headers)
27
22
  end
28
23
 
29
24
  def create(options)
@@ -36,9 +31,7 @@ class Morpheus::CustomInstanceTypesInterface < Morpheus::APIClient
36
31
  # if it
37
32
  # it.each { |k,v| payload["instanceType.#{k}"] = v }
38
33
  # end
39
- response = Morpheus::RestClient.execute(method: :post, url: url,
40
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
41
- JSON.parse(response.to_s)
34
+ execute(method: :post, url: url, headers: headers, payload: payload.to_json)
42
35
  end
43
36
 
44
37
  def update(id, options)
@@ -51,83 +44,65 @@ class Morpheus::CustomInstanceTypesInterface < Morpheus::APIClient
51
44
  # if it
52
45
  # it.each { |k,v| payload["instanceType.#{k}"] = v }
53
46
  # end
54
- response = Morpheus::RestClient.execute(method: :put, url: url,
55
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
56
- JSON.parse(response.to_s)
47
+ execute(method: :put, url: url, headers: headers, payload: payload.to_json)
57
48
  end
58
49
 
59
50
  # NOT json, multipart file upload
60
51
  def update_logo(id, logo_file)
61
- url = "#{@base_url}/api/custom-instance-types/#{id}/updateLogo"
52
+ url = "#{@base_url}/api/custom-instance-types/#{id}/update-logo"
62
53
  headers = { :params => {}, :authorization => "Bearer #{@access_token}"}
63
54
  payload = {}
64
55
  payload[:logo] = logo_file
65
56
  payload[:multipart] = true
66
- response = Morpheus::RestClient.execute(method: :post, url: url,
67
- timeout: 10, headers: headers, payload: payload, verify_ssl:false)
68
- JSON.parse(response.to_s)
57
+ execute(method: :post, url: url, headers: headers, payload: payload)
69
58
  end
70
59
 
71
60
  def destroy(id)
72
61
  url = "#{@base_url}/api/custom-instance-types/#{id}"
73
62
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
74
- response = Morpheus::RestClient.execute(method: :delete, url: url,
75
- timeout: 10, headers: headers, verify_ssl:false)
76
- JSON.parse(response.to_s)
63
+ execute(method: :delete, url: url, headers: headers)
77
64
  end
78
65
 
79
66
  def create_version(instance_type_id, options)
80
67
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/versions"
81
68
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
82
69
  payload = options
83
- response = Morpheus::RestClient.execute(method: :post, url: url,
84
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
85
- JSON.parse(response.to_s)
70
+ execute(method: :post, url: url, headers: headers, payload: payload.to_json)
86
71
  end
87
72
 
88
73
  def update_version(instance_type_id, id, options)
89
74
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/versions/#{id}"
90
75
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
91
76
  payload = options
92
- response = Morpheus::RestClient.execute(method: :put, url: url,
93
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
94
- JSON.parse(response.to_s)
77
+ execute(method: :put, url: url, headers: headers, payload: payload.to_json)
95
78
  end
96
79
 
97
80
  def destroy_version(instance_type_id, id)
98
81
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/versions/#{id}"
99
82
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
100
83
  payload = options
101
- response = Morpheus::RestClient.execute(method: :delete, url: url,
102
- timeout: 10, headers: headers, verify_ssl:false)
103
- JSON.parse(response.to_s)
84
+ execute(method: :delete, url: url, headers: headers)
104
85
  end
105
86
 
106
87
  def create_upgrade(instance_type_id, options)
107
88
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/upgrades"
108
89
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
109
90
  payload = options
110
- response = Morpheus::RestClient.execute(method: :post, url: url,
111
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
112
- JSON.parse(response.to_s)
91
+ execute(method: :post, url: url, headers: headers, payload: payload.to_json)
113
92
  end
114
93
 
115
94
  def update_upgrade(instance_type_id, id, options)
116
95
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/upgrades/#{id}"
117
96
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
118
97
  payload = options
119
- response = Morpheus::RestClient.execute(method: :put, url: url,
120
- timeout: 10, headers: headers, payload: payload.to_json, verify_ssl:false)
121
- JSON.parse(response.to_s)
98
+ execute(method: :put, url: url, headers: headers, payload: payload.to_json)
122
99
  end
123
100
 
124
101
  def destroy_upgrade(instance_type_id, id)
125
102
  url = "#{@base_url}/api/custom-instance-types/#{instance_type_id}/upgrades/#{id}"
126
103
  headers = { :params => {}, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json'}
127
104
  payload = options
128
- response = Morpheus::RestClient.execute(method: :delete, url: url,
129
- timeout: 10, headers: headers, verify_ssl:false)
130
- JSON.parse(response.to_s)
105
+ execute(method: :delete, url: url, headers: headers)
131
106
  end
132
107
 
133
108
  end
@@ -1,13 +1,12 @@
1
- require 'json'
2
- require 'rest-client'
1
+ require 'morpheus/api/api_client'
3
2
 
4
3
  class Morpheus::DashboardInterface < 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
4
+ def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
5
+ @access_token = access_token
6
+ @refresh_token = refresh_token
7
+ @base_url = base_url
8
+ @expires_at = expires_at
9
+ end
11
10
 
12
11
  def get(options={})
13
12
  dashboard(options)
@@ -17,21 +16,15 @@ class Morpheus::DashboardInterface < Morpheus::APIClient
17
16
  url = "#{@base_url}/api/dashboard"
18
17
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
19
18
  headers[:params].merge!(options)
20
- response = Morpheus::RestClient.execute(method: :get, url: url,
21
- timeout: 30, headers: headers, verify_ssl: false)
22
- JSON.parse(response.to_s)
19
+ execute(method: :get, url: url, headers: headers)
23
20
  end
24
21
 
25
- def recent_activity(account_id=nil, options={})
22
+ def recent_activity(account_id=nil, options={})
26
23
  url = "#{@base_url}/api/dashboard/recentActivity"
27
24
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
28
25
  headers[:params].merge!(options)
29
26
  headers[:params]['accountId'] = account_id if account_id
30
- response = Morpheus::RestClient.execute(method: :get, url: url,
31
- timeout: 10, headers: headers)
32
- JSON.parse(response.to_s)
27
+ execute(method: :get, url: url, headers: headers)
33
28
  end
34
29
 
35
-
36
-
37
30
  end
@@ -1,88 +1,76 @@
1
- require 'json'
1
+ require 'morpheus/api/api_client'
2
2
  require 'net/http/post/multipart'
3
3
  require 'mime/types'
4
- require 'morpheus/rest_client'
5
4
 
6
5
  class Morpheus::DeployInterface < Morpheus::APIClient
7
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
8
- @access_token = access_token
9
- @refresh_token = refresh_token
10
- @base_url = base_url
11
- @expires_at = expires_at
12
- end
6
+ def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
7
+ @access_token = access_token
8
+ @refresh_token = refresh_token
9
+ @base_url = base_url
10
+ @expires_at = expires_at
11
+ end
13
12
 
14
13
 
15
- def get(instanceId, options=nil)
16
- url = "#{@base_url}/api/instances/#{instanceId}/deploy"
17
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
14
+ def get(instanceId, options=nil)
15
+ url = "#{@base_url}/api/instances/#{instanceId}/deploy"
16
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
18
17
 
19
- if options.is_a?(Hash)
20
- headers[:params].merge!(options)
21
- elsif options.is_a?(String)
22
- headers[:params]['name'] = options
23
- end
24
- response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 30, headers: headers)
26
- JSON.parse(response.to_s)
27
- end
18
+ if options.is_a?(Hash)
19
+ headers[:params].merge!(options)
20
+ elsif options.is_a?(String)
21
+ headers[:params]['name'] = options
22
+ end
23
+ execute(method: :get, url: url, headers: headers)
24
+ end
28
25
 
29
26
 
30
- def create(instanceId, options=nil)
31
- url = "#{@base_url}/api/instances/#{instanceId}/deploy"
32
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
33
-
34
- payload = options || {}
35
- response = Morpheus::RestClient.execute(method: :post, url: url,
36
- timeout: 30, headers: headers, payload: payload.to_json)
37
- JSON.parse(response.to_s)
38
- end
27
+ def create(instanceId, options=nil)
28
+ url = "#{@base_url}/api/instances/#{instanceId}/deploy"
29
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
30
+ payload = options || {}
31
+ execute(method: :post, url: url, headers: headers, payload: payload.to_json)
32
+ end
39
33
 
40
- def list_files(id)
41
- url = "#{@base_url}/api/deploy/#{id}/files"
42
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
43
-
44
- payload = options
45
- response = Morpheus::RestClient.execute(method: :get, url: url,
46
- timeout: 30, headers: headers)
47
- JSON.parse(response.to_s)
48
- end
34
+ def list_files(id)
35
+ url = "#{@base_url}/api/deploy/#{id}/files"
36
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
37
+ payload = options
38
+ execute(method: :get, url: url, headers: headers)
39
+ end
49
40
 
50
- def upload_file(id,path,destination=nil)
51
- url_string = "#{@base_url}/api/deploy/#{id}/files"
52
- if !destination.empty?
53
- url_string += "/#{destination}"
54
- end
41
+ # todo: use execute() to support @dry_run?
42
+ def upload_file(id,path,destination=nil)
43
+ url_string = "#{@base_url}/api/deploy/#{id}/files"
44
+ if !destination.empty?
45
+ url_string += "/#{destination}"
46
+ end
55
47
 
56
- url = URI.parse(url_string)
57
- req = Net::HTTP::Post::Multipart.new url.path,
58
- "file" => UploadIO.new(File.new(path,'rb'), "image/jpeg", File.basename(path))
48
+ url = URI.parse(url_string)
49
+ req = Net::HTTP::Post::Multipart.new url.path,
50
+ "file" => UploadIO.new(File.new(path,'rb'), "image/jpeg", File.basename(path))
59
51
 
60
- req['Authorization'] = "Bearer #{@access_token}"
61
- res = Net::HTTP.start(url.host, url.port) do |http|
62
- http.request(req)
63
- end
64
-
65
- res
66
- end
52
+ req['Authorization'] = "Bearer #{@access_token}"
53
+ res = Net::HTTP.start(url.host, url.port) do |http|
54
+ http.request(req)
55
+ end
56
+ res
57
+ end
67
58
 
68
- def destroy(id)
69
- url = "#{@base_url}/api/deploy/#{id}"
70
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
71
- response = Morpheus::RestClient.execute(method: :delete, url: url,
72
- timeout: 30, headers: headers)
73
- JSON.parse(response.to_s)
74
- end
59
+ def destroy(id)
60
+ url = "#{@base_url}/api/deploy/#{id}"
61
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
62
+ execute(method: :delete, url: url, headers: headers)
63
+ end
75
64
 
76
- def deploy(id, options)
77
- url = "#{@base_url}/api/deploy/#{id}/deploy"
78
- payload = options
79
- if !options[:appDeploy].nil?
80
- if !options[:appDeploy][:config].nil?
81
- options[:appDeploy][:config] = options[:appDeploy][:config].to_json
82
- end
83
- end
84
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
85
- response = Morpheus::RestClient.execute(method: :post, url: url, headers: headers, timeout: nil, payload: payload.to_json)
86
- JSON.parse(response.to_s)
87
- end
65
+ def deploy(id, options)
66
+ url = "#{@base_url}/api/deploy/#{id}/deploy"
67
+ payload = options
68
+ if !options[:appDeploy].nil?
69
+ if !options[:appDeploy][:config].nil?
70
+ options[:appDeploy][:config] = options[:appDeploy][:config].to_json
71
+ end
72
+ end
73
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
74
+ execute(method: :post, url: url, headers: headers, timeout: nil, payload: payload.to_json)
75
+ end
88
76
  end
@@ -1,82 +1,64 @@
1
- require 'json'
2
- require 'morpheus/rest_client'
1
+ require 'morpheus/api/api_client'
3
2
 
4
3
  class Morpheus::DeploymentsInterface < 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
4
+ def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
5
+ @access_token = access_token
6
+ @refresh_token = refresh_token
7
+ @base_url = base_url
8
+ @expires_at = expires_at
9
+ end
11
10
 
11
+ def get(options=nil)
12
+ url = "#{@base_url}/api/deployments"
13
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
14
+ if options.is_a?(Hash)
15
+ headers[:params].merge!(options)
16
+ elsif options.is_a?(Numeric)
17
+ url = "#{@base_url}/api/deployments/#{options}"
18
+ elsif options.is_a?(String)
19
+ headers[:params]['name'] = options
20
+ end
21
+ execute(method: :get, url: url, headers: headers)
22
+ end
12
23
 
13
- def get(options=nil)
14
- url = "#{@base_url}/api/deployments"
15
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
24
+ def list_versions(deployment_id,options=nil)
25
+ url = "#{@base_url}/api/deployments/#{deployment_id}/versions"
26
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
16
27
 
17
- if options.is_a?(Hash)
18
- headers[:params].merge!(options)
19
- elsif options.is_a?(Numeric)
20
- url = "#{@base_url}/api/deployments/#{options}"
21
- elsif options.is_a?(String)
22
- headers[:params]['name'] = options
23
- end
24
- response = Morpheus::RestClient.execute(method: :get, url: url,
25
- timeout: 30, headers: headers, verify_ssl:false)
26
- JSON.parse(response.to_s)
27
- end
28
+ if options.is_a?(Hash)
29
+ headers[:params].merge!(options)
30
+ elsif options.is_a?(Numeric)
31
+ url = "#{@base_url}/api/deployments/#{deployment_id}/versions/#{options}"
32
+ elsif options.is_a?(String)
33
+ headers[:params]['name'] = options
34
+ end
35
+ execute(method: :get, url: url, headers: headers)
36
+ end
28
37
 
29
- def list_versions(deployment_id,options=nil)
30
- url = "#{@base_url}/api/deployments/#{deployment_id}/versions"
31
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
38
+ def get_version(deployment_id,version_id)
39
+ url = "#{@base_url}/api/deployments/#{deployment_id}/versions/#{version_id}"
40
+ headers = { params: {}, authorization: "Bearer #{@access_token}" }
41
+ execute(method: :get, url: url, headers: headers)
42
+ end
32
43
 
33
- if options.is_a?(Hash)
34
- headers[:params].merge!(options)
35
- elsif options.is_a?(Numeric)
36
- url = "#{@base_url}/api/deployments/#{deployment_id}/versions/#{options}"
37
- elsif options.is_a?(String)
38
- headers[:params]['name'] = options
39
- end
40
- response = Morpheus::RestClient.execute(method: :get, url: url,
41
- timeout: 30, headers: headers, verify_ssl:false)
42
- JSON.parse(response.to_s)
43
- end
44
44
 
45
- def get_version(deployment_id,version_id)
46
- url = "#{@base_url}/api/deployments/#{deployment_id}/versions/#{version_id}"
47
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
45
+ def create(options)
46
+ url = "#{@base_url}/api/deployments"
47
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
48
+ payload = options
49
+ execute(method: :post, url: url, headers: headers, payload: payload.to_json)
50
+ end
48
51
 
49
- response = Morpheus::RestClient.execute(method: :get, url: url,
50
- timeout: 30, headers: headers, verify_ssl:false)
51
- JSON.parse(response.to_s)
52
- end
52
+ def update(id, options)
53
+ url = "#{@base_url}/api/deployments/#{id}"
54
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
55
+ payload = options
56
+ execute(method: :put, url: url, headers: headers, payload: payload.to_json)
57
+ end
53
58
 
54
-
55
- def create(options)
56
- url = "#{@base_url}/api/deployments"
57
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
58
-
59
- payload = options
60
- response = Morpheus::RestClient.execute(method: :post, url: url,
61
- timeout: 30, headers: headers, verify_ssl:false, payload: payload.to_json)
62
- JSON.parse(response.to_s)
63
- end
64
-
65
- def update(id, options)
66
- url = "#{@base_url}/api/deployments/#{id}"
67
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
68
-
69
- payload = options
70
- response = Morpheus::RestClient.execute(method: :put, url: url,
71
- timeout: 10, headers: headers, payload: payload.to_json)
72
- JSON.parse(response.to_s)
73
- end
74
-
75
- def destroy(id)
76
- url = "#{@base_url}/api/deployments/#{id}"
77
- headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
78
- response = Morpheus::RestClient.execute(method: :delete, url: url,
79
- timeout: 30, headers: headers, verify_ssl:false)
80
- JSON.parse(response.to_s)
81
- end
59
+ def destroy(id)
60
+ url = "#{@base_url}/api/deployments/#{id}"
61
+ headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
62
+ execute(method: :delete, url: url, headers: headers)
63
+ end
82
64
  end