droplet_kit 3.16.1 → 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -10
  3. data/lib/droplet_kit/client.rb +3 -1
  4. data/lib/droplet_kit/error_handling_resourcable.rb +4 -3
  5. data/lib/droplet_kit/mappings/balance_mapping.rb +0 -1
  6. data/lib/droplet_kit/mappings/container_registry_mapping.rb +1 -1
  7. data/lib/droplet_kit/mappings/database_cluster_mapping.rb +8 -8
  8. data/lib/droplet_kit/mappings/database_connection_pool_mapping.rb +5 -5
  9. data/lib/droplet_kit/mappings/database_eviction_policy_mapping.rb +1 -1
  10. data/lib/droplet_kit/mappings/database_firewall_rule_mapping.rb +3 -3
  11. data/lib/droplet_kit/mappings/database_maintenance_window_mapping.rb +2 -2
  12. data/lib/droplet_kit/mappings/database_mapping.rb +1 -1
  13. data/lib/droplet_kit/mappings/database_sql_mode_mapping.rb +1 -1
  14. data/lib/droplet_kit/mappings/database_user_mapping.rb +3 -3
  15. data/lib/droplet_kit/mappings/database_user_reset_auth_mapping.rb +1 -1
  16. data/lib/droplet_kit/mappings/domain_mapping.rb +2 -2
  17. data/lib/droplet_kit/mappings/domain_record_mapping.rb +9 -9
  18. data/lib/droplet_kit/mappings/droplet_upgrade_mapping.rb +1 -1
  19. data/lib/droplet_kit/mappings/error_mapping.rb +1 -1
  20. data/lib/droplet_kit/mappings/firewall_inbound_rule_mapping.rb +1 -1
  21. data/lib/droplet_kit/mappings/firewall_outbound_rule_mapping.rb +1 -1
  22. data/lib/droplet_kit/mappings/floating_ip_mapping.rb +1 -1
  23. data/lib/droplet_kit/mappings/forwarding_rule_mapping.rb +1 -1
  24. data/lib/droplet_kit/mappings/image_mapping.rb +10 -10
  25. data/lib/droplet_kit/mappings/invoice_mapping.rb +0 -1
  26. data/lib/droplet_kit/mappings/kernel_mapping.rb +1 -1
  27. data/lib/droplet_kit/mappings/kubernetes_cluster_mapping.rb +9 -9
  28. data/lib/droplet_kit/mappings/kubernetes_node_mapping.rb +0 -1
  29. data/lib/droplet_kit/mappings/kubernetes_node_pool_mapping.rb +8 -9
  30. data/lib/droplet_kit/mappings/load_balancer_mapping.rb +1 -1
  31. data/lib/droplet_kit/mappings/network_detail_mapping.rb +1 -1
  32. data/lib/droplet_kit/mappings/network_mapping.rb +1 -1
  33. data/lib/droplet_kit/mappings/project_assignment_mapping.rb +1 -1
  34. data/lib/droplet_kit/mappings/project_mapping.rb +5 -5
  35. data/lib/droplet_kit/mappings/region_mapping.rb +1 -1
  36. data/lib/droplet_kit/mappings/reserved_ip_mapping.rb +21 -0
  37. data/lib/droplet_kit/mappings/size_mapping.rb +1 -0
  38. data/lib/droplet_kit/mappings/snapshot_mapping.rb +1 -1
  39. data/lib/droplet_kit/mappings/ssh_key_mapping.rb +1 -1
  40. data/lib/droplet_kit/mappings/volume_mapping.rb +5 -6
  41. data/lib/droplet_kit/mappings/vpc_member_mapping.rb +1 -1
  42. data/lib/droplet_kit/models/base_model.rb +3 -3
  43. data/lib/droplet_kit/models/container_registry_repository.rb +1 -1
  44. data/lib/droplet_kit/models/container_registry_repository_tag.rb +1 -1
  45. data/lib/droplet_kit/models/domain.rb +1 -1
  46. data/lib/droplet_kit/models/droplet.rb +6 -7
  47. data/lib/droplet_kit/models/invoice.rb +15 -16
  48. data/lib/droplet_kit/models/kernel.rb +1 -1
  49. data/lib/droplet_kit/models/kubernetes_cluster.rb +1 -1
  50. data/lib/droplet_kit/models/kubernetes_node.rb +1 -1
  51. data/lib/droplet_kit/models/kubernetes_node_pool.rb +1 -1
  52. data/lib/droplet_kit/models/load_balancer.rb +4 -4
  53. data/lib/droplet_kit/models/meta_information.rb +1 -1
  54. data/lib/droplet_kit/models/pagination_information.rb +1 -1
  55. data/lib/droplet_kit/models/project.rb +1 -1
  56. data/lib/droplet_kit/models/reserved_ip.rb +20 -0
  57. data/lib/droplet_kit/models/size.rb +1 -0
  58. data/lib/droplet_kit/models/snapshot.rb +1 -1
  59. data/lib/droplet_kit/models/ssh_key.rb +1 -1
  60. data/lib/droplet_kit/models/volume.rb +1 -1
  61. data/lib/droplet_kit/models/vpc.rb +1 -1
  62. data/lib/droplet_kit/models/vpc_member.rb +1 -1
  63. data/lib/droplet_kit/paginated_resource.rb +10 -10
  64. data/lib/droplet_kit/resources/account_resource.rb +1 -1
  65. data/lib/droplet_kit/resources/balance_resource.rb +1 -1
  66. data/lib/droplet_kit/resources/domain_record_resource.rb +2 -2
  67. data/lib/droplet_kit/resources/droplet_action_resource.rb +5 -5
  68. data/lib/droplet_kit/resources/firewall_resource.rb +3 -3
  69. data/lib/droplet_kit/resources/image_resource.rb +1 -1
  70. data/lib/droplet_kit/resources/kubernetes_cluster_resource.rb +3 -5
  71. data/lib/droplet_kit/resources/load_balancer_resource.rb +1 -1
  72. data/lib/droplet_kit/resources/project_resource.rb +1 -1
  73. data/lib/droplet_kit/resources/reserved_ip_action_resource.rb +32 -0
  74. data/lib/droplet_kit/resources/reserved_ip_resource.rb +31 -0
  75. data/lib/droplet_kit/resources/ssh_key_resource.rb +3 -3
  76. data/lib/droplet_kit/resources/volume_action_resource.rb +3 -3
  77. data/lib/droplet_kit/resources/vpc_resource.rb +5 -5
  78. data/lib/droplet_kit/utils.rb +9 -9
  79. data/lib/droplet_kit/version.rb +1 -1
  80. data/lib/droplet_kit.rb +6 -2
  81. data/lib/tasks/resource_doc.rake +8 -9
  82. metadata +99 -19
@@ -4,17 +4,16 @@ require 'droplet_kit'
4
4
  require 'droplet_kit/utils'
5
5
 
6
6
  namespace :doc do
7
+ desc 'Generate a resource documentation'
7
8
  task :resources do
8
9
  resources = DropletKit::Client.resources
9
10
 
10
11
  resources.each do |key, klass|
11
- if (ENV['SKIP_CLASSES'] || '').split(',').include?(klass.name)
12
- next
13
- end
12
+ next if ENV.fetch('SKIP_CLASSES', '').split(',').include?(klass.name)
14
13
 
15
- class_name = DropletKit::Utils.underscore klass.name.split('::'.freeze).last
14
+ class_name = DropletKit::Utils.underscore klass.name.split('::').last
16
15
  human_name = class_name.dup
17
- human_name.tr!('_'.freeze, ' '.freeze)
16
+ human_name.tr!('_', ' ')
18
17
  human_name.gsub!(/([a-z\d]*)/i) { |match| match.downcase }
19
18
  human_name.gsub!(/\A\w/) { |match| match.upcase }
20
19
 
@@ -23,13 +22,13 @@ namespace :doc do
23
22
  puts " client = DropletKit::Client.new(access_token: 'TOKEN')"
24
23
  puts " client.#{key} #=> #{klass.name}"
25
24
  puts
26
- puts "Actions supported: "
25
+ puts 'Actions supported: '
27
26
  puts
28
27
  klass._resources.each do |action|
29
- action_options = action.path.scan(/\:[\w_\-]+/i)
28
+ action_options = action.path.scan(/:[\w_\-]+/i)
30
29
  params = []
31
30
 
32
- if action.body && action.body.arity > 0
31
+ if action.body&.arity&.positive?
33
32
  resource = class_name.dup
34
33
  resource.gsub!('_resource', '')
35
34
  resource.downcase!
@@ -38,7 +37,7 @@ namespace :doc do
38
37
 
39
38
  if action_options.any?
40
39
  action_string = action_options.map do |option|
41
- option.gsub!(/^\:/, '')
40
+ option.gsub!(/^:/, '')
42
41
  "#{option}: '#{option}'"
43
42
  end.join(', ')
44
43
 
metadata CHANGED
@@ -1,71 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droplet_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.16.1
4
+ version: 3.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DigitalOcean API Engineering team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-07 00:00:00.000000000 Z
11
+ date: 2022-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: virtus
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.3
19
+ version: '0.15'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.3
26
+ version: '0.15'
27
27
  - !ruby/object:Gem::Dependency
28
- name: resource_kit
28
+ name: kartograph
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.5
33
+ version: 0.2.8
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.5
40
+ version: 0.2.8
41
41
  - !ruby/object:Gem::Dependency
42
- name: kartograph
42
+ name: resource_kit
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.2.8
47
+ version: 0.1.5
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.2.8
54
+ version: 0.1.5
55
55
  - !ruby/object:Gem::Dependency
56
- name: faraday
56
+ name: virtus
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0.15'
61
+ version: 1.0.3
62
+ - - "<="
63
+ - !ruby/object:Gem::Version
64
+ version: '3'
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - ">="
67
70
  - !ruby/object:Gem::Version
68
- version: '0.15'
71
+ version: 1.0.3
72
+ - - "<="
73
+ - !ruby/object:Gem::Version
74
+ version: '3'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: bundler
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +100,20 @@ dependencies:
94
100
  - - ">="
95
101
  - !ruby/object:Gem::Version
96
102
  version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rb-readline
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
97
117
  - !ruby/object:Gem::Dependency
98
118
  name: rspec
99
119
  requirement: !ruby/object:Gem::Requirement
@@ -109,19 +129,75 @@ dependencies:
109
129
  - !ruby/object:Gem::Version
110
130
  version: 3.9.0
111
131
  - !ruby/object:Gem::Dependency
112
- name: rb-readline
132
+ name: rubocop
113
133
  requirement: !ruby/object:Gem::Requirement
114
134
  requirements:
115
135
  - - ">="
116
136
  - !ruby/object:Gem::Version
117
- version: '0'
137
+ version: 1.30.0
118
138
  type: :development
119
139
  prerelease: false
120
140
  version_requirements: !ruby/object:Gem::Requirement
121
141
  requirements:
122
142
  - - ">="
123
143
  - !ruby/object:Gem::Version
124
- version: '0'
144
+ version: 1.30.0
145
+ - !ruby/object:Gem::Dependency
146
+ name: rubocop-performance
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 1.14.2
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 1.14.2
159
+ - !ruby/object:Gem::Dependency
160
+ name: rubocop-rspec
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 2.11.1
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 2.11.1
173
+ - !ruby/object:Gem::Dependency
174
+ name: rubocop-packaging
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 0.5.1
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 0.5.1
187
+ - !ruby/object:Gem::Dependency
188
+ name: rubocop-rake
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: 0.6.0
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 0.6.0
125
201
  - !ruby/object:Gem::Dependency
126
202
  name: webmock
127
203
  requirement: !ruby/object:Gem::Requirement
@@ -197,6 +273,7 @@ files:
197
273
  - lib/droplet_kit/mappings/project_assignment_mapping.rb
198
274
  - lib/droplet_kit/mappings/project_mapping.rb
199
275
  - lib/droplet_kit/mappings/region_mapping.rb
276
+ - lib/droplet_kit/mappings/reserved_ip_mapping.rb
200
277
  - lib/droplet_kit/mappings/size_mapping.rb
201
278
  - lib/droplet_kit/mappings/snapshot_mapping.rb
202
279
  - lib/droplet_kit/mappings/ssh_key_mapping.rb
@@ -259,6 +336,7 @@ files:
259
336
  - lib/droplet_kit/models/project.rb
260
337
  - lib/droplet_kit/models/project_assignment.rb
261
338
  - lib/droplet_kit/models/region.rb
339
+ - lib/droplet_kit/models/reserved_ip.rb
262
340
  - lib/droplet_kit/models/size.rb
263
341
  - lib/droplet_kit/models/snapshot.rb
264
342
  - lib/droplet_kit/models/ssh_key.rb
@@ -295,6 +373,8 @@ files:
295
373
  - lib/droplet_kit/resources/load_balancer_resource.rb
296
374
  - lib/droplet_kit/resources/project_resource.rb
297
375
  - lib/droplet_kit/resources/region_resource.rb
376
+ - lib/droplet_kit/resources/reserved_ip_action_resource.rb
377
+ - lib/droplet_kit/resources/reserved_ip_resource.rb
298
378
  - lib/droplet_kit/resources/size_resource.rb
299
379
  - lib/droplet_kit/resources/snapshot_resource.rb
300
380
  - lib/droplet_kit/resources/ssh_key_resource.rb