scalingo 3.5.0 → 4.0.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +1 -1
  3. data/.github/workflows/ruby.yml +1 -1
  4. data/.rubocop.yml +40 -0
  5. data/CHANGELOG.md +22 -1
  6. data/Gemfile +2 -0
  7. data/README.md +13 -62
  8. data/bin/console +11 -1
  9. data/bin/lint +2 -0
  10. data/bin/setup +21 -6
  11. data/bin/specs +2 -0
  12. data/lib/scalingo/api/client.rb +21 -39
  13. data/lib/scalingo/api/endpoint.rb +88 -11
  14. data/lib/scalingo/auth/keys.rb +4 -50
  15. data/lib/scalingo/auth/scm_integrations.rb +4 -51
  16. data/lib/scalingo/auth/tokens.rb +5 -72
  17. data/lib/scalingo/auth/two_factor_auth.rb +4 -55
  18. data/lib/scalingo/auth/user.rb +3 -38
  19. data/lib/scalingo/bearer_token.rb +16 -9
  20. data/lib/scalingo/billing/profile.rb +3 -40
  21. data/lib/scalingo/client.rb +21 -31
  22. data/lib/scalingo/configuration.rb +0 -24
  23. data/lib/scalingo/core_client.rb +9 -29
  24. data/lib/scalingo/database/backups.rb +9 -0
  25. data/lib/scalingo/database/databases.rb +8 -0
  26. data/lib/scalingo/{regional_database.rb → database.rb} +3 -3
  27. data/lib/scalingo/faraday/extract_meta.rb +33 -0
  28. data/lib/scalingo/faraday/extract_root_value.rb +18 -0
  29. data/lib/scalingo/faraday/response.rb +36 -0
  30. data/lib/scalingo/regional/addons.rb +18 -130
  31. data/lib/scalingo/regional/apps.rb +10 -103
  32. data/lib/scalingo/regional/autoscalers.rb +5 -64
  33. data/lib/scalingo/regional/collaborators.rb +4 -51
  34. data/lib/scalingo/regional/containers.rb +4 -51
  35. data/lib/scalingo/regional/deployments.rb +3 -38
  36. data/lib/scalingo/regional/domains.rb +5 -64
  37. data/lib/scalingo/regional/environment.rb +6 -77
  38. data/lib/scalingo/regional/events.rb +5 -50
  39. data/lib/scalingo/regional/logs.rb +10 -28
  40. data/lib/scalingo/regional/metrics.rb +2 -34
  41. data/lib/scalingo/regional/notifiers.rb +7 -90
  42. data/lib/scalingo/regional/operations.rb +5 -18
  43. data/lib/scalingo/regional/scm_repo_links.rb +8 -103
  44. data/lib/scalingo/token_holder.rb +1 -46
  45. data/lib/scalingo/version.rb +1 -1
  46. data/scalingo.gemspec +4 -1
  47. metadata +61 -205
  48. data/lib/scalingo/api/response.rb +0 -69
  49. data/lib/scalingo/regional_database/backups.rb +0 -44
  50. data/lib/scalingo/regional_database/databases.rb +0 -31
  51. data/samples/auth/keys/_meta.json +0 -13
  52. data/samples/auth/keys/all-200.json +0 -62
  53. data/samples/auth/keys/create-201.json +0 -67
  54. data/samples/auth/keys/create-422.json +0 -34
  55. data/samples/auth/keys/destroy-204.json +0 -19
  56. data/samples/auth/keys/destroy-404.json +0 -19
  57. data/samples/auth/keys/show-200.json +0 -60
  58. data/samples/auth/keys/show-404.json +0 -19
  59. data/samples/auth/scm_integrations/_meta.json +0 -14
  60. data/samples/auth/scm_integrations/all-200.json +0 -41
  61. data/samples/auth/scm_integrations/create-201.json +0 -41
  62. data/samples/auth/scm_integrations/create-422.json +0 -36
  63. data/samples/auth/scm_integrations/destroy-204.json +0 -15
  64. data/samples/auth/scm_integrations/destroy-404.json +0 -23
  65. data/samples/auth/scm_integrations/show-200.json +0 -34
  66. data/samples/auth/scm_integrations/show-404.json +0 -23
  67. data/samples/auth/tokens/_meta.json +0 -13
  68. data/samples/auth/tokens/all-200.json +0 -32
  69. data/samples/auth/tokens/create-201.json +0 -37
  70. data/samples/auth/tokens/destroy-204.json +0 -19
  71. data/samples/auth/tokens/destroy-404.json +0 -19
  72. data/samples/auth/tokens/exchange-200.json +0 -25
  73. data/samples/auth/tokens/exchange-401.json +0 -24
  74. data/samples/auth/tokens/renew-200.json +0 -32
  75. data/samples/auth/tokens/renew-404.json +0 -20
  76. data/samples/auth/two_factor_auth/_meta.json +0 -10
  77. data/samples/auth/two_factor_auth/disable-not-initiated.json +0 -23
  78. data/samples/auth/two_factor_auth/disable-success.json +0 -29
  79. data/samples/auth/two_factor_auth/initiate-already-enabled.json +0 -29
  80. data/samples/auth/two_factor_auth/initiate-success.json +0 -36
  81. data/samples/auth/two_factor_auth/initiate-wrong-provider.json +0 -29
  82. data/samples/auth/two_factor_auth/status.json +0 -29
  83. data/samples/auth/two_factor_auth/validate-not-initiated.json +0 -29
  84. data/samples/auth/two_factor_auth/validate-success.json +0 -49
  85. data/samples/auth/two_factor_auth/validate-wrong.json +0 -29
  86. data/samples/auth/user/_meta.json +0 -10
  87. data/samples/auth/user/self.json +0 -54
  88. data/samples/auth/user/stop-free-trial.json +0 -24
  89. data/samples/auth/user/update-200.json +0 -59
  90. data/samples/auth/user/update-422.json +0 -33
  91. data/samples/billing/profile/_meta.json +0 -23
  92. data/samples/billing/profile/create-201.json +0 -50
  93. data/samples/billing/profile/create-400.json +0 -27
  94. data/samples/billing/profile/create-422.json +0 -44
  95. data/samples/billing/profile/show-200.json +0 -41
  96. data/samples/billing/profile/show-404.json +0 -22
  97. data/samples/billing/profile/update-200.json +0 -47
  98. data/samples/billing/profile/update-422.json +0 -32
  99. data/samples/regional/addons/_meta.json +0 -22
  100. data/samples/regional/addons/categories-guest.json +0 -36
  101. data/samples/regional/addons/categories-logged.json +0 -37
  102. data/samples/regional/addons/destroy-204.json +0 -19
  103. data/samples/regional/addons/destroy-404.json +0 -24
  104. data/samples/regional/addons/find-200.json +0 -48
  105. data/samples/regional/addons/find-404.json +0 -24
  106. data/samples/regional/addons/for-200.json +0 -50
  107. data/samples/regional/addons/providers-guest.json +0 -588
  108. data/samples/regional/addons/providers-logged.json +0 -705
  109. data/samples/regional/addons/provision-201.json +0 -58
  110. data/samples/regional/addons/provision-400.json +0 -29
  111. data/samples/regional/addons/sso-200.json +0 -49
  112. data/samples/regional/addons/sso-404.json +0 -24
  113. data/samples/regional/addons/token-200.json +0 -49
  114. data/samples/regional/addons/token-404.json +0 -24
  115. data/samples/regional/addons/update-200.json +0 -58
  116. data/samples/regional/addons/update-404.json +0 -30
  117. data/samples/regional/apps/_meta.json +0 -52
  118. data/samples/regional/apps/all.json +0 -99
  119. data/samples/regional/apps/create-201.json +0 -66
  120. data/samples/regional/apps/create-422.json +0 -34
  121. data/samples/regional/apps/destroy-204.json +0 -19
  122. data/samples/regional/apps/destroy-404.json +0 -24
  123. data/samples/regional/apps/destroy-422.json +0 -27
  124. data/samples/regional/apps/find-200.json +0 -60
  125. data/samples/regional/apps/find-404.json +0 -24
  126. data/samples/regional/apps/logs_url.json +0 -62
  127. data/samples/regional/apps/rename-200.json +0 -65
  128. data/samples/regional/apps/rename-404.json +0 -29
  129. data/samples/regional/apps/rename-422.json +0 -33
  130. data/samples/regional/apps/transfer-200.json +0 -65
  131. data/samples/regional/apps/transfer-404.json +0 -27
  132. data/samples/regional/apps/transfer-422.json +0 -34
  133. data/samples/regional/apps/update-200.json +0 -66
  134. data/samples/regional/apps/update-stack-404.json +0 -30
  135. data/samples/regional/autoscalers/_meta.json +0 -27
  136. data/samples/regional/autoscalers/create-201.json +0 -49
  137. data/samples/regional/autoscalers/create-500.json +0 -32
  138. data/samples/regional/autoscalers/destroy-204.json +0 -20
  139. data/samples/regional/autoscalers/destroy-404.json +0 -25
  140. data/samples/regional/autoscalers/find-200.json +0 -39
  141. data/samples/regional/autoscalers/find-404.json +0 -25
  142. data/samples/regional/autoscalers/for-200.json +0 -41
  143. data/samples/regional/autoscalers/update-200.json +0 -45
  144. data/samples/regional/autoscalers/update-404.json +0 -31
  145. data/samples/regional/autoscalers/update-500.json +0 -30
  146. data/samples/regional/collaborators/_meta.json +0 -17
  147. data/samples/regional/collaborators/accept-200.json +0 -60
  148. data/samples/regional/collaborators/accept-400.json +0 -24
  149. data/samples/regional/collaborators/accept-404.json +0 -24
  150. data/samples/regional/collaborators/destroy-204.json +0 -19
  151. data/samples/regional/collaborators/destroy-404.json +0 -24
  152. data/samples/regional/collaborators/for-200.json +0 -34
  153. data/samples/regional/collaborators/invite-201.json +0 -37
  154. data/samples/regional/collaborators/invite-422.json +0 -34
  155. data/samples/regional/containers/_meta.json +0 -25
  156. data/samples/regional/containers/for-200.json +0 -39
  157. data/samples/regional/containers/restart-202.json +0 -28
  158. data/samples/regional/containers/restart-422.json +0 -33
  159. data/samples/regional/containers/scale-202.json +0 -48
  160. data/samples/regional/containers/scale-422.json +0 -36
  161. data/samples/regional/containers/sizes-guest.json +0 -115
  162. data/samples/regional/containers/sizes-logged.json +0 -116
  163. data/samples/regional/deployments/_meta.json +0 -8
  164. data/samples/regional/deployments/find-200.json +0 -45
  165. data/samples/regional/deployments/find-404.json +0 -24
  166. data/samples/regional/deployments/for-with-paging.json +0 -35
  167. data/samples/regional/deployments/for-without-pages.json +0 -56
  168. data/samples/regional/deployments/logs-200.json +0 -22
  169. data/samples/regional/deployments/logs-404.json +0 -24
  170. data/samples/regional/domains/_meta.json +0 -21
  171. data/samples/regional/domains/create-201.json +0 -44
  172. data/samples/regional/domains/create-422.json +0 -33
  173. data/samples/regional/domains/destroy-204.json +0 -19
  174. data/samples/regional/domains/destroy-404.json +0 -24
  175. data/samples/regional/domains/find-200.json +0 -38
  176. data/samples/regional/domains/find-404.json +0 -24
  177. data/samples/regional/domains/for-200.json +0 -40
  178. data/samples/regional/domains/update-200.json +0 -44
  179. data/samples/regional/domains/update-404.json +0 -30
  180. data/samples/regional/domains/update-422.json +0 -33
  181. data/samples/regional/environment/_meta.json +0 -43
  182. data/samples/regional/environment/bulk-destroy-204.json +0 -19
  183. data/samples/regional/environment/bulk-update-200.json +0 -70
  184. data/samples/regional/environment/create-201.json +0 -36
  185. data/samples/regional/environment/create-422.json +0 -37
  186. data/samples/regional/environment/destroy-204.json +0 -19
  187. data/samples/regional/environment/destroy-404.json +0 -24
  188. data/samples/regional/environment/for-200.json +0 -31
  189. data/samples/regional/environment/update-200.json +0 -35
  190. data/samples/regional/environment/update-404.json +0 -30
  191. data/samples/regional/events/_meta.json +0 -3
  192. data/samples/regional/events/all-200.json +0 -619
  193. data/samples/regional/events/categories-guest.json +0 -66
  194. data/samples/regional/events/categories-logged.json +0 -67
  195. data/samples/regional/events/for-200.json +0 -404
  196. data/samples/regional/events/types-guest.json +0 -288
  197. data/samples/regional/events/types-logged.json +0 -289
  198. data/samples/regional/logs/_meta.json +0 -11
  199. data/samples/regional/logs/archives-200.json +0 -28
  200. data/samples/regional/logs/get-guest-200.json +0 -18
  201. data/samples/regional/logs/get-logged-200.json +0 -19
  202. data/samples/regional/logs/get-with-limit-200.json +0 -18
  203. data/samples/regional/metrics/_meta.json +0 -15
  204. data/samples/regional/metrics/for-invalid-400.json +0 -23
  205. data/samples/regional/metrics/for-valid-cpu-200.json +0 -747
  206. data/samples/regional/metrics/for-valid-router-404.json +0 -23
  207. data/samples/regional/metrics/types-guest.json +0 -66
  208. data/samples/regional/metrics/types-logged.json +0 -67
  209. data/samples/regional/notifiers/_meta.json +0 -23
  210. data/samples/regional/notifiers/create-201.json +0 -55
  211. data/samples/regional/notifiers/create-404.json +0 -30
  212. data/samples/regional/notifiers/create-422.json +0 -36
  213. data/samples/regional/notifiers/destroy-204.json +0 -19
  214. data/samples/regional/notifiers/destroy-404.json +0 -24
  215. data/samples/regional/notifiers/find-200.json +0 -47
  216. data/samples/regional/notifiers/find-404.json +0 -24
  217. data/samples/regional/notifiers/for-200.json +0 -49
  218. data/samples/regional/notifiers/platforms-guest.json +0 -184
  219. data/samples/regional/notifiers/platforms-logged.json +0 -185
  220. data/samples/regional/notifiers/test-200.json +0 -22
  221. data/samples/regional/notifiers/test-404.json +0 -25
  222. data/samples/regional/notifiers/update-200.json +0 -53
  223. data/samples/regional/operations/_meta.json +0 -5
  224. data/samples/regional/operations/find-200.json +0 -31
  225. data/samples/regional/operations/find-404.json +0 -24
  226. data/samples/regional/scm_repo_links/_meta.json +0 -22
  227. data/samples/regional/scm_repo_links/create-201.json +0 -54
  228. data/samples/regional/scm_repo_links/destroy-204.json +0 -15
  229. data/samples/regional/scm_repo_links/manual-deploy-200.json +0 -32
  230. data/samples/regional/scm_repo_links/show-200.json +0 -43
  231. data/samples/regional/scm_repo_links/update-200.json +0 -50
  232. data/samples/regional_database/backups/_meta.json +0 -4
  233. data/samples/regional_database/backups/archive-200.json +0 -24
  234. data/samples/regional_database/backups/archive-400.json +0 -24
  235. data/samples/regional_database/backups/create-201.json +0 -32
  236. data/samples/regional_database/backups/create-400.json +0 -24
  237. data/samples/regional_database/backups/for-200.json +0 -52
  238. data/samples/regional_database/backups/for-400.json +0 -24
  239. data/samples/regional_database/databases/_meta.json +0 -3
  240. data/samples/regional_database/databases/find-200.json +0 -47
  241. data/samples/regional_database/databases/find-400.json +0 -24
  242. data/samples/regional_database/databases/upgrade-202.json +0 -39
  243. data/samples/regional_database/databases/upgrade-400.json +0 -24
metadata CHANGED
@@ -1,16 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scalingo
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 4.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leo Unbekandt
8
8
  - Kevin Soltysiak
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2024-01-09 00:00:00.000000000 Z
11
+ date: 2025-03-07 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: addressable
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.8.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.8.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
14
33
  - !ruby/object:Gem::Dependency
15
34
  name: activesupport
16
35
  requirement: !ruby/object:Gem::Requirement
@@ -20,7 +39,7 @@ dependencies:
20
39
  version: '5'
21
40
  - - "<"
22
41
  - !ruby/object:Gem::Version
23
- version: '8'
42
+ version: '8.1'
24
43
  type: :runtime
25
44
  prerelease: false
26
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +49,7 @@ dependencies:
30
49
  version: '5'
31
50
  - - "<"
32
51
  - !ruby/object:Gem::Version
33
- version: '8'
52
+ version: '8.1'
34
53
  - !ruby/object:Gem::Dependency
35
54
  name: faraday
36
55
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +84,20 @@ dependencies:
65
84
  - - "~>"
66
85
  - !ruby/object:Gem::Version
67
86
  version: '1.0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: jwt
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
68
101
  - !ruby/object:Gem::Dependency
69
102
  name: bundler
70
103
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +112,20 @@ dependencies:
79
112
  - - "~>"
80
113
  - !ruby/object:Gem::Version
81
114
  version: '2.0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: dotenv
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
82
129
  - !ruby/object:Gem::Dependency
83
130
  name: rake
84
131
  requirement: !ruby/object:Gem::Requirement
@@ -184,11 +231,12 @@ files:
184
231
  - README.md
185
232
  - Rakefile
186
233
  - bin/console
234
+ - bin/lint
187
235
  - bin/setup
236
+ - bin/specs
188
237
  - lib/scalingo.rb
189
238
  - lib/scalingo/api/client.rb
190
239
  - lib/scalingo/api/endpoint.rb
191
- - lib/scalingo/api/response.rb
192
240
  - lib/scalingo/auth.rb
193
241
  - lib/scalingo/auth/keys.rb
194
242
  - lib/scalingo/auth/scm_integrations.rb
@@ -201,9 +249,15 @@ files:
201
249
  - lib/scalingo/client.rb
202
250
  - lib/scalingo/configuration.rb
203
251
  - lib/scalingo/core_client.rb
252
+ - lib/scalingo/database.rb
253
+ - lib/scalingo/database/backups.rb
254
+ - lib/scalingo/database/databases.rb
204
255
  - lib/scalingo/error/expired_token.rb
205
256
  - lib/scalingo/error/unauthenticated.rb
206
257
  - lib/scalingo/errors.rb
258
+ - lib/scalingo/faraday/extract_meta.rb
259
+ - lib/scalingo/faraday/extract_root_value.rb
260
+ - lib/scalingo/faraday/response.rb
207
261
  - lib/scalingo/regional.rb
208
262
  - lib/scalingo/regional/addons.rb
209
263
  - lib/scalingo/regional/apps.rb
@@ -219,204 +273,8 @@ files:
219
273
  - lib/scalingo/regional/notifiers.rb
220
274
  - lib/scalingo/regional/operations.rb
221
275
  - lib/scalingo/regional/scm_repo_links.rb
222
- - lib/scalingo/regional_database.rb
223
- - lib/scalingo/regional_database/backups.rb
224
- - lib/scalingo/regional_database/databases.rb
225
276
  - lib/scalingo/token_holder.rb
226
277
  - lib/scalingo/version.rb
227
- - samples/auth/keys/_meta.json
228
- - samples/auth/keys/all-200.json
229
- - samples/auth/keys/create-201.json
230
- - samples/auth/keys/create-422.json
231
- - samples/auth/keys/destroy-204.json
232
- - samples/auth/keys/destroy-404.json
233
- - samples/auth/keys/show-200.json
234
- - samples/auth/keys/show-404.json
235
- - samples/auth/scm_integrations/_meta.json
236
- - samples/auth/scm_integrations/all-200.json
237
- - samples/auth/scm_integrations/create-201.json
238
- - samples/auth/scm_integrations/create-422.json
239
- - samples/auth/scm_integrations/destroy-204.json
240
- - samples/auth/scm_integrations/destroy-404.json
241
- - samples/auth/scm_integrations/show-200.json
242
- - samples/auth/scm_integrations/show-404.json
243
- - samples/auth/tokens/_meta.json
244
- - samples/auth/tokens/all-200.json
245
- - samples/auth/tokens/create-201.json
246
- - samples/auth/tokens/destroy-204.json
247
- - samples/auth/tokens/destroy-404.json
248
- - samples/auth/tokens/exchange-200.json
249
- - samples/auth/tokens/exchange-401.json
250
- - samples/auth/tokens/renew-200.json
251
- - samples/auth/tokens/renew-404.json
252
- - samples/auth/two_factor_auth/_meta.json
253
- - samples/auth/two_factor_auth/disable-not-initiated.json
254
- - samples/auth/two_factor_auth/disable-success.json
255
- - samples/auth/two_factor_auth/initiate-already-enabled.json
256
- - samples/auth/two_factor_auth/initiate-success.json
257
- - samples/auth/two_factor_auth/initiate-wrong-provider.json
258
- - samples/auth/two_factor_auth/status.json
259
- - samples/auth/two_factor_auth/validate-not-initiated.json
260
- - samples/auth/two_factor_auth/validate-success.json
261
- - samples/auth/two_factor_auth/validate-wrong.json
262
- - samples/auth/user/_meta.json
263
- - samples/auth/user/self.json
264
- - samples/auth/user/stop-free-trial.json
265
- - samples/auth/user/update-200.json
266
- - samples/auth/user/update-422.json
267
- - samples/billing/profile/_meta.json
268
- - samples/billing/profile/create-201.json
269
- - samples/billing/profile/create-400.json
270
- - samples/billing/profile/create-422.json
271
- - samples/billing/profile/show-200.json
272
- - samples/billing/profile/show-404.json
273
- - samples/billing/profile/update-200.json
274
- - samples/billing/profile/update-422.json
275
- - samples/regional/addons/_meta.json
276
- - samples/regional/addons/categories-guest.json
277
- - samples/regional/addons/categories-logged.json
278
- - samples/regional/addons/destroy-204.json
279
- - samples/regional/addons/destroy-404.json
280
- - samples/regional/addons/find-200.json
281
- - samples/regional/addons/find-404.json
282
- - samples/regional/addons/for-200.json
283
- - samples/regional/addons/providers-guest.json
284
- - samples/regional/addons/providers-logged.json
285
- - samples/regional/addons/provision-201.json
286
- - samples/regional/addons/provision-400.json
287
- - samples/regional/addons/sso-200.json
288
- - samples/regional/addons/sso-404.json
289
- - samples/regional/addons/token-200.json
290
- - samples/regional/addons/token-404.json
291
- - samples/regional/addons/update-200.json
292
- - samples/regional/addons/update-404.json
293
- - samples/regional/apps/_meta.json
294
- - samples/regional/apps/all.json
295
- - samples/regional/apps/create-201.json
296
- - samples/regional/apps/create-422.json
297
- - samples/regional/apps/destroy-204.json
298
- - samples/regional/apps/destroy-404.json
299
- - samples/regional/apps/destroy-422.json
300
- - samples/regional/apps/find-200.json
301
- - samples/regional/apps/find-404.json
302
- - samples/regional/apps/logs_url.json
303
- - samples/regional/apps/rename-200.json
304
- - samples/regional/apps/rename-404.json
305
- - samples/regional/apps/rename-422.json
306
- - samples/regional/apps/transfer-200.json
307
- - samples/regional/apps/transfer-404.json
308
- - samples/regional/apps/transfer-422.json
309
- - samples/regional/apps/update-200.json
310
- - samples/regional/apps/update-stack-404.json
311
- - samples/regional/autoscalers/_meta.json
312
- - samples/regional/autoscalers/create-201.json
313
- - samples/regional/autoscalers/create-500.json
314
- - samples/regional/autoscalers/destroy-204.json
315
- - samples/regional/autoscalers/destroy-404.json
316
- - samples/regional/autoscalers/find-200.json
317
- - samples/regional/autoscalers/find-404.json
318
- - samples/regional/autoscalers/for-200.json
319
- - samples/regional/autoscalers/update-200.json
320
- - samples/regional/autoscalers/update-404.json
321
- - samples/regional/autoscalers/update-500.json
322
- - samples/regional/collaborators/_meta.json
323
- - samples/regional/collaborators/accept-200.json
324
- - samples/regional/collaborators/accept-400.json
325
- - samples/regional/collaborators/accept-404.json
326
- - samples/regional/collaborators/destroy-204.json
327
- - samples/regional/collaborators/destroy-404.json
328
- - samples/regional/collaborators/for-200.json
329
- - samples/regional/collaborators/invite-201.json
330
- - samples/regional/collaborators/invite-422.json
331
- - samples/regional/containers/_meta.json
332
- - samples/regional/containers/for-200.json
333
- - samples/regional/containers/restart-202.json
334
- - samples/regional/containers/restart-422.json
335
- - samples/regional/containers/scale-202.json
336
- - samples/regional/containers/scale-422.json
337
- - samples/regional/containers/sizes-guest.json
338
- - samples/regional/containers/sizes-logged.json
339
- - samples/regional/deployments/_meta.json
340
- - samples/regional/deployments/find-200.json
341
- - samples/regional/deployments/find-404.json
342
- - samples/regional/deployments/for-with-paging.json
343
- - samples/regional/deployments/for-without-pages.json
344
- - samples/regional/deployments/logs-200.json
345
- - samples/regional/deployments/logs-404.json
346
- - samples/regional/domains/_meta.json
347
- - samples/regional/domains/create-201.json
348
- - samples/regional/domains/create-422.json
349
- - samples/regional/domains/destroy-204.json
350
- - samples/regional/domains/destroy-404.json
351
- - samples/regional/domains/find-200.json
352
- - samples/regional/domains/find-404.json
353
- - samples/regional/domains/for-200.json
354
- - samples/regional/domains/update-200.json
355
- - samples/regional/domains/update-404.json
356
- - samples/regional/domains/update-422.json
357
- - samples/regional/environment/_meta.json
358
- - samples/regional/environment/bulk-destroy-204.json
359
- - samples/regional/environment/bulk-update-200.json
360
- - samples/regional/environment/create-201.json
361
- - samples/regional/environment/create-422.json
362
- - samples/regional/environment/destroy-204.json
363
- - samples/regional/environment/destroy-404.json
364
- - samples/regional/environment/for-200.json
365
- - samples/regional/environment/update-200.json
366
- - samples/regional/environment/update-404.json
367
- - samples/regional/events/_meta.json
368
- - samples/regional/events/all-200.json
369
- - samples/regional/events/categories-guest.json
370
- - samples/regional/events/categories-logged.json
371
- - samples/regional/events/for-200.json
372
- - samples/regional/events/types-guest.json
373
- - samples/regional/events/types-logged.json
374
- - samples/regional/logs/_meta.json
375
- - samples/regional/logs/archives-200.json
376
- - samples/regional/logs/get-guest-200.json
377
- - samples/regional/logs/get-logged-200.json
378
- - samples/regional/logs/get-with-limit-200.json
379
- - samples/regional/metrics/_meta.json
380
- - samples/regional/metrics/for-invalid-400.json
381
- - samples/regional/metrics/for-valid-cpu-200.json
382
- - samples/regional/metrics/for-valid-router-404.json
383
- - samples/regional/metrics/types-guest.json
384
- - samples/regional/metrics/types-logged.json
385
- - samples/regional/notifiers/_meta.json
386
- - samples/regional/notifiers/create-201.json
387
- - samples/regional/notifiers/create-404.json
388
- - samples/regional/notifiers/create-422.json
389
- - samples/regional/notifiers/destroy-204.json
390
- - samples/regional/notifiers/destroy-404.json
391
- - samples/regional/notifiers/find-200.json
392
- - samples/regional/notifiers/find-404.json
393
- - samples/regional/notifiers/for-200.json
394
- - samples/regional/notifiers/platforms-guest.json
395
- - samples/regional/notifiers/platforms-logged.json
396
- - samples/regional/notifiers/test-200.json
397
- - samples/regional/notifiers/test-404.json
398
- - samples/regional/notifiers/update-200.json
399
- - samples/regional/operations/_meta.json
400
- - samples/regional/operations/find-200.json
401
- - samples/regional/operations/find-404.json
402
- - samples/regional/scm_repo_links/_meta.json
403
- - samples/regional/scm_repo_links/create-201.json
404
- - samples/regional/scm_repo_links/destroy-204.json
405
- - samples/regional/scm_repo_links/manual-deploy-200.json
406
- - samples/regional/scm_repo_links/show-200.json
407
- - samples/regional/scm_repo_links/update-200.json
408
- - samples/regional_database/backups/_meta.json
409
- - samples/regional_database/backups/archive-200.json
410
- - samples/regional_database/backups/archive-400.json
411
- - samples/regional_database/backups/create-201.json
412
- - samples/regional_database/backups/create-400.json
413
- - samples/regional_database/backups/for-200.json
414
- - samples/regional_database/backups/for-400.json
415
- - samples/regional_database/databases/_meta.json
416
- - samples/regional_database/databases/find-200.json
417
- - samples/regional_database/databases/find-400.json
418
- - samples/regional_database/databases/upgrade-202.json
419
- - samples/regional_database/databases/upgrade-400.json
420
278
  - scalingo.gemspec
421
279
  homepage: https://www.scalingo.com
422
280
  licenses:
@@ -427,7 +285,6 @@ metadata:
427
285
  documentation_uri: https://developers.scalingo.com/
428
286
  homepage_uri: https://www.scalingo.com/
429
287
  source_code_uri: https://github.com/Scalingo/scalingo-ruby-api
430
- post_install_message:
431
288
  rdoc_options: []
432
289
  require_paths:
433
290
  - lib
@@ -442,8 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
442
299
  - !ruby/object:Gem::Version
443
300
  version: '0'
444
301
  requirements: []
445
- rubygems_version: 3.5.4
446
- signing_key:
302
+ rubygems_version: 3.6.5
447
303
  specification_version: 4
448
304
  summary: Ruby client for Scalingo APIs
449
305
  test_files: []
@@ -1,69 +0,0 @@
1
- module Scalingo
2
- module API
3
- class Response
4
- def self.unpack(client, key: nil, keys: nil)
5
- response = yield
6
-
7
- body = response.body
8
- has_hash_body = body.present? && body.respond_to?(:key)
9
-
10
- data = body
11
- meta = nil
12
-
13
- if has_hash_body
14
- keys = [key] if key.present?
15
-
16
- data = body.dig(*keys) if response.success? && keys.present?
17
-
18
- meta = body[:meta]
19
- end
20
-
21
- new(
22
- client: client,
23
- status: response.status,
24
- headers: response.headers,
25
- data: data,
26
- meta: meta,
27
- full_body: body
28
- )
29
- end
30
-
31
- attr_reader :client, :status, :headers, :data, :full_body, :meta
32
-
33
- def initialize(client:, status:, headers:, data:, full_body:, meta: nil)
34
- @client = client
35
- @status = status
36
- @headers = headers
37
- @data = data
38
- @full_body = full_body
39
- @meta = meta
40
- end
41
-
42
- def inspect
43
- %(<#{self.class}:0x#{object_id.to_s(16)} status:#{@status} data:#{@data} meta:#{@meta}>)
44
- end
45
-
46
- def successful?
47
- status >= 200 && status < 300
48
- end
49
-
50
- def paginated?
51
- meta&.dig(:pagination).present?
52
- end
53
-
54
- def operation
55
- if operation? && client.respond_to?(:operations)
56
- client.operations.get(operation_url)
57
- end
58
- end
59
-
60
- def operation_url
61
- headers[:location]
62
- end
63
-
64
- def operation?
65
- operation_url.present?
66
- end
67
- end
68
- end
69
- end
@@ -1,44 +0,0 @@
1
- require "scalingo/api/endpoint"
2
-
3
- module Scalingo
4
- class RegionalDatabase::Backups < API::Endpoint
5
- def create(addon_id, headers = nil, &block)
6
- data = nil
7
-
8
- response = database_connection(addon_id).post(
9
- "databases/#{addon_id}/backups",
10
- data,
11
- headers,
12
- &block
13
- )
14
-
15
- unpack(:database_backup) { response }
16
- end
17
-
18
- def for(addon_id, headers = nil, &block)
19
- data = nil
20
-
21
- response = database_connection(addon_id).get(
22
- "databases/#{addon_id}/backups",
23
- data,
24
- headers,
25
- &block
26
- )
27
-
28
- unpack(:database_backups) { response }
29
- end
30
-
31
- def archive(addon_id, backup_id, headers = nil, &block)
32
- data = nil
33
-
34
- response = database_connection(addon_id).get(
35
- "databases/#{addon_id}/backups/#{backup_id}/archive",
36
- data,
37
- headers,
38
- &block
39
- )
40
-
41
- unpack { response }
42
- end
43
- end
44
- end
@@ -1,31 +0,0 @@
1
- require "scalingo/api/endpoint"
2
-
3
- module Scalingo
4
- class RegionalDatabase::Databases < API::Endpoint
5
- def find(id, headers = nil, &block)
6
- data = nil
7
-
8
- response = database_connection(id).get(
9
- "databases/#{id}",
10
- data,
11
- headers,
12
- &block
13
- )
14
-
15
- unpack(:database) { response }
16
- end
17
-
18
- def upgrade(id, headers = nil, &block)
19
- data = nil
20
-
21
- response = database_connection(id).post(
22
- "databases/#{id}/upgrade",
23
- data,
24
- headers,
25
- &block
26
- )
27
-
28
- unpack(:database) { response }
29
- end
30
- end
31
- end
@@ -1,13 +0,0 @@
1
- {
2
- "id": "73c35bc1-c809-4a53-9409-a70e0f424c13",
3
- "not_found_id": "wrong-key",
4
- "create": {
5
- "valid": {
6
- "name": "example key",
7
- "content": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q=="
8
- },
9
- "invalid": {
10
- "name": "example key"
11
- }
12
- }
13
- }
@@ -1,62 +0,0 @@
1
- {
2
- "path": "/keys",
3
- "method": "get",
4
- "request": {
5
- "headers": {
6
- "Authorization": "Bearer the-bearer-token"
7
- }
8
- },
9
- "response": {
10
- "status": 200,
11
- "headers": {
12
- "Date": "Fri, 29 May 2020 12:04:34 GMT",
13
- "Etag": "W/\"a25a51e7d9b0eb8cf01dde6663ca886f\"",
14
- "Content-Type": "application/json; charset=utf-8",
15
- "Transfer-Encoding": "chunked",
16
- "Connection": "keep-alive",
17
- "Cache-Control": "max-age=0, private, must-revalidate",
18
- "Referrer-Policy": "strict-origin-when-cross-origin"
19
- },
20
- "json_body": {
21
- "keys": [
22
- {
23
- "id": "73c35bc1-c809-4a53-9409-a70e0f424c13",
24
- "name": "example key",
25
- "content": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q==",
26
- "fingerprint": "43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a",
27
- "created_at": "2020-05-29T12:04:34.387Z",
28
- "owner": {
29
- "id": "us-676bb0c1-1ca9-4682-8ee1-257422e9eab5",
30
- "created_at": "2020-05-13T19:03:47.606Z",
31
- "email": "example@null.scalingo.com",
32
- "username": "example-username",
33
- "uuid": "us-676bb0c1-1ca9-4682-8ee1-257422e9eab5",
34
- "company": null,
35
- "location": "Somecity",
36
- "fullname": "Example Username",
37
- "github": {
38
- "username": null,
39
- "email": null,
40
- "avatar_url": null,
41
- "profile_url": null
42
- },
43
- "tos_accepted": true,
44
- "unconfirmed_email": null,
45
- "flags": {
46
- "": true,
47
- "admin": true
48
- },
49
- "limits": {
50
- },
51
- "referral_url": "https://staging.sclng.io/r/dc4830c8190baf25",
52
- "referral_clicks": 0,
53
- "free_trial_started_at": "2020-05-13T19:03:47.603Z",
54
- "free_trial_end_time": "2020-06-12T21:03:00.000Z",
55
- "suspended_at": null,
56
- "suspension_reason": null
57
- }
58
- }
59
- ]
60
- }
61
- }
62
- }
@@ -1,67 +0,0 @@
1
- {
2
- "path": "/keys",
3
- "method": "post",
4
- "request": {
5
- "headers": {
6
- "Authorization": "Bearer the-bearer-token",
7
- "Content-Type": "application/json"
8
- },
9
- "json_body": {
10
- "key": {
11
- "name": "example key",
12
- "content": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q=="
13
- }
14
- }
15
- },
16
- "response": {
17
- "status": 201,
18
- "headers": {
19
- "Date": "Fri, 29 May 2020 12:04:34 GMT",
20
- "Etag": "W/\"c60e645fc1f1e29e7daeac639a04959d\"",
21
- "Content-Type": "application/json; charset=utf-8",
22
- "Transfer-Encoding": "chunked",
23
- "Connection": "keep-alive",
24
- "Cache-Control": "max-age=0, private, must-revalidate",
25
- "Referrer-Policy": "strict-origin-when-cross-origin"
26
- },
27
- "json_body": {
28
- "key": {
29
- "id": "73c35bc1-c809-4a53-9409-a70e0f424c13",
30
- "name": "example key",
31
- "content": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q==",
32
- "fingerprint": "43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a",
33
- "created_at": "2020-05-29T12:04:34.387Z",
34
- "owner": {
35
- "id": "us-676bb0c1-1ca9-4682-8ee1-257422e9eab5",
36
- "created_at": "2020-05-13T19:03:47.606Z",
37
- "email": "example@null.scalingo.com",
38
- "username": "example-username",
39
- "uuid": "us-676bb0c1-1ca9-4682-8ee1-257422e9eab5",
40
- "company": null,
41
- "location": "Somecity",
42
- "fullname": "Example Username",
43
- "github": {
44
- "username": null,
45
- "email": null,
46
- "avatar_url": null,
47
- "profile_url": null
48
- },
49
- "tos_accepted": true,
50
- "unconfirmed_email": null,
51
- "flags": {
52
- "": true,
53
- "admin": true
54
- },
55
- "limits": {
56
- },
57
- "referral_url": "https://staging.sclng.io/r/dc4830c8190baf25",
58
- "referral_clicks": 0,
59
- "free_trial_started_at": "2020-05-13T19:03:47.603Z",
60
- "free_trial_end_time": "2020-06-12T21:03:00.000Z",
61
- "suspended_at": null,
62
- "suspension_reason": null
63
- }
64
- }
65
- }
66
- }
67
- }
@@ -1,34 +0,0 @@
1
- {
2
- "path": "/keys",
3
- "method": "post",
4
- "request": {
5
- "headers": {
6
- "Authorization": "Bearer the-bearer-token",
7
- "Content-Type": "application/json"
8
- },
9
- "json_body": {
10
- "key": {
11
- "name": "example key"
12
- }
13
- }
14
- },
15
- "response": {
16
- "status": 422,
17
- "headers": {
18
- "Date": "Fri, 29 May 2020 12:04:33 GMT",
19
- "Content-Type": "application/json; charset=utf-8",
20
- "Transfer-Encoding": "chunked",
21
- "Connection": "keep-alive",
22
- "Cache-Control": "no-cache",
23
- "Referrer-Policy": "strict-origin-when-cross-origin"
24
- },
25
- "json_body": {
26
- "errors": {
27
- "content": [
28
- "can't be blank",
29
- "is too short (minimum is 10 characters)"
30
- ]
31
- }
32
- }
33
- }
34
- }