droplet_kit 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/README.md +46 -12
- data/droplet_kit.gemspec +2 -1
- data/lib/droplet_kit.rb +12 -0
- data/lib/droplet_kit/client.rb +2 -0
- data/lib/droplet_kit/mappings/certificate_mapping.rb +25 -0
- data/lib/droplet_kit/mappings/droplet_mapping.rb +1 -0
- data/lib/droplet_kit/mappings/forwarding_rule_mapping.rb +19 -0
- data/lib/droplet_kit/mappings/health_check_mapping.rb +19 -0
- data/lib/droplet_kit/mappings/image_mapping.rb +5 -1
- data/lib/droplet_kit/mappings/load_balancer_mapping.rb +33 -0
- data/lib/droplet_kit/mappings/sticky_session_mapping.rb +15 -0
- data/lib/droplet_kit/models/certificate.rb +12 -0
- data/lib/droplet_kit/models/droplet.rb +1 -0
- data/lib/droplet_kit/models/forwarding_rule.rb +10 -0
- data/lib/droplet_kit/models/health_check.rb +11 -0
- data/lib/droplet_kit/models/image.rb +42 -0
- data/lib/droplet_kit/models/load_balancer.rb +17 -0
- data/lib/droplet_kit/models/sticky_session.rb +7 -0
- data/lib/droplet_kit/resources/certificate_resource.rb +30 -0
- data/lib/droplet_kit/resources/droplet_action_resource.rb +2 -2
- data/lib/droplet_kit/resources/load_balancer_resource.rb +56 -0
- data/lib/droplet_kit/version.rb +1 -1
- data/spec/fixtures/certificates/all.json +16 -0
- data/spec/fixtures/certificates/find.json +9 -0
- data/spec/fixtures/images/find.json +4 -2
- data/spec/fixtures/load_balancers/all.json +129 -0
- data/spec/fixtures/load_balancers/find.json +59 -0
- data/spec/lib/droplet_kit/resources/certificate_resource_spec.rb +90 -0
- data/spec/lib/droplet_kit/resources/droplet_action_resource_spec.rb +4 -4
- data/spec/lib/droplet_kit/resources/droplet_resource_spec.rb +2 -0
- data/spec/lib/droplet_kit/resources/image_resource_spec.rb +5 -1
- data/spec/lib/droplet_kit/resources/load_balancer_resource_spec.rb +213 -0
- data/spec/spec_helper.rb +1 -3
- metadata +41 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 025077918c4a61f739d58486166607209439b129
|
4
|
+
data.tar.gz: c66125a6ac2909c842b79242e3c818c0e5228287
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6198f8fc7be8f537cbbbd8996253c877748428ada7078c680f4f95598d3e2d7dbcd8aebb99da5623927c7d8dbaec30ff2dc6f6a2eb7c814c2bd2d6a2029c4e57
|
7
|
+
data.tar.gz: f84a6955aae3e753dcba901b31527bde4048e887779be627b77a68b6a0e3b49801e71b4b3624d3d7043c4c59640af27cae4cf512d2a516ff5a7c38025ae736c8
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### Version 2.1.0
|
2
|
+
* Added monitoring to the Droplet resource.
|
3
|
+
* Added LoadBalancer resource.
|
4
|
+
* Added Certificate resource.
|
5
|
+
* Added min_disk_size, size_gigabytes and created_at to the Image resource.
|
6
|
+
* Updated DropletActionResource to use tag_name instead of tag.
|
7
|
+
|
1
8
|
### Version 2.0.1
|
2
9
|
* Droplet create action now accepts `tags` attribute.
|
3
10
|
|
data/README.md
CHANGED
@@ -30,7 +30,7 @@ client = DropletKit::Client.new(access_token: 'YOUR_TOKEN')
|
|
30
30
|
|
31
31
|
## Design
|
32
32
|
|
33
|
-
DropletKit follows a strict design of
|
33
|
+
DropletKit follows a strict design of resources as methods on your client. For examples, for droplets, you will call your client like this:
|
34
34
|
|
35
35
|
```ruby
|
36
36
|
client = DropletKit::Client.new(access_token: 'YOUR_TOKEN')
|
@@ -45,7 +45,7 @@ client.droplets.all
|
|
45
45
|
# => [ DropletKit::Droplet(id: 123, name: 'something.com', ...), DropletKit::Droplet(id: 1066, name: 'bunk.com', ...) ]
|
46
46
|
```
|
47
47
|
|
48
|
-
When you'd like to save objects, it's your responsibility to instantiate the objects and persist them using the resource objects.
|
48
|
+
When you'd like to save objects, it's your responsibility to instantiate the objects and persist them using the resource objects. Let's use creating a Droplet as an example:
|
49
49
|
|
50
50
|
```ruby
|
51
51
|
client = DropletKit::Client.new(access_token: 'YOUR_TOKEN')
|
@@ -64,6 +64,21 @@ droplet = client.droplets.find(id: 123)
|
|
64
64
|
|
65
65
|
# All Resources and actions.
|
66
66
|
|
67
|
+
## Certificate resource
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
71
|
+
client.certificates #=> DropletKit::CertificateResource
|
72
|
+
```
|
73
|
+
|
74
|
+
Actions supported:
|
75
|
+
|
76
|
+
* `client.certificates.find(id: 'id')`
|
77
|
+
* `client.certificates.all()`
|
78
|
+
* `client.certificates.create(certificate)`
|
79
|
+
* `client.certificates.delete(id: 'id')`
|
80
|
+
|
81
|
+
|
67
82
|
## Droplet resource
|
68
83
|
|
69
84
|
```ruby
|
@@ -96,25 +111,25 @@ Actions supported:
|
|
96
111
|
|
97
112
|
* `client.droplet_actions.reboot(droplet_id: droplet.id)`
|
98
113
|
* `client.droplet_actions.power_cycle(droplet_id: droplet.id)`
|
99
|
-
* `client.droplet_actions.power_cycle_for_tag(
|
114
|
+
* `client.droplet_actions.power_cycle_for_tag(tag_name: 'tag_name')`
|
100
115
|
* `client.droplet_actions.shutdown(droplet_id: droplet.id)`
|
101
|
-
* `client.droplet_actions.shutdown_for_tag(
|
116
|
+
* `client.droplet_actions.shutdown_for_tag(tag_name: 'tag_name')`
|
102
117
|
* `client.droplet_actions.power_off(droplet_id: droplet.id)`
|
103
|
-
* `client.droplet_actions.power_off_for_tag(
|
118
|
+
* `client.droplet_actions.power_off_for_tag(tag_name: 'tag_name')`
|
104
119
|
* `client.droplet_actions.power_on(droplet_id: droplet.id)`
|
105
|
-
* `client.droplet_actions.power_on_for_tag(
|
120
|
+
* `client.droplet_actions.power_on_for_tag(tag_name: 'tag_name')`
|
106
121
|
* `client.droplet_actions.password_reset(droplet_id: droplet.id)`
|
107
122
|
* `client.droplet_actions.enable_ipv6(droplet_id: droplet.id)`
|
108
|
-
* `client.droplet_actions.enable_ipv6_for_tag(
|
123
|
+
* `client.droplet_actions.enable_ipv6_for_tag(tag_name: 'tag_name')`
|
109
124
|
* `client.droplet_actions.enable_backups(droplet_id: droplet.id)`
|
110
|
-
* `client.droplet_actions.enable_backups_for_tag(
|
125
|
+
* `client.droplet_actions.enable_backups_for_tag(tag_name: 'tag_name')`
|
111
126
|
* `client.droplet_actions.disable_backups(droplet_id: droplet.id)`
|
112
|
-
* `client.droplet_actions.disable_backups_for_tag(
|
127
|
+
* `client.droplet_actions.disable_backups_for_tag(tag_name: 'tag_name')`
|
113
128
|
* `client.droplet_actions.upgrade(droplet_id: droplet.id)`
|
114
129
|
* `client.droplet_actions.enable_private_networking(droplet_id: droplet.id)`
|
115
|
-
* `client.droplet_actions.enable_private_networking_for_tag(
|
130
|
+
* `client.droplet_actions.enable_private_networking_for_tag(tag_name: 'tag_name')`
|
116
131
|
* `client.droplet_actions.snapshot(droplet_id: droplet.id, name: 'Snapshot Name')`
|
117
|
-
* `client.droplet_actions.snapshot_for_tag(
|
132
|
+
* `client.droplet_actions.snapshot_for_tag(tag_name: 'tag_name', name: 'Snapshot Name')`
|
118
133
|
* `client.droplet_actions.change_kernel(droplet_id: droplet.id, kernel: 'kernel_id')`
|
119
134
|
* `client.droplet_actions.rename(droplet_id: droplet.id, name: 'New-Droplet-Name')`
|
120
135
|
* `client.droplet_actions.rebuild(droplet_id: droplet.id, image: 'image_id')`
|
@@ -122,7 +137,7 @@ Actions supported:
|
|
122
137
|
* `client.droplet_actions.resize(droplet_id: droplet.id, size: '1gb')`
|
123
138
|
* `client.droplet_actions.find(droplet_id: droplet.id, id: action.id)`
|
124
139
|
* `client.droplet_actions.action_for_id(droplet_id: droplet.id, type: 'event_name', param: 'value')`
|
125
|
-
* `client.droplet_actions.action_for_tag(
|
140
|
+
* `client.droplet_actions.action_for_tag(tag_name: 'tag_name', type: 'event_name', param: 'value')`
|
126
141
|
|
127
142
|
## Domain resource
|
128
143
|
|
@@ -189,6 +204,25 @@ Image Actions Supported:
|
|
189
204
|
* `client.image_actions.transfer(image_id: 123, region: 'nyc3')`
|
190
205
|
|
191
206
|
|
207
|
+
## Load balancer resource
|
208
|
+
```ruby
|
209
|
+
client = DropletKit::Client.new(access_token: 'TOKEN')
|
210
|
+
client.load_balancers #=> DropletKit::LoadBalancerResource
|
211
|
+
```
|
212
|
+
|
213
|
+
Actions supported:
|
214
|
+
|
215
|
+
* `client.load_balancers.find(id: 'id')`
|
216
|
+
* `client.load_balancers.all()`
|
217
|
+
* `client.load_balancers.create(load_balancer)`
|
218
|
+
* `client.load_balancers.update(load_balancer, id: 'id')`
|
219
|
+
* `client.load_balancers.delete(id: 'id')`
|
220
|
+
* `client.load_balancers.add_droplets([droplet.id], id: 'id')`
|
221
|
+
* `client.load_balancers.remove_droplets([droplet.id], id: 'id')`
|
222
|
+
* `client.load_balancers.add_forwarding_rules([forwarding_rule], id: 'id')`
|
223
|
+
* `client.load_balancers.remove_forwarding_rules([forwarding_rule], id: 'id')`
|
224
|
+
|
225
|
+
|
192
226
|
## Region resource
|
193
227
|
|
194
228
|
```ruby
|
data/droplet_kit.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["rross@digitalocean.com"]
|
11
11
|
spec.summary = %q{Droplet Kit is the official Ruby library for DigitalOcean's API}
|
12
12
|
spec.description = %q{Droplet Kit is the official Ruby library for DigitalOcean's API}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/digitalocean/droplet_kit"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency "rake"
|
31
31
|
spec.add_development_dependency "rspec", "~> 3.0.0"
|
32
32
|
spec.add_development_dependency "pry"
|
33
|
+
spec.add_development_dependency "rb-readline"
|
33
34
|
|
34
35
|
# FakeServe
|
35
36
|
spec.add_development_dependency 'sinatra', '~> 1.4'
|
data/lib/droplet_kit.rb
CHANGED
@@ -28,6 +28,11 @@ module DropletKit
|
|
28
28
|
autoload :TaggedResources, 'droplet_kit/models/tagged_resources'
|
29
29
|
autoload :TaggedDropletsResources, 'droplet_kit/models/tagged_droplets_resources'
|
30
30
|
autoload :Volume, 'droplet_kit/models/volume'
|
31
|
+
autoload :LoadBalancer, 'droplet_kit/models/load_balancer'
|
32
|
+
autoload :StickySession, 'droplet_kit/models/sticky_session'
|
33
|
+
autoload :HealthCheck, 'droplet_kit/models/health_check'
|
34
|
+
autoload :ForwardingRule, 'droplet_kit/models/forwarding_rule'
|
35
|
+
autoload :Certificate, 'droplet_kit/models/certificate'
|
31
36
|
|
32
37
|
# Resources
|
33
38
|
autoload :DropletResource, 'droplet_kit/resources/droplet_resource'
|
@@ -48,6 +53,8 @@ module DropletKit
|
|
48
53
|
autoload :VolumeResource, 'droplet_kit/resources/volume_resource'
|
49
54
|
autoload :VolumeActionResource, 'droplet_kit/resources/volume_action_resource'
|
50
55
|
autoload :SnapshotResource, 'droplet_kit/resources/snapshot_resource'
|
56
|
+
autoload :LoadBalancerResource, 'droplet_kit/resources/load_balancer_resource'
|
57
|
+
autoload :CertificateResource, 'droplet_kit/resources/certificate_resource'
|
51
58
|
|
52
59
|
# JSON Maps
|
53
60
|
autoload :DropletMapping, 'droplet_kit/mappings/droplet_mapping'
|
@@ -71,6 +78,11 @@ module DropletKit
|
|
71
78
|
autoload :TaggedResourcesMapping, 'droplet_kit/mappings/tagged_resources_mapping'
|
72
79
|
autoload :TaggedDropletsResourcesMapping, 'droplet_kit/mappings/tagged_droplets_resources_mapping'
|
73
80
|
autoload :VolumeMapping, 'droplet_kit/mappings/volume_mapping'
|
81
|
+
autoload :LoadBalancerMapping, 'droplet_kit/mappings/load_balancer_mapping'
|
82
|
+
autoload :StickySessionMapping, 'droplet_kit/mappings/sticky_session_mapping'
|
83
|
+
autoload :HealthCheckMapping, 'droplet_kit/mappings/health_check_mapping'
|
84
|
+
autoload :ForwardingRuleMapping, 'droplet_kit/mappings/forwarding_rule_mapping'
|
85
|
+
autoload :CertificateMapping, 'droplet_kit/mappings/certificate_mapping'
|
74
86
|
|
75
87
|
# Utils
|
76
88
|
autoload :PaginatedResource, 'droplet_kit/paginated_resource'
|
data/lib/droplet_kit/client.rb
CHANGED
@@ -19,12 +19,14 @@ module DropletKit
|
|
19
19
|
def self.resources
|
20
20
|
{
|
21
21
|
actions: ActionResource,
|
22
|
+
certificates: CertificateResource,
|
22
23
|
droplets: DropletResource,
|
23
24
|
domains: DomainResource,
|
24
25
|
domain_records: DomainRecordResource,
|
25
26
|
droplet_actions: DropletActionResource,
|
26
27
|
images: ImageResource,
|
27
28
|
image_actions: ImageActionResource,
|
29
|
+
load_balancers: LoadBalancerResource,
|
28
30
|
regions: RegionResource,
|
29
31
|
sizes: SizeResource,
|
30
32
|
ssh_keys: SSHKeyResource,
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class CertificateMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping Certificate
|
7
|
+
root_key singular: 'certificate', plural: 'certificates', scopes: [:read]
|
8
|
+
|
9
|
+
scoped :read do
|
10
|
+
property :id
|
11
|
+
property :name
|
12
|
+
property :not_after
|
13
|
+
property :sha1_fingerprint
|
14
|
+
property :created_at
|
15
|
+
end
|
16
|
+
|
17
|
+
scoped :create do
|
18
|
+
property :name
|
19
|
+
property :private_key
|
20
|
+
property :leaf_certificate
|
21
|
+
property :certificate_chain
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -35,6 +35,7 @@ module DropletKit
|
|
35
35
|
property :image, scopes: [:create]
|
36
36
|
property :ssh_keys, scopes: [:create]
|
37
37
|
property :backups, scopes: [:create]
|
38
|
+
property :monitoring, scopes: [:create]
|
38
39
|
property :ipv6, scopes: [:create]
|
39
40
|
property :user_data, scopes: [:create]
|
40
41
|
property :private_networking, scopes: [:create]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class ForwardingRuleMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
root_key plural: 'forwarding_rules', scopes: [:create, :update]
|
7
|
+
mapping ForwardingRule
|
8
|
+
|
9
|
+
scoped :read, :create, :update do
|
10
|
+
property :entry_protocol
|
11
|
+
property :entry_port
|
12
|
+
property :target_protocol
|
13
|
+
property :target_port
|
14
|
+
property :certificate_id
|
15
|
+
property :tls_passthrough
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class HealthCheckMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping HealthCheck
|
7
|
+
|
8
|
+
scoped :read, :create, :update do
|
9
|
+
property :protocol
|
10
|
+
property :port
|
11
|
+
property :path
|
12
|
+
property :check_interval_seconds
|
13
|
+
property :response_timeout_seconds
|
14
|
+
property :healthy_threshold
|
15
|
+
property :unhealthy_threshold
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -15,6 +15,10 @@ module DropletKit
|
|
15
15
|
property :public, scopes: [:read, :read_snapshot, :read_backup]
|
16
16
|
property :regions, scopes: [:read, :read_snapshot, :read_backup]
|
17
17
|
property :type, scopes: [:read, :read_snapshot, :read_backup]
|
18
|
+
|
19
|
+
property :min_disk_size, scopes: [:read, :read_snapshot, :read_backup]
|
20
|
+
property :created_at, scopes: [:read, :read_snapshot, :read_backup]
|
21
|
+
property :size_gigabytes, scopes: [:read, :read_snapshot, :read_backup]
|
18
22
|
end
|
19
23
|
end
|
20
|
-
end
|
24
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class LoadBalancerMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping LoadBalancer
|
7
|
+
root_key singular: 'load_balancer', plural: 'load_balancers', scopes: [:read]
|
8
|
+
|
9
|
+
scoped :read do
|
10
|
+
property :id
|
11
|
+
property :ip
|
12
|
+
property :status
|
13
|
+
property :created_at
|
14
|
+
property :region, include: RegionMapping
|
15
|
+
end
|
16
|
+
|
17
|
+
scoped :read, :update, :create do
|
18
|
+
property :name
|
19
|
+
property :algorithm
|
20
|
+
property :tag
|
21
|
+
property :redirect_http_to_https
|
22
|
+
property :droplet_ids
|
23
|
+
property :sticky_sessions, include: StickySessionMapping
|
24
|
+
property :health_check, include: HealthCheckMapping
|
25
|
+
property :forwarding_rules, plural: true, include: ForwardingRuleMapping
|
26
|
+
end
|
27
|
+
|
28
|
+
scoped :update, :create do
|
29
|
+
property :region
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class StickySessionMapping
|
3
|
+
include Kartograph::DSL
|
4
|
+
|
5
|
+
kartograph do
|
6
|
+
mapping StickySession
|
7
|
+
|
8
|
+
scoped :read, :create, :update do
|
9
|
+
property :type
|
10
|
+
property :cookie_name
|
11
|
+
property :cookie_ttl_seconds
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class Certificate < BaseModel
|
3
|
+
attribute :id
|
4
|
+
attribute :name
|
5
|
+
attribute :not_after
|
6
|
+
attribute :sha1_fingerprint
|
7
|
+
attribute :created_at
|
8
|
+
attribute :private_key
|
9
|
+
attribute :leaf_certificate
|
10
|
+
attribute :certificate_chain
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class HealthCheck < BaseModel
|
3
|
+
attribute :protocol
|
4
|
+
attribute :port
|
5
|
+
attribute :path
|
6
|
+
attribute :check_interval_seconds
|
7
|
+
attribute :response_timeout_seconds
|
8
|
+
attribute :healthy_threshold
|
9
|
+
attribute :unhealthy_threshold
|
10
|
+
end
|
11
|
+
end
|
@@ -1,11 +1,53 @@
|
|
1
1
|
module DropletKit
|
2
2
|
class Image < BaseModel
|
3
|
+
# @!attribute id
|
4
|
+
# @example 12345
|
5
|
+
# @return [Fixnum] A unique number that can be used to identify and reference a specific image.
|
3
6
|
attribute :id
|
7
|
+
|
8
|
+
# @!attribute name
|
9
|
+
# @example 'foo'
|
10
|
+
# @return [String] The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question.
|
4
11
|
attribute :name
|
12
|
+
|
13
|
+
# @!attribute distribution
|
14
|
+
# @example 'Ubuntu'
|
15
|
+
# @return [String] This attribute describes the base distribution used for this image.
|
5
16
|
attribute :distribution
|
17
|
+
|
18
|
+
# @!attribute slug
|
19
|
+
# @example 'ubuntu-16-04-x64'
|
20
|
+
# @return [String] A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id.
|
6
21
|
attribute :slug
|
22
|
+
|
23
|
+
# @!attribute public
|
24
|
+
# @example false
|
25
|
+
# @return [Boolean] This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account.
|
7
26
|
attribute :public
|
27
|
+
|
28
|
+
# @!attribute regions
|
29
|
+
# @example [ "nyc2", "nyc2" ]
|
30
|
+
# @return [Array<String>] This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values.
|
8
31
|
attribute :regions
|
32
|
+
|
33
|
+
# @!attribute type
|
34
|
+
# @example 'snapshot'
|
35
|
+
# @return [String] The kind of image, describing the duration of how long the image is stored. This is either "snapshot" or "backup".
|
9
36
|
attribute :type
|
37
|
+
|
38
|
+
# @!attribute min_disk_size
|
39
|
+
# @example 'snapshot'
|
40
|
+
# @return [Fixnum] The minimum 'disk' required for a size to use this image.
|
41
|
+
attribute :min_disk_size
|
42
|
+
|
43
|
+
# @!attribute size_gigabytes
|
44
|
+
# @example 2.34
|
45
|
+
# @return [Fixnum] The size of the image in gigabytes.
|
46
|
+
attribute :size_gigabytes
|
47
|
+
|
48
|
+
# @!attribute created_at
|
49
|
+
# @example '2014-11-04T22:23:02Z'
|
50
|
+
# @return [String] A time value given in ISO8601 combined date and time format that represents when the Image was created.
|
51
|
+
attribute :created_at
|
10
52
|
end
|
11
53
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module DropletKit
|
2
|
+
class LoadBalancer < BaseModel
|
3
|
+
attribute :id
|
4
|
+
attribute :ip
|
5
|
+
attribute :name
|
6
|
+
attribute :algorithm
|
7
|
+
attribute :status
|
8
|
+
attribute :created_at
|
9
|
+
attribute :tag
|
10
|
+
attribute :region
|
11
|
+
attribute :redirect_http_to_https
|
12
|
+
attribute :droplet_ids
|
13
|
+
attribute :sticky_sessions
|
14
|
+
attribute :health_check
|
15
|
+
attribute :forwarding_rules
|
16
|
+
end
|
17
|
+
end
|