Class: Vultr::Client
- Inherits:
-
Object
- Object
- Vultr::Client
- Defined in:
- lib/vultr/client.rb
Constant Summary collapse
- BASE_URL =
"https://api.vultr.com/v2"
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
Instance Method Summary collapse
- #account ⇒ Object
- #applications ⇒ Object
- #backups ⇒ Object
- #bare_metal ⇒ Object
- #block_storage ⇒ Object
- #connection ⇒ Object
- #dns ⇒ Object
- #firewall ⇒ Object
-
#initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil) ⇒ Client
constructor
A new instance of Client.
- #instances ⇒ Object
- #iso ⇒ Object
- #kubernetes ⇒ Object
- #load_balancers ⇒ Object
- #object_storage ⇒ Object
- #operating_systems ⇒ Object
- #plans ⇒ Object
- #private_networks ⇒ Object
- #regions ⇒ Object
- #reserved_ips ⇒ Object
- #snapshots ⇒ Object
- #ssh_keys ⇒ Object
- #startup_scripts ⇒ Object
- #users ⇒ Object
Constructor Details
#initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 12 13 |
# File 'lib/vultr/client.rb', line 7 def initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil) @api_key = api_key @adapter = adapter # Test stubs for requests @stubs = stubs end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
5 6 7 |
# File 'lib/vultr/client.rb', line 5 def adapter @adapter end |
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
5 6 7 |
# File 'lib/vultr/client.rb', line 5 def api_key @api_key end |
Instance Method Details
#account ⇒ Object
15 16 17 |
# File 'lib/vultr/client.rb', line 15 def account AccountResource.new(self) end |
#applications ⇒ Object
19 20 21 |
# File 'lib/vultr/client.rb', line 19 def applications ApplicationsResource.new(self) end |
#backups ⇒ Object
23 24 25 |
# File 'lib/vultr/client.rb', line 23 def backups BackupsResource.new(self) end |
#bare_metal ⇒ Object
27 28 29 |
# File 'lib/vultr/client.rb', line 27 def BareMetalResource.new(self) end |
#block_storage ⇒ Object
31 32 33 |
# File 'lib/vultr/client.rb', line 31 def block_storage BlockStorageResource.new(self) end |
#connection ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/vultr/client.rb', line 99 def connection @connection ||= Faraday.new(BASE_URL) do |conn| conn.request :authorization, :Bearer, api_key conn.request :json conn.response :vultr conn.response :json, content_type: "application/json" conn.adapter adapter, @stubs end end |
#dns ⇒ Object
35 36 37 |
# File 'lib/vultr/client.rb', line 35 def dns DnsResource.new(self) end |
#firewall ⇒ Object
39 40 41 |
# File 'lib/vultr/client.rb', line 39 def firewall FirewallResource.new(self) end |
#instances ⇒ Object
43 44 45 |
# File 'lib/vultr/client.rb', line 43 def instances InstancesResource.new(self) end |
#iso ⇒ Object
47 48 49 |
# File 'lib/vultr/client.rb', line 47 def iso IsoResource.new(self) end |
#kubernetes ⇒ Object
51 52 53 |
# File 'lib/vultr/client.rb', line 51 def kubernetes KubernetesResource.new(self) end |
#load_balancers ⇒ Object
55 56 57 |
# File 'lib/vultr/client.rb', line 55 def load_balancers LoadBalancersResource.new(self) end |
#object_storage ⇒ Object
59 60 61 |
# File 'lib/vultr/client.rb', line 59 def object_storage ObjectStorageResource.new(self) end |
#operating_systems ⇒ Object
63 64 65 |
# File 'lib/vultr/client.rb', line 63 def OperatingSystemsResource.new(self) end |
#plans ⇒ Object
67 68 69 |
# File 'lib/vultr/client.rb', line 67 def plans PlansResource.new(self) end |
#private_networks ⇒ Object
71 72 73 |
# File 'lib/vultr/client.rb', line 71 def private_networks PrivateNetworksResource.new(self) end |
#regions ⇒ Object
79 80 81 |
# File 'lib/vultr/client.rb', line 79 def regions RegionsResource.new(self) end |
#reserved_ips ⇒ Object
75 76 77 |
# File 'lib/vultr/client.rb', line 75 def reserved_ips ReservedIpsResource.new(self) end |
#snapshots ⇒ Object
83 84 85 |
# File 'lib/vultr/client.rb', line 83 def snapshots SnapshotsResource.new(self) end |
#ssh_keys ⇒ Object
87 88 89 |
# File 'lib/vultr/client.rb', line 87 def ssh_keys SshKeysResource.new(self) end |
#startup_scripts ⇒ Object
91 92 93 |
# File 'lib/vultr/client.rb', line 91 def startup_scripts StartupScriptsResource.new(self) end |
#users ⇒ Object
95 96 97 |
# File 'lib/vultr/client.rb', line 95 def users UserResource.new(self) end |