Class: Morpheus::ReadInterface
- Defined in:
- lib/morpheus/api/read_interface.rb
Overview
Interface class to be subclassed by interfaces that are read-only and only provide list() and get() methods, not full CRUD Subclasses must override the base_path method
Direct Known Subclasses
AuditInterface, BackupServiceTypesInterface, CredentialTypesInterface, IntegrationTypesInterface, InvoiceLineItemsInterface, LoadBalancerTypesInterface, StorageServerTypesInterface, StorageVolumeTypesInterface, VdiAllocationsInterface
Constant Summary
Constants inherited from APIClient
Instance Attribute Summary
Attributes inherited from APIClient
Instance Method Summary collapse
-
#base_path ⇒ Object
subclasses should override in your interface Example: "/api/things".
- #get(id, params = {}, headers = {}) ⇒ Object
- #list(params = {}, headers = {}) ⇒ Object
Methods inherited from APIClient
#account_groups, #account_users, #accounts, #activity, #appliance_settings, #approvals, #apps, #archive_buckets, #archive_files, #audit, #auth, #authorization_required?, #backup_jobs, #backup_service_types, #backup_services, #backup_settings, #backups, #billing, #blueprints, #budgets, #catalog, #catalog_item_types, #certificate_types, #certificates, #cloud_datastores, #cloud_folders, #cloud_policies, #cloud_resource_pools, #clouds, #clusters, #common_interface_options, #containers, #credential_types, #credentials, #cypher, #dashboard, #datastores, #default_content_type, #default_timeout, #deploy, #deployments, #doc, #dry, #dry_run, #environments, #execute, #execute_schedules, #execution_request, #file_copy_request, #forgot, #group_policies, #groups, #guidance, #health, #image_builder, #initialize, #inspect, #instance_types, #instances, #integration_types, #integrations, #interface, #invoice_line_items, #invoices, #jobs, #key_pairs, #library_cluster_layouts, #library_container_scripts, #library_container_templates, #library_container_types, #library_container_upgrades, #library_instance_types, #library_layouts, #library_spec_template_types, #library_spec_templates, #license, #load_balancer_monitors, #load_balancer_pools, #load_balancer_profiles, #load_balancer_types, #load_balancer_virtual_servers, #load_balancers, #log_settings, #logged_in?, #login, #logout, #logs, #monitoring, #network_dhcp_relays, #network_dhcp_servers, #network_domain_records, #network_domains, #network_edge_clusters, #network_groups, #network_pool_ips, #network_pool_servers, #network_pools, #network_proxies, #network_routers, #network_security_servers, #network_servers, #network_services, #network_static_routes, #network_types, #networks, #old_cypher, #option_type_lists, #option_types, #options, #packages, #ping, #policies, #power_schedules, #price_sets, #prices, #processes, #projects, #provision_types, #provisioning_license_types, #provisioning_licenses, #provisioning_settings, #reports, #rest, #roles, #scale_thresholds, #search, #security_group_rules, #security_groups, #server_types, #servers, #service_plans, #set_ssl_verification_enabled, #setopts, #setup, #snapshots, #ssl_verification_enabled?, #storage_providers, #storage_server_types, #storage_servers, #storage_volume_types, #storage_volumes, #subnet_types, #subnets, #task_sets, #tasks, #to_s, #url, #usage, #use_refresh_token, #user_groups, #user_settings, #user_sources, #users, #vdi, #vdi_allocations, #vdi_apps, #vdi_gateways, #vdi_pools, #virtual_images, #whitelabel_settings, #whoami, #wiki, #withopts
Constructor Details
This class inherits a constructor from Morpheus::APIClient
Instance Method Details
#base_path ⇒ Object
subclasses should override in your interface Example: "/api/things"
10 11 12 13 |
# File 'lib/morpheus/api/read_interface.rb', line 10 def base_path raise "#{self.class} has not defined base_path!" if [:base_path].nil? [:base_path] end |
#get(id, params = {}, headers = {}) ⇒ Object
19 20 21 22 |
# File 'lib/morpheus/api/read_interface.rb', line 19 def get(id, params={}, headers={}) validate_id!(id) execute(method: :get, url: "#{base_path}/#{CGI::escape(id.to_s)}", params: params, headers: headers) end |
#list(params = {}, headers = {}) ⇒ Object
15 16 17 |
# File 'lib/morpheus/api/read_interface.rb', line 15 def list(params={}, headers={}) execute(method: :get, url: "#{base_path}", params: params, headers: headers) end |