morpheus-cli 5.3.1 → 5.3.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/lib/morpheus/api/account_groups_interface.rb +0 -6
  4. data/lib/morpheus/api/accounts_interface.rb +1 -7
  5. data/lib/morpheus/api/api_client.rb +108 -106
  6. data/lib/morpheus/api/appliance_settings_interface.rb +6 -9
  7. data/lib/morpheus/api/approvals_interface.rb +5 -8
  8. data/lib/morpheus/api/apps_interface.rb +0 -7
  9. data/lib/morpheus/api/archive_buckets_interface.rb +9 -16
  10. data/lib/morpheus/api/archive_files_interface.rb +0 -6
  11. data/lib/morpheus/api/auth_interface.rb +4 -4
  12. data/lib/morpheus/api/backup_settings_interface.rb +5 -8
  13. data/lib/morpheus/api/blueprints_interface.rb +1 -7
  14. data/lib/morpheus/api/budgets_interface.rb +0 -6
  15. data/lib/morpheus/api/cloud_datastores_interface.rb +0 -6
  16. data/lib/morpheus/api/cloud_folders_interface.rb +1 -7
  17. data/lib/morpheus/api/cloud_policies_interface.rb +0 -6
  18. data/lib/morpheus/api/cloud_resource_pools_interface.rb +0 -6
  19. data/lib/morpheus/api/clouds_interface.rb +0 -6
  20. data/lib/morpheus/api/clusters_interface.rb +39 -42
  21. data/lib/morpheus/api/containers_interface.rb +0 -6
  22. data/lib/morpheus/api/custom_instance_types_interface.rb +0 -6
  23. data/lib/morpheus/api/cypher_interface.rb +0 -6
  24. data/lib/morpheus/api/datastores_interface.rb +4 -7
  25. data/lib/morpheus/api/deploy_interface.rb +1 -6
  26. data/lib/morpheus/api/environments_interface.rb +0 -6
  27. data/lib/morpheus/api/execute_schedules_interface.rb +0 -6
  28. data/lib/morpheus/api/execution_request_interface.rb +0 -6
  29. data/lib/morpheus/api/file_copy_request_interface.rb +2 -9
  30. data/lib/morpheus/api/group_policies_interface.rb +0 -6
  31. data/lib/morpheus/api/groups_interface.rb +0 -7
  32. data/lib/morpheus/api/guidance_interface.rb +9 -12
  33. data/lib/morpheus/api/health_interface.rb +0 -6
  34. data/lib/morpheus/api/image_builder_boot_scripts_interface.rb +0 -6
  35. data/lib/morpheus/api/image_builder_image_builds_interface.rb +0 -6
  36. data/lib/morpheus/api/image_builder_interface.rb +3 -9
  37. data/lib/morpheus/api/image_builder_preseed_scripts_interface.rb +0 -6
  38. data/lib/morpheus/api/instance_types_interface.rb +0 -7
  39. data/lib/morpheus/api/instances_interface.rb +8 -19
  40. data/lib/morpheus/api/integrations_interface.rb +30 -0
  41. data/lib/morpheus/api/invoice_line_items_interface.rb +4 -9
  42. data/lib/morpheus/api/jobs_interface.rb +11 -14
  43. data/lib/morpheus/api/key_pairs_interface.rb +0 -6
  44. data/lib/morpheus/api/library_cluster_layouts_interface.rb +0 -6
  45. data/lib/morpheus/api/library_container_scripts_interface.rb +0 -6
  46. data/lib/morpheus/api/library_container_templates_interface.rb +0 -6
  47. data/lib/morpheus/api/library_container_types_interface.rb +0 -6
  48. data/lib/morpheus/api/library_container_upgrades_interface.rb +0 -6
  49. data/lib/morpheus/api/library_instance_types_interface.rb +0 -6
  50. data/lib/morpheus/api/library_layouts_interface.rb +0 -6
  51. data/lib/morpheus/api/library_spec_template_types_interface.rb +0 -6
  52. data/lib/morpheus/api/library_spec_templates_interface.rb +0 -6
  53. data/lib/morpheus/api/license_interface.rb +0 -6
  54. data/lib/morpheus/api/load_balancers_interface.rb +0 -6
  55. data/lib/morpheus/api/log_settings_interface.rb +9 -12
  56. data/lib/morpheus/api/logs_interface.rb +0 -6
  57. data/lib/morpheus/api/monitoring_alerts_interface.rb +0 -6
  58. data/lib/morpheus/api/monitoring_apps_interface.rb +0 -6
  59. data/lib/morpheus/api/monitoring_checks_interface.rb +0 -6
  60. data/lib/morpheus/api/monitoring_contacts_interface.rb +0 -6
  61. data/lib/morpheus/api/monitoring_groups_interface.rb +0 -6
  62. data/lib/morpheus/api/monitoring_incidents_interface.rb +0 -6
  63. data/lib/morpheus/api/monitoring_interface.rb +6 -12
  64. data/lib/morpheus/api/network_domain_records_interface.rb +0 -6
  65. data/lib/morpheus/api/network_domains_interface.rb +0 -6
  66. data/lib/morpheus/api/network_groups_interface.rb +0 -6
  67. data/lib/morpheus/api/network_pool_ips_interface.rb +0 -6
  68. data/lib/morpheus/api/network_pool_servers_interface.rb +0 -6
  69. data/lib/morpheus/api/network_pools_interface.rb +0 -6
  70. data/lib/morpheus/api/network_proxies_interface.rb +0 -6
  71. data/lib/morpheus/api/network_routers_interface.rb +0 -6
  72. data/lib/morpheus/api/network_security_servers_interface.rb +6 -9
  73. data/lib/morpheus/api/network_services_interface.rb +0 -14
  74. data/lib/morpheus/api/network_subnets_interface.rb +0 -6
  75. data/lib/morpheus/api/network_types_interface.rb +1 -7
  76. data/lib/morpheus/api/networks_interface.rb +0 -6
  77. data/lib/morpheus/api/option_type_lists_interface.rb +0 -6
  78. data/lib/morpheus/api/option_types_interface.rb +0 -6
  79. data/lib/morpheus/api/options_interface.rb +0 -6
  80. data/lib/morpheus/api/packages_interface.rb +0 -6
  81. data/lib/morpheus/api/policies_interface.rb +1 -8
  82. data/lib/morpheus/api/power_schedules_interface.rb +0 -6
  83. data/lib/morpheus/api/price_sets_interface.rb +8 -11
  84. data/lib/morpheus/api/prices_interface.rb +12 -15
  85. data/lib/morpheus/api/processes_interface.rb +0 -6
  86. data/lib/morpheus/api/provision_types_interface.rb +0 -6
  87. data/lib/morpheus/api/provisioning_license_types_interface.rb +0 -6
  88. data/lib/morpheus/api/provisioning_licenses_interface.rb +0 -6
  89. data/lib/morpheus/api/provisioning_settings_interface.rb +6 -9
  90. data/lib/morpheus/api/reports_interface.rb +0 -6
  91. data/lib/morpheus/api/roles_interface.rb +0 -6
  92. data/lib/morpheus/api/security_group_rules_interface.rb +0 -7
  93. data/lib/morpheus/api/security_groups_interface.rb +0 -6
  94. data/lib/morpheus/api/server_types_interface.rb +0 -6
  95. data/lib/morpheus/api/servers_interface.rb +0 -6
  96. data/lib/morpheus/api/service_plans_interface.rb +11 -14
  97. data/lib/morpheus/api/storage_providers_interface.rb +9 -16
  98. data/lib/morpheus/api/subnet_types_interface.rb +1 -7
  99. data/lib/morpheus/api/subnets_interface.rb +0 -6
  100. data/lib/morpheus/api/task_sets_interface.rb +0 -6
  101. data/lib/morpheus/api/tasks_interface.rb +0 -6
  102. data/lib/morpheus/api/user_groups_interface.rb +0 -6
  103. data/lib/morpheus/api/user_sources_interface.rb +0 -6
  104. data/lib/morpheus/api/users_interface.rb +0 -6
  105. data/lib/morpheus/api/virtual_images_interface.rb +0 -6
  106. data/lib/morpheus/api/whitelabel_settings_interface.rb +8 -11
  107. data/lib/morpheus/api/wiki_interface.rb +0 -6
  108. data/lib/morpheus/cli/access_token_command.rb +1 -1
  109. data/lib/morpheus/cli/account_groups_command.rb +4 -4
  110. data/lib/morpheus/cli/apps.rb +9 -9
  111. data/lib/morpheus/cli/archives_command.rb +5 -5
  112. data/lib/morpheus/cli/blueprints_command.rb +5 -5
  113. data/lib/morpheus/cli/boot_scripts_command.rb +1 -1
  114. data/lib/morpheus/cli/change_password_command.rb +4 -4
  115. data/lib/morpheus/cli/cli_command.rb +2 -1
  116. data/lib/morpheus/cli/clouds.rb +2 -2
  117. data/lib/morpheus/cli/clusters.rb +2 -2
  118. data/lib/morpheus/cli/credentials.rb +4 -11
  119. data/lib/morpheus/cli/environments_command.rb +1 -1
  120. data/lib/morpheus/cli/execute_schedules_command.rb +3 -3
  121. data/lib/morpheus/cli/hosts.rb +8 -8
  122. data/lib/morpheus/cli/image_builder_command.rb +6 -6
  123. data/lib/morpheus/cli/instance_types.rb +1 -1
  124. data/lib/morpheus/cli/instances.rb +54 -27
  125. data/lib/morpheus/cli/integrations_command.rb +567 -1
  126. data/lib/morpheus/cli/invoices_command.rb +75 -67
  127. data/lib/morpheus/cli/key_pairs.rb +2 -2
  128. data/lib/morpheus/cli/library_container_scripts_command.rb +1 -1
  129. data/lib/morpheus/cli/library_container_templates_command.rb +1 -1
  130. data/lib/morpheus/cli/library_container_types_command.rb +6 -6
  131. data/lib/morpheus/cli/library_instance_types_command.rb +4 -4
  132. data/lib/morpheus/cli/library_layouts_command.rb +5 -5
  133. data/lib/morpheus/cli/library_option_lists_command.rb +4 -4
  134. data/lib/morpheus/cli/library_option_types_command.rb +4 -4
  135. data/lib/morpheus/cli/library_upgrades_command.rb +6 -6
  136. data/lib/morpheus/cli/license.rb +2 -2
  137. data/lib/morpheus/cli/load_balancers.rb +1 -1
  138. data/lib/morpheus/cli/login.rb +3 -1
  139. data/lib/morpheus/cli/mixins/provisioning_helper.rb +1 -1
  140. data/lib/morpheus/cli/option_types.rb +5 -1
  141. data/lib/morpheus/cli/policies_command.rb +0 -1
  142. data/lib/morpheus/cli/power_schedules_command.rb +3 -3
  143. data/lib/morpheus/cli/preseed_scripts_command.rb +1 -1
  144. data/lib/morpheus/cli/remote.rb +1 -1
  145. data/lib/morpheus/cli/roles.rb +9 -9
  146. data/lib/morpheus/cli/security_group_rules.rb +1 -1
  147. data/lib/morpheus/cli/setup.rb +0 -1
  148. data/lib/morpheus/cli/tenants_command.rb +3 -3
  149. data/lib/morpheus/cli/user_groups_command.rb +3 -3
  150. data/lib/morpheus/cli/user_sources_command.rb +3 -3
  151. data/lib/morpheus/cli/users.rb +3 -3
  152. data/lib/morpheus/cli/version.rb +1 -1
  153. data/lib/morpheus/cli/virtual_images.rb +1 -1
  154. data/lib/morpheus/cli/whoami.rb +0 -15
  155. data/lib/morpheus/cli/wiki_command.rb +1 -1
  156. metadata +2 -2
@@ -1,28 +1,25 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ApplianceSettingsInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='appliance-settings')
5
- @access_token = access_token
6
- @refresh_token = refresh_token
7
- @base_url = base_url
8
- @api_url = "#{base_url}/api/#{api}"
9
- @expires_at = expires_at
4
+
5
+ def base_path
6
+ "/api/appliance-settings"
10
7
  end
11
8
 
12
9
  def get()
13
- url = @api_url
10
+ url = base_path
14
11
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
15
12
  execute(method: :get, url: url, headers: headers)
16
13
  end
17
14
 
18
15
  def update(payload)
19
- url = @api_url
16
+ url = base_path
20
17
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
21
18
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
22
19
  end
23
20
 
24
21
  def cloud_types(params={})
25
- url = "#{@api_url}/zone-types"
22
+ url = "#{base_path}/zone-types"
26
23
  headers = { params: params, authorization: "Bearer #{@access_token}" }
27
24
  opts = {method: :get, url: url, headers: headers}
28
25
  execute(opts)
@@ -1,22 +1,19 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ApprovalsInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='approvals')
5
- @access_token = access_token
6
- @refresh_token = refresh_token
7
- @base_url = base_url
8
- @api_url = "#{base_url}/api/#{api}"
9
- @expires_at = expires_at
4
+
5
+ def base_path
6
+ "/api/approvals"
10
7
  end
11
8
 
12
9
  def list(params={})
13
- url = @api_url
10
+ url = base_path
14
11
  headers = { params: params, authorization: "Bearer #{@access_token}" }
15
12
  execute(method: :get, url: url, headers: headers)
16
13
  end
17
14
 
18
15
  def get(id, params={})
19
- url = "#{@api_url}/#{id}"
16
+ url = "#{base_path}/#{id}"
20
17
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
21
18
  execute(method: :get, url: url, headers: headers)
22
19
  end
@@ -1,13 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::AppsInterface < Morpheus::APIClient
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
10
-
11
4
 
12
5
  def get(params={})
13
6
  url = "#{@base_url}/api/apps"
@@ -1,17 +1,10 @@
1
1
  require 'morpheus/api/api_client'
2
- require 'uri'
3
2
 
4
3
  class Morpheus::ArchiveBucketsInterface < 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
-
4
+
12
5
  def get(id, params={})
13
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
14
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(id)}"
7
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id)}"
15
8
  headers = { params: params, authorization: "Bearer #{@access_token}" }
16
9
  opts = {method: :get, url: url, headers: headers}
17
10
  execute(opts)
@@ -32,14 +25,14 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
32
25
  end
33
26
 
34
27
  def update(id, payload)
35
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(id.to_s)}"
28
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}"
36
29
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
37
30
  opts = {method: :put, url: url, headers: headers, payload: payload.to_json}
38
31
  execute(opts)
39
32
  end
40
33
 
41
34
  def destroy(id, params={})
42
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(id.to_s)}"
35
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}"
43
36
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
44
37
  opts = {method: :delete, url: url, headers: headers}
45
38
  execute(opts)
@@ -49,7 +42,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
49
42
  if file_path.to_s.strip == "/"
50
43
  file_path = ""
51
44
  end
52
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(id.to_s)}" + "/files/#{URI.escape(file_path)}".squeeze('/')
45
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}" + "/files/#{CGI::escape(file_path)}".squeeze('/')
53
46
  headers = { params: params, authorization: "Bearer #{@access_token}" }
54
47
  opts = {method: :get, url: url, headers: headers}
55
48
  execute(opts)
@@ -68,13 +61,13 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
68
61
  end
69
62
  path_chunks = path.split("/")
70
63
  filename = path_chunks.pop
71
- safe_dirname = path_chunks.collect {|it| URI.escape(it) }.join("/")
64
+ safe_dirname = path_chunks.collect {|it| CGI::escape(it) }.join("/")
72
65
  # filename = File.basename(destination)
73
66
  # dirname = File.dirname(destination)
74
67
  # if filename == "" || filename == "/"
75
68
  # filename = File.basename(local_file)
76
69
  # end
77
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(bucket_id.to_s)}" + "/files/#{safe_dirname}".squeeze('/')
70
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(bucket_id.to_s)}" + "/files/#{safe_dirname}".squeeze('/')
78
71
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/octet-stream'}
79
72
  headers[:params][:filename] = filename # File.basename(destination)
80
73
  if !local_file.kind_of?(File)
@@ -86,7 +79,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
86
79
  end
87
80
 
88
81
  def download_bucket_zip_chunked(bucket_id, outfile, params={})
89
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(bucket_id.to_s)}" + ".zip"
82
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(bucket_id.to_s)}" + ".zip"
90
83
  headers = { params: params, authorization: "Bearer #{@access_token}" }
91
84
  opts = {method: :get, url: url, headers: headers, timeout: 172800}
92
85
  # execute(opts, {parse_json:false})
@@ -114,7 +107,7 @@ class Morpheus::ArchiveBucketsInterface < Morpheus::APIClient
114
107
  end
115
108
 
116
109
  def recalc(id, params={})
117
- url = "#{@base_url}/api/archives/buckets/#{URI.escape(id.to_s)}/recalc"
110
+ url = "#{@base_url}/api/archives/buckets/#{CGI::escape(id.to_s)}/recalc"
118
111
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
119
112
  opts = {method: :get, url: url, headers: headers, payload: payload.to_json}
120
113
  execute(opts)
@@ -1,11 +1,5 @@
1
1
  require 'morpheus/api/api_client'
2
2
  class Morpheus::ArchiveFilesInterface < Morpheus::APIClient
3
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil)
4
- @access_token = access_token
5
- @refresh_token = refresh_token
6
- @base_url = base_url
7
- @expires_at = expires_at
8
- end
9
3
 
10
4
  def get(file_id, params={})
11
5
  raise "#{self.class}.get() passed a blank id!" if file_id.to_s == ''
@@ -2,10 +2,10 @@ require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::AuthInterface < Morpheus::APIClient
4
4
 
5
- # def initialize(base_url, access_token=nil)
6
- # @base_url = base_url
7
- # @access_token = access_token
8
- # end
5
+ # no Authorization header is required
6
+ def authorization_required?
7
+ false
8
+ end
9
9
 
10
10
  def login(username, password, use_client_id=nil)
11
11
  if use_client_id
@@ -1,22 +1,19 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::BackupSettingsInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='backup-settings')
5
- @access_token = access_token
6
- @refresh_token = refresh_token
7
- @base_url = base_url
8
- @api_url = "#{base_url}/api/#{api}"
9
- @expires_at = expires_at
4
+
5
+ def base_path
6
+ "/api/backup-settings"
10
7
  end
11
8
 
12
9
  def get(params={})
13
- url = @api_url
10
+ url = base_path
14
11
  headers = { params: params, authorization: "Bearer #{@access_token}" }
15
12
  execute(method: :get, url: url, headers: headers)
16
13
  end
17
14
 
18
15
  def update(payload, params={})
19
- url = @api_url
16
+ url = base_path
20
17
  headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
21
18
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
22
19
  end
@@ -1,13 +1,7 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::BlueprintsInterface < Morpheus::APIClient
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
10
-
4
+
11
5
  def get(id)
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
13
7
  url = "#{@base_url}/api/blueprints/#{id}"
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::BudgetsInterface < Morpheus::APIClient
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
10
4
 
11
5
  def get(id, params={})
12
6
  raise "#{self.class}.get() passed a blank name!" if id.to_s == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CloudDatastoresInterface < Morpheus::APIClient
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
10
4
 
11
5
  def get(cloud_id, id, params={})
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
@@ -1,13 +1,7 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CloudFoldersInterface < Morpheus::APIClient
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
10
-
4
+
11
5
  def get(cloud_id, id, params={})
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
13
7
  url = "#{@base_url}/api/zones/#{cloud_id}/folders/#{id}"
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CloudPoliciesInterface < Morpheus::APIClient
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
10
4
 
11
5
  def get(cloud_id, id, params={})
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CloudResourcePoolsInterface < Morpheus::APIClient
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
10
4
 
11
5
  def get(cloud_id, id, params={})
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CloudsInterface < Morpheus::APIClient
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
10
4
 
11
5
  def cloud_types(params={})
12
6
  url = "#{@base_url}/api/zone-types"
@@ -1,28 +1,25 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ClustersInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='clusters')
5
- @access_token = access_token
6
- @refresh_token = refresh_token
7
- @base_url = base_url
8
- @api_url = "#{base_url}/api/#{api}"
9
- @expires_at = expires_at
4
+
5
+ def base_path
6
+ "/api/clusters"
10
7
  end
11
8
 
12
9
  def list(params={})
13
- url = @api_url
10
+ url = base_path
14
11
  headers = { params: params, authorization: "Bearer #{@access_token}" }
15
12
  execute(method: :get, url: url, headers: headers)
16
13
  end
17
14
 
18
15
  def get(params={})
19
- url = @api_url
16
+ url = base_path
20
17
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
21
18
 
22
19
  if params.is_a?(Hash)
23
20
  headers[:params].merge!(params)
24
21
  elsif params.is_a?(Numeric)
25
- url = "#{@api_url}/#{params}"
22
+ url = "#{base_path}/#{params}"
26
23
  elsif params.is_a?(String)
27
24
  headers[:params]['name'] = params
28
25
  end
@@ -30,19 +27,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
30
27
  end
31
28
 
32
29
  def create(payload)
33
- url = @api_url
30
+ url = base_path
34
31
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
35
32
  execute(method: :post, url: url, headers: headers, payload: payload.to_json)
36
33
  end
37
34
 
38
35
  def update(id, payload)
39
- url = "#{@api_url}/#{id}"
36
+ url = "#{base_path}/#{id}"
40
37
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
41
38
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
42
39
  end
43
40
 
44
41
  def destroy(id, params={})
45
- url = "#{@api_url}/#{id}"
42
+ url = "#{base_path}/#{id}"
46
43
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
47
44
  execute(method: :delete, url: url, headers: headers)
48
45
  end
@@ -57,13 +54,13 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
57
54
  end
58
55
 
59
56
  def update_permissions(id, payload)
60
- url = "#{@api_url}/#{id}/permissions"
57
+ url = "#{base_path}/#{id}/permissions"
61
58
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
62
59
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
63
60
  end
64
61
 
65
62
  def list_jobs(id, params={})
66
- url = "#{@api_url}/#{id}/jobs"
63
+ url = "#{base_path}/#{id}/jobs"
67
64
  headers = { params: params, authorization: "Bearer #{@access_token}" }
68
65
  execute(method: :get, url: url, headers: headers)
69
66
  end
@@ -71,10 +68,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
71
68
  def destroy_job(id, job_id=nil, params={}, payload={})
72
69
  url = nil
73
70
  if job_id.is_a?(Array)
74
- url = "#{@api_url}/#{id}/jobs"
71
+ url = "#{base_path}/#{id}/jobs"
75
72
  params['jobId'] = job_id
76
73
  elsif job_id.is_a?(Numeric) || job_id.is_a?(String)
77
- url = "#{@api_url}/#{id}/jobs/#{job_id}"
74
+ url = "#{base_path}/#{id}/jobs/#{job_id}"
78
75
  else
79
76
  raise "passed a bad volume_id: #{job_id || '(none)'}" # lazy
80
77
  end
@@ -83,19 +80,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
83
80
  end
84
81
 
85
82
  def list_masters(id, params={})
86
- url = "#{@api_url}/#{id}/masters"
83
+ url = "#{base_path}/#{id}/masters"
87
84
  headers = { params: params, authorization: "Bearer #{@access_token}" }
88
85
  execute(method: :get, url: url, headers: headers)
89
86
  end
90
87
 
91
88
  def list_workers(id, params={})
92
- url = "#{@api_url}/#{id}/workers"
89
+ url = "#{base_path}/#{id}/workers"
93
90
  headers = { params: params, authorization: "Bearer #{@access_token}" }
94
91
  execute(method: :get, url: url, headers: headers)
95
92
  end
96
93
 
97
94
  def list_services(id, params={})
98
- url = "#{@api_url}/#{id}/services"
95
+ url = "#{base_path}/#{id}/services"
99
96
  headers = { params: params, authorization: "Bearer #{@access_token}" }
100
97
  execute(method: :get, url: url, headers: headers)
101
98
  end
@@ -104,10 +101,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
104
101
  def destroy_service(id, service_id=nil, params={}, payload={})
105
102
  url = nil
106
103
  if service_id.is_a?(Array)
107
- url = "#{@api_url}/#{id}/services"
104
+ url = "#{base_path}/#{id}/services"
108
105
  params['serviceId'] = service_id
109
106
  elsif service_id.is_a?(Numeric) || service_id.is_a?(String)
110
- url = "#{@api_url}/#{id}/services/#{service_id}"
107
+ url = "#{base_path}/#{id}/services/#{service_id}"
111
108
  else
112
109
  raise "passed a bad volume_id: #{service_id || '(none)'}" # lazy
113
110
  end
@@ -116,13 +113,13 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
116
113
  end
117
114
 
118
115
  def add_server(id, payload)
119
- url = "#{@api_url}/#{id}/servers"
116
+ url = "#{base_path}/#{id}/servers"
120
117
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
121
118
  execute(method: :post, url: url, headers: headers, payload: payload.to_json)
122
119
  end
123
120
 
124
121
  def list_volumes(id, params={})
125
- url = "#{@api_url}/#{id}/volumes"
122
+ url = "#{base_path}/#{id}/volumes"
126
123
  headers = { params: params, authorization: "Bearer #{@access_token}" }
127
124
  execute(method: :get, url: url, headers: headers)
128
125
  end
@@ -131,10 +128,10 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
131
128
  def destroy_volume(id, volume_id=nil, params={}, payload={})
132
129
  url = nil
133
130
  if volume_id.is_a?(Array)
134
- url = "#{@api_url}/#{id}/volumes"
131
+ url = "#{base_path}/#{id}/volumes"
135
132
  params['volumeId'] = volume_id
136
133
  elsif volume_id.is_a?(Numeric) || volume_id.is_a?(String)
137
- url = "#{@api_url}/#{id}/volumes/#{volume_id}"
134
+ url = "#{base_path}/#{id}/volumes/#{volume_id}"
138
135
  else
139
136
  raise "passed a bad volume_id: #{volume_id || '(none)'}" # lazy
140
137
  end
@@ -145,31 +142,31 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
145
142
  alias :delete_volume :destroy_volume
146
143
 
147
144
  def list_namespaces(id, params={})
148
- url = "#{@api_url}/#{id}/namespaces"
145
+ url = "#{base_path}/#{id}/namespaces"
149
146
  headers = { params: params, authorization: "Bearer #{@access_token}" }
150
147
  execute(method: :get, url: url, headers: headers)
151
148
  end
152
149
 
153
150
  def get_namespace(id, namespace_id, params={})
154
- url = "#{@api_url}/#{id}/namespaces/#{namespace_id}"
151
+ url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
155
152
  headers = { params: params, authorization: "Bearer #{@access_token}" }
156
153
  execute(method: :get, url: url, headers: headers)
157
154
  end
158
155
 
159
156
  def create_namespace(id, payload)
160
- url = "#{@api_url}/#{id}/namespaces"
157
+ url = "#{base_path}/#{id}/namespaces"
161
158
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
162
159
  execute(method: :post, url: url, headers: headers, payload: payload.to_json)
163
160
  end
164
161
 
165
162
  def update_namespace(id, namespace_id, payload)
166
- url = "#{@api_url}/#{id}/namespaces/#{namespace_id}"
163
+ url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
167
164
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
168
165
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
169
166
  end
170
167
 
171
168
  def destroy_namespace(id, namespace_id, params={})
172
- url = "#{@api_url}/#{id}/namespaces/#{namespace_id}"
169
+ url = "#{base_path}/#{id}/namespaces/#{namespace_id}"
173
170
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
174
171
  execute(method: :delete, url: url, headers: headers)
175
172
  end
@@ -177,23 +174,23 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
177
174
  alias :delete_namespace :destroy_namespace
178
175
 
179
176
  def list_containers(id, params={})
180
- url = "#{@api_url}/#{id}/containers"
177
+ url = "#{base_path}/#{id}/containers"
181
178
  headers = { params: params, authorization: "Bearer #{@access_token}" }
182
179
  execute(method: :get, url: url, headers: headers)
183
180
  end
184
181
 
185
182
  def restart_container(id, container_id, params={})
186
- url = "#{@api_url}/#{id}/containers/#{container_id}/restart"
183
+ url = "#{base_path}/#{id}/containers/#{container_id}/restart"
187
184
  headers = { params: params, authorization: "Bearer #{@access_token}" }
188
185
  execute(method: :put, url: url, headers: headers)
189
186
  end
190
187
 
191
188
  def destroy_container(id, container_id, params={})
192
189
  if container_id.is_a?(Array)
193
- url = "#{@api_url}/#{id}/containers"
190
+ url = "#{base_path}/#{id}/containers"
194
191
  params['containerId'] = container_id
195
192
  elsif container_id.is_a?(Numeric) || container_id.is_a?(String)
196
- url = "#{@api_url}/#{id}/containers/#{container_id}"
193
+ url = "#{base_path}/#{id}/containers/#{container_id}"
197
194
  else
198
195
  raise "passed a bad container_id: #{container_id || '(none)'}" # lazy
199
196
  end
@@ -202,23 +199,23 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
202
199
  end
203
200
 
204
201
  def list_container_groups(id, resource_type, params={})
205
- url = "#{@api_url}/#{id}/#{resource_type}s"
202
+ url = "#{base_path}/#{id}/#{resource_type}s"
206
203
  headers = { params: params, authorization: "Bearer #{@access_token}" }
207
204
  execute(method: :get, url: url, headers: headers)
208
205
  end
209
206
 
210
207
  def restart_container_group(id, container_group_id, resource_type, params={})
211
- url = "#{@api_url}/#{id}/#{resource_type}s/#{container_group_id}/restart"
208
+ url = "#{base_path}/#{id}/#{resource_type}s/#{container_group_id}/restart"
212
209
  headers = { params: params, authorization: "Bearer #{@access_token}" }
213
210
  execute(method: :put, url: url, headers: headers)
214
211
  end
215
212
 
216
213
  def destroy_container_group(id, container_group_id, resource_type, params={})
217
214
  if container_group_id.is_a?(Array)
218
- url = "#{@api_url}/#{id}/#{resource_type}s"
215
+ url = "#{base_path}/#{id}/#{resource_type}s"
219
216
  params['containerGroupId'] = container_group_id
220
217
  elsif container_group_id.is_a?(Numeric) || container_group_id.is_a?(String)
221
- url = "#{@api_url}/#{id}/#{resource_type}s/#{container_group_id}"
218
+ url = "#{base_path}/#{id}/#{resource_type}s/#{container_group_id}"
222
219
  else
223
220
  raise "passed a bad container_group_id: #{container_group_id || '(none)'}" # lazy
224
221
  end
@@ -227,19 +224,19 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
227
224
  end
228
225
 
229
226
  def list_datastores(id, params={})
230
- url = "#{@api_url}/#{id}/datastores"
227
+ url = "#{base_path}/#{id}/datastores"
231
228
  headers = { params: params, authorization: "Bearer #{@access_token}" }
232
229
  execute(method: :get, url: url, headers: headers)
233
230
  end
234
231
 
235
232
  def get_datastore(id, datastore_id, params={})
236
- url = "#{@api_url}/#{id}/datastores/#{datastore_id}"
233
+ url = "#{base_path}/#{id}/datastores/#{datastore_id}"
237
234
  headers = { params: params, authorization: "Bearer #{@access_token}" }
238
235
  execute(method: :get, url: url, headers: headers)
239
236
  end
240
237
 
241
238
  def update_datastore(id, datastore_id, payload)
242
- url = "#{@api_url}/#{id}/datastores/#{datastore_id}"
239
+ url = "#{base_path}/#{id}/datastores/#{datastore_id}"
243
240
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
244
241
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
245
242
  end
@@ -259,7 +256,7 @@ class Morpheus::ClustersInterface < Morpheus::APIClient
259
256
  end
260
257
 
261
258
  def api_config(id, params={})
262
- url = "#{@api_url}/#{id}/api-config"
259
+ url = "#{base_path}/#{id}/api-config"
263
260
  headers = { params: params, authorization: "Bearer #{@access_token}" }
264
261
  execute(method: :get, url: url, headers: headers)
265
262
  end