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
@@ -3,12 +3,6 @@ require 'morpheus/api/api_client'
3
3
  # Containers API interface.
4
4
  # All of the PUT methods support passing an array of IDs.
5
5
  class Morpheus::ContainersInterface < Morpheus::APIClient
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
12
6
 
13
7
  # not used atm.. index api needs some work, we should implement it
14
8
  # so it just paginates all containers.
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::CustomInstanceTypesInterface < 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 list(params={})
12
6
  url = "#{@base_url}/api/custom-instance-types"
@@ -2,12 +2,6 @@ require 'morpheus/api/api_client'
2
2
  require 'uri'
3
3
 
4
4
  class Morpheus::CypherInterface < 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
5
 
12
6
  def base_path
13
7
  # can use just "/api/cypher" in 4.1.2
@@ -1,16 +1,13 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::DatastoresInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='data-stores')
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/data-stores"
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
@@ -3,17 +3,12 @@ require 'net/http/post/multipart'
3
3
  require 'mime/types'
4
4
 
5
5
  class Morpheus::DeployInterface < Morpheus::APIClient
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
12
6
 
13
7
  def base_path
14
8
  # /api/deploys is now available in 5.0, switch to that eventually...
15
9
  "/api/deploy"
16
10
  end
11
+
17
12
  def list(params={})
18
13
  execute(method: :get, url: "#{base_path}", params: params)
19
14
  end
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::EnvironmentsInterface < 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 id!" if id.to_s == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ExecuteSchedulesInterface < 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 == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ExecutionRequestInterface < 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 id!" if id.to_s == ''
@@ -1,13 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
- require 'uri'
3
2
 
4
3
  class Morpheus::FileCopyRequestInterface < 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 == ''
@@ -35,7 +28,7 @@ class Morpheus::FileCopyRequestInterface < Morpheus::APIClient
35
28
  if !local_file.kind_of?(File)
36
29
  local_file = File.new(local_file, 'rb')
37
30
  end
38
- url = "#{@base_url}/api/file-copy-request/lease/#{URI.escape(id)}"
31
+ url = "#{@base_url}/api/file-copy-request/lease/#{CGI::escape(id)}"
39
32
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/octet-stream'}
40
33
  headers[:params][:filename] = File.basename(local_file)
41
34
  payload = local_file
@@ -45,7 +38,7 @@ class Morpheus::FileCopyRequestInterface < Morpheus::APIClient
45
38
 
46
39
  def download_file_chunked(id, outfile, params={})
47
40
  raise "#{self.class}.download_file() passed a blank id!" if id.to_s == ''
48
- url = "#{@base_url}/api/file-copy-request/download/#{URI.escape(id)}"
41
+ url = "#{@base_url}/api/file-copy-request/download/#{CGI::escape(id)}"
49
42
  headers = { params: params, authorization: "Bearer #{@access_token}" }
50
43
  opts = {method: :get, url: url, headers: headers}
51
44
  # execute(opts, {parse_json: false})
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::GroupPoliciesInterface < 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(group_id, id, params={})
12
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
@@ -1,13 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::GroupsInterface < 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 list(params={})
13
6
  url = "#{@base_url}/api/groups"
@@ -1,46 +1,43 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::GuidanceInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='guidance')
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/guidance"
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 stats()
19
- url = "#{@api_url}/stats"
16
+ url = "#{base_path}/stats"
20
17
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
21
18
  execute(method: :get, url: url, headers: headers)
22
19
  end
23
20
 
24
21
  def types()
25
- url = "#{@api_url}/types"
22
+ url = "#{base_path}/types"
26
23
  headers = { params: {}, authorization: "Bearer #{@access_token}" }
27
24
  execute(method: :get, url: url, headers: headers)
28
25
  end
29
26
 
30
27
  def get(id, params={})
31
- url = "#{@api_url}/#{id}"
28
+ url = "#{base_path}/#{id}"
32
29
  headers = { params: params, authorization: "Bearer #{@access_token}" }
33
30
  execute(method: :get, url: url, headers: headers)
34
31
  end
35
32
 
36
33
  def exec(id, params={})
37
- url = "#{@api_url}/#{id}/execute"
34
+ url = "#{base_path}/#{id}/execute"
38
35
  headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
39
36
  execute(method: :put, url: url, headers: headers)
40
37
  end
41
38
 
42
39
  def ignore(id, params={})
43
- url = "#{@api_url}/#{id}/ignore"
40
+ url = "#{base_path}/#{id}/ignore"
44
41
  headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
45
42
  execute(method: :put, url: url, headers: headers)
46
43
  end
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::HealthInterface < 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(params={})
12
6
  url = "#{@base_url}/api/health"
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ImageBuilderBootScriptsInterface < 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 id!" if id.to_s == ''
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
  # this may change to just /api/image-builds
3
3
  class Morpheus::ImageBuilderImageBuildsInterface < 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 id!" if id.to_s == ''
@@ -4,23 +4,17 @@ require 'morpheus/api/image_builder_preseed_scripts_interface'
4
4
  require 'morpheus/api/image_builder_boot_scripts_interface'
5
5
 
6
6
  class Morpheus::ImageBuilderInterface < 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
13
7
 
14
8
  def image_builds
15
- Morpheus::ImageBuilderImageBuildsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
9
+ Morpheus::ImageBuilderImageBuildsInterface.new(common_interface_options).setopts(@options)
16
10
  end
17
11
 
18
12
  def preseed_scripts
19
- Morpheus::ImageBuilderPreseedScriptsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
13
+ Morpheus::ImageBuilderPreseedScriptsInterface.new(common_interface_options).setopts(@options)
20
14
  end
21
15
 
22
16
  def boot_scripts
23
- Morpheus::ImageBuilderBootScriptsInterface.new(@access_token, @refresh_token, @expires_at, @base_url)
17
+ Morpheus::ImageBuilderBootScriptsInterface.new(common_interface_options).setopts(@options)
24
18
  end
25
19
 
26
20
  end
@@ -1,12 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::ImageBuilderPreseedScriptsInterface < 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 id!" if id.to_s == ''
@@ -1,13 +1,6 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::InstanceTypesInterface < 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(id, params={})
13
6
  raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
@@ -1,29 +1,18 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::InstancesInterface < 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
4
+
5
+ def base_path
6
+ "/api/instances"
9
7
  end
10
8
 
11
- def get(params={})
12
- url = "#{@base_url}/api/instances"
13
- headers = { params: {}, authorization: "Bearer #{@access_token}" }
14
- if params.is_a?(Hash)
15
- headers[:params].merge!(params)
16
- elsif params.is_a?(Numeric)
17
- url = "#{@base_url}/api/instances/#{params}"
18
- elsif params.is_a?(String)
19
- headers[:params]['name'] = params
20
- end
21
- opts = {method: :get, url: url, headers: headers}
22
- execute(opts)
9
+ def list(params={}, headers={})
10
+ execute(method: :get, url: "#{base_path}", params: params, headers: headers)
23
11
  end
24
12
 
25
- def list(params={})
26
- get(params)
13
+ def get(id, params={}, headers={})
14
+ validate_id!(id)
15
+ execute(method: :get, url: "#{base_path}/#{id}", params: params, headers: headers)
27
16
  end
28
17
 
29
18
  def get_envs(id, params={})
@@ -11,4 +11,34 @@ class Morpheus::IntegrationsInterface < Morpheus::RestInterface
11
11
  execute(method: :post, url: "#{base_path}/#{id}/refresh", params: params, payload: payload, headers: headers)
12
12
  end
13
13
 
14
+ ## Integration Objects CRUD
15
+
16
+ def list_objects(id, params={}, headers={})
17
+ validate_id!(id)
18
+ execute(method: :get, url: "#{base_path}/#{id}/objects", params: params, headers: headers)
19
+ end
20
+
21
+ def get_object(id, obj_id, params={}, headers={})
22
+ validate_id!(id)
23
+ validate_id!(obj_id)
24
+ execute(method: :get, url: "#{base_path}/#{id}/objects/#{obj_id}", params: params, headers: headers)
25
+ end
26
+
27
+ def create_object(id, payload, params={}, headers={})
28
+ validate_id!(id)
29
+ execute(method: :post, url: "#{base_path}/#{id}/objects", params: params, payload: payload, headers: headers)
30
+ end
31
+
32
+ def update_object(id, obj_id, payload, params={}, headers={})
33
+ validate_id!(id)
34
+ validate_id!(obj_id)
35
+ execute(method: :put, url: "#{base_path}/#{id}/objects/#{obj_id}", params: params, payload: payload, headers: headers)
36
+ end
37
+
38
+ def destroy_object(id, obj_id, params = {}, headers={})
39
+ validate_id!(id)
40
+ validate_id!(obj_id)
41
+ execute(method: :delete, url: "#{base_path}/#{id}/objects/#{obj_id}", params: params, headers: headers)
42
+ end
43
+
14
44
  end
@@ -1,14 +1,9 @@
1
- require 'morpheus/api/api_client'
1
+ require 'morpheus/api/read_interface'
2
2
 
3
- class Morpheus::InvoiceLineItemsInterface < Morpheus::APIClient
3
+ class Morpheus::InvoiceLineItemsInterface < Morpheus::ReadInterface
4
4
 
5
- def list(params={})
6
- execute(method: :get, url: "/api/invoice-line-items", headers: {params: params})
7
- end
8
-
9
- def get(id, params={})
10
- raise "#{self.class}.get() passed a blank id!" if id.to_s == ''
11
- execute(method: :get, url: "/api/invoice-line-items/#{id}", headers: {params: params})
5
+ def base_path
6
+ "/api/invoice-line-items"
12
7
  end
13
8
 
14
9
  end
@@ -1,27 +1,24 @@
1
1
  require 'morpheus/api/api_client'
2
2
 
3
3
  class Morpheus::JobsInterface < Morpheus::APIClient
4
- def initialize(access_token, refresh_token,expires_at = nil, base_url=nil, api='jobs')
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/jobs"
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: params, authorization: "Bearer #{@access_token}" }
21
18
  if params.is_a?(Hash)
22
19
  headers[:params].merge!(params)
23
20
  elsif params.is_a?(Numeric)
24
- url = "#{@api_url}/#{params}"
21
+ url = "#{base_path}/#{params}"
25
22
  elsif params.is_a?(String)
26
23
  headers[:params]['name'] = params
27
24
  end
@@ -29,32 +26,32 @@ class Morpheus::JobsInterface < Morpheus::APIClient
29
26
  end
30
27
 
31
28
  def create(payload)
32
- url = @api_url
29
+ url = base_path
33
30
  headers = { :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
34
31
  execute(method: :post, url: url, headers: headers, payload: payload.to_json)
35
32
  end
36
33
 
37
34
  def update(id, payload, params={})
38
- url = "#{@api_url}/#{id}"
35
+ url = "#{base_path}/#{id}"
39
36
  headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
40
37
  execute(method: :put, url: url, headers: headers, payload: payload.to_json)
41
38
  end
42
39
 
43
40
  def destroy(id, params={})
44
- url = "#{@api_url}/#{id}"
41
+ url = "#{base_path}/#{id}"
45
42
  headers = { :params => params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
46
43
  execute(method: :delete, url: url, headers: headers)
47
44
  end
48
45
 
49
46
  def execute_job(id, params={})
50
- url = "#{@api_url}/#{id}/execute"
47
+ url = "#{base_path}/#{id}/execute"
51
48
  headers = { params: params, :authorization => "Bearer #{@access_token}", 'Content-Type' => 'application/json' }
52
49
  execute(method: :put, url: url, headers: headers)
53
50
  end
54
51
 
55
52
  =begin
56
53
  def list_job_executions(id, params={})
57
- url = "#{@api_url}/#{id}/executions"
54
+ url = "#{base_path}/#{id}/executions"
58
55
  headers = { params: params, authorization: "Bearer #{@access_token}" }
59
56
  execute(method: :get, url: url, headers: headers)
60
57
  end