scalingo 3.6.0 → 4.0.beta1

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/workflows/publish.yml +5 -2
  3. data/.github/workflows/ruby.yml +1 -1
  4. data/.rubocop.yml +41 -0
  5. data/CHANGELOG.md +14 -5
  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 +64 -202
  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,15 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scalingo
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 4.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leo Unbekandt
8
8
  - Kevin Soltysiak
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2025-03-07 00:00:00.000000000 Z
12
+ date: 2024-04-16 00:00:00.000000000 Z
12
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: addressable
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 2.8.0
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '3'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 2.8.0
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
13
34
  - !ruby/object:Gem::Dependency
14
35
  name: activesupport
15
36
  requirement: !ruby/object:Gem::Requirement
@@ -19,7 +40,7 @@ dependencies:
19
40
  version: '5'
20
41
  - - "<"
21
42
  - !ruby/object:Gem::Version
22
- version: '8.1'
43
+ version: '8'
23
44
  type: :runtime
24
45
  prerelease: false
25
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +50,7 @@ dependencies:
29
50
  version: '5'
30
51
  - - "<"
31
52
  - !ruby/object:Gem::Version
32
- version: '8.1'
53
+ version: '8'
33
54
  - !ruby/object:Gem::Dependency
34
55
  name: faraday
35
56
  requirement: !ruby/object:Gem::Requirement
@@ -64,6 +85,20 @@ dependencies:
64
85
  - - "~>"
65
86
  - !ruby/object:Gem::Version
66
87
  version: '1.0'
88
+ - !ruby/object:Gem::Dependency
89
+ name: jwt
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ type: :runtime
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
67
102
  - !ruby/object:Gem::Dependency
68
103
  name: bundler
69
104
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +113,20 @@ dependencies:
78
113
  - - "~>"
79
114
  - !ruby/object:Gem::Version
80
115
  version: '2.0'
116
+ - !ruby/object:Gem::Dependency
117
+ name: dotenv
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
81
130
  - !ruby/object:Gem::Dependency
82
131
  name: rake
83
132
  requirement: !ruby/object:Gem::Requirement
@@ -183,11 +232,12 @@ files:
183
232
  - README.md
184
233
  - Rakefile
185
234
  - bin/console
235
+ - bin/lint
186
236
  - bin/setup
237
+ - bin/specs
187
238
  - lib/scalingo.rb
188
239
  - lib/scalingo/api/client.rb
189
240
  - lib/scalingo/api/endpoint.rb
190
- - lib/scalingo/api/response.rb
191
241
  - lib/scalingo/auth.rb
192
242
  - lib/scalingo/auth/keys.rb
193
243
  - lib/scalingo/auth/scm_integrations.rb
@@ -200,9 +250,15 @@ files:
200
250
  - lib/scalingo/client.rb
201
251
  - lib/scalingo/configuration.rb
202
252
  - lib/scalingo/core_client.rb
253
+ - lib/scalingo/database.rb
254
+ - lib/scalingo/database/backups.rb
255
+ - lib/scalingo/database/databases.rb
203
256
  - lib/scalingo/error/expired_token.rb
204
257
  - lib/scalingo/error/unauthenticated.rb
205
258
  - lib/scalingo/errors.rb
259
+ - lib/scalingo/faraday/extract_meta.rb
260
+ - lib/scalingo/faraday/extract_root_value.rb
261
+ - lib/scalingo/faraday/response.rb
206
262
  - lib/scalingo/regional.rb
207
263
  - lib/scalingo/regional/addons.rb
208
264
  - lib/scalingo/regional/apps.rb
@@ -218,204 +274,8 @@ files:
218
274
  - lib/scalingo/regional/notifiers.rb
219
275
  - lib/scalingo/regional/operations.rb
220
276
  - lib/scalingo/regional/scm_repo_links.rb
221
- - lib/scalingo/regional_database.rb
222
- - lib/scalingo/regional_database/backups.rb
223
- - lib/scalingo/regional_database/databases.rb
224
277
  - lib/scalingo/token_holder.rb
225
278
  - lib/scalingo/version.rb
226
- - samples/auth/keys/_meta.json
227
- - samples/auth/keys/all-200.json
228
- - samples/auth/keys/create-201.json
229
- - samples/auth/keys/create-422.json
230
- - samples/auth/keys/destroy-204.json
231
- - samples/auth/keys/destroy-404.json
232
- - samples/auth/keys/show-200.json
233
- - samples/auth/keys/show-404.json
234
- - samples/auth/scm_integrations/_meta.json
235
- - samples/auth/scm_integrations/all-200.json
236
- - samples/auth/scm_integrations/create-201.json
237
- - samples/auth/scm_integrations/create-422.json
238
- - samples/auth/scm_integrations/destroy-204.json
239
- - samples/auth/scm_integrations/destroy-404.json
240
- - samples/auth/scm_integrations/show-200.json
241
- - samples/auth/scm_integrations/show-404.json
242
- - samples/auth/tokens/_meta.json
243
- - samples/auth/tokens/all-200.json
244
- - samples/auth/tokens/create-201.json
245
- - samples/auth/tokens/destroy-204.json
246
- - samples/auth/tokens/destroy-404.json
247
- - samples/auth/tokens/exchange-200.json
248
- - samples/auth/tokens/exchange-401.json
249
- - samples/auth/tokens/renew-200.json
250
- - samples/auth/tokens/renew-404.json
251
- - samples/auth/two_factor_auth/_meta.json
252
- - samples/auth/two_factor_auth/disable-not-initiated.json
253
- - samples/auth/two_factor_auth/disable-success.json
254
- - samples/auth/two_factor_auth/initiate-already-enabled.json
255
- - samples/auth/two_factor_auth/initiate-success.json
256
- - samples/auth/two_factor_auth/initiate-wrong-provider.json
257
- - samples/auth/two_factor_auth/status.json
258
- - samples/auth/two_factor_auth/validate-not-initiated.json
259
- - samples/auth/two_factor_auth/validate-success.json
260
- - samples/auth/two_factor_auth/validate-wrong.json
261
- - samples/auth/user/_meta.json
262
- - samples/auth/user/self.json
263
- - samples/auth/user/stop-free-trial.json
264
- - samples/auth/user/update-200.json
265
- - samples/auth/user/update-422.json
266
- - samples/billing/profile/_meta.json
267
- - samples/billing/profile/create-201.json
268
- - samples/billing/profile/create-400.json
269
- - samples/billing/profile/create-422.json
270
- - samples/billing/profile/show-200.json
271
- - samples/billing/profile/show-404.json
272
- - samples/billing/profile/update-200.json
273
- - samples/billing/profile/update-422.json
274
- - samples/regional/addons/_meta.json
275
- - samples/regional/addons/categories-guest.json
276
- - samples/regional/addons/categories-logged.json
277
- - samples/regional/addons/destroy-204.json
278
- - samples/regional/addons/destroy-404.json
279
- - samples/regional/addons/find-200.json
280
- - samples/regional/addons/find-404.json
281
- - samples/regional/addons/for-200.json
282
- - samples/regional/addons/providers-guest.json
283
- - samples/regional/addons/providers-logged.json
284
- - samples/regional/addons/provision-201.json
285
- - samples/regional/addons/provision-400.json
286
- - samples/regional/addons/sso-200.json
287
- - samples/regional/addons/sso-404.json
288
- - samples/regional/addons/token-200.json
289
- - samples/regional/addons/token-404.json
290
- - samples/regional/addons/update-200.json
291
- - samples/regional/addons/update-404.json
292
- - samples/regional/apps/_meta.json
293
- - samples/regional/apps/all.json
294
- - samples/regional/apps/create-201.json
295
- - samples/regional/apps/create-422.json
296
- - samples/regional/apps/destroy-204.json
297
- - samples/regional/apps/destroy-404.json
298
- - samples/regional/apps/destroy-422.json
299
- - samples/regional/apps/find-200.json
300
- - samples/regional/apps/find-404.json
301
- - samples/regional/apps/logs_url.json
302
- - samples/regional/apps/rename-200.json
303
- - samples/regional/apps/rename-404.json
304
- - samples/regional/apps/rename-422.json
305
- - samples/regional/apps/transfer-200.json
306
- - samples/regional/apps/transfer-404.json
307
- - samples/regional/apps/transfer-422.json
308
- - samples/regional/apps/update-200.json
309
- - samples/regional/apps/update-stack-404.json
310
- - samples/regional/autoscalers/_meta.json
311
- - samples/regional/autoscalers/create-201.json
312
- - samples/regional/autoscalers/create-500.json
313
- - samples/regional/autoscalers/destroy-204.json
314
- - samples/regional/autoscalers/destroy-404.json
315
- - samples/regional/autoscalers/find-200.json
316
- - samples/regional/autoscalers/find-404.json
317
- - samples/regional/autoscalers/for-200.json
318
- - samples/regional/autoscalers/update-200.json
319
- - samples/regional/autoscalers/update-404.json
320
- - samples/regional/autoscalers/update-500.json
321
- - samples/regional/collaborators/_meta.json
322
- - samples/regional/collaborators/accept-200.json
323
- - samples/regional/collaborators/accept-400.json
324
- - samples/regional/collaborators/accept-404.json
325
- - samples/regional/collaborators/destroy-204.json
326
- - samples/regional/collaborators/destroy-404.json
327
- - samples/regional/collaborators/for-200.json
328
- - samples/regional/collaborators/invite-201.json
329
- - samples/regional/collaborators/invite-422.json
330
- - samples/regional/containers/_meta.json
331
- - samples/regional/containers/for-200.json
332
- - samples/regional/containers/restart-202.json
333
- - samples/regional/containers/restart-422.json
334
- - samples/regional/containers/scale-202.json
335
- - samples/regional/containers/scale-422.json
336
- - samples/regional/containers/sizes-guest.json
337
- - samples/regional/containers/sizes-logged.json
338
- - samples/regional/deployments/_meta.json
339
- - samples/regional/deployments/find-200.json
340
- - samples/regional/deployments/find-404.json
341
- - samples/regional/deployments/for-with-paging.json
342
- - samples/regional/deployments/for-without-pages.json
343
- - samples/regional/deployments/logs-200.json
344
- - samples/regional/deployments/logs-404.json
345
- - samples/regional/domains/_meta.json
346
- - samples/regional/domains/create-201.json
347
- - samples/regional/domains/create-422.json
348
- - samples/regional/domains/destroy-204.json
349
- - samples/regional/domains/destroy-404.json
350
- - samples/regional/domains/find-200.json
351
- - samples/regional/domains/find-404.json
352
- - samples/regional/domains/for-200.json
353
- - samples/regional/domains/update-200.json
354
- - samples/regional/domains/update-404.json
355
- - samples/regional/domains/update-422.json
356
- - samples/regional/environment/_meta.json
357
- - samples/regional/environment/bulk-destroy-204.json
358
- - samples/regional/environment/bulk-update-200.json
359
- - samples/regional/environment/create-201.json
360
- - samples/regional/environment/create-422.json
361
- - samples/regional/environment/destroy-204.json
362
- - samples/regional/environment/destroy-404.json
363
- - samples/regional/environment/for-200.json
364
- - samples/regional/environment/update-200.json
365
- - samples/regional/environment/update-404.json
366
- - samples/regional/events/_meta.json
367
- - samples/regional/events/all-200.json
368
- - samples/regional/events/categories-guest.json
369
- - samples/regional/events/categories-logged.json
370
- - samples/regional/events/for-200.json
371
- - samples/regional/events/types-guest.json
372
- - samples/regional/events/types-logged.json
373
- - samples/regional/logs/_meta.json
374
- - samples/regional/logs/archives-200.json
375
- - samples/regional/logs/get-guest-200.json
376
- - samples/regional/logs/get-logged-200.json
377
- - samples/regional/logs/get-with-limit-200.json
378
- - samples/regional/metrics/_meta.json
379
- - samples/regional/metrics/for-invalid-400.json
380
- - samples/regional/metrics/for-valid-cpu-200.json
381
- - samples/regional/metrics/for-valid-router-404.json
382
- - samples/regional/metrics/types-guest.json
383
- - samples/regional/metrics/types-logged.json
384
- - samples/regional/notifiers/_meta.json
385
- - samples/regional/notifiers/create-201.json
386
- - samples/regional/notifiers/create-404.json
387
- - samples/regional/notifiers/create-422.json
388
- - samples/regional/notifiers/destroy-204.json
389
- - samples/regional/notifiers/destroy-404.json
390
- - samples/regional/notifiers/find-200.json
391
- - samples/regional/notifiers/find-404.json
392
- - samples/regional/notifiers/for-200.json
393
- - samples/regional/notifiers/platforms-guest.json
394
- - samples/regional/notifiers/platforms-logged.json
395
- - samples/regional/notifiers/test-200.json
396
- - samples/regional/notifiers/test-404.json
397
- - samples/regional/notifiers/update-200.json
398
- - samples/regional/operations/_meta.json
399
- - samples/regional/operations/find-200.json
400
- - samples/regional/operations/find-404.json
401
- - samples/regional/scm_repo_links/_meta.json
402
- - samples/regional/scm_repo_links/create-201.json
403
- - samples/regional/scm_repo_links/destroy-204.json
404
- - samples/regional/scm_repo_links/manual-deploy-200.json
405
- - samples/regional/scm_repo_links/show-200.json
406
- - samples/regional/scm_repo_links/update-200.json
407
- - samples/regional_database/backups/_meta.json
408
- - samples/regional_database/backups/archive-200.json
409
- - samples/regional_database/backups/archive-400.json
410
- - samples/regional_database/backups/create-201.json
411
- - samples/regional_database/backups/create-400.json
412
- - samples/regional_database/backups/for-200.json
413
- - samples/regional_database/backups/for-400.json
414
- - samples/regional_database/databases/_meta.json
415
- - samples/regional_database/databases/find-200.json
416
- - samples/regional_database/databases/find-400.json
417
- - samples/regional_database/databases/upgrade-202.json
418
- - samples/regional_database/databases/upgrade-400.json
419
279
  - scalingo.gemspec
420
280
  homepage: https://www.scalingo.com
421
281
  licenses:
@@ -426,6 +286,7 @@ metadata:
426
286
  documentation_uri: https://developers.scalingo.com/
427
287
  homepage_uri: https://www.scalingo.com/
428
288
  source_code_uri: https://github.com/Scalingo/scalingo-ruby-api
289
+ post_install_message:
429
290
  rdoc_options: []
430
291
  require_paths:
431
292
  - lib
@@ -440,7 +301,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
440
301
  - !ruby/object:Gem::Version
441
302
  version: '0'
442
303
  requirements: []
443
- rubygems_version: 3.6.2
304
+ rubygems_version: 3.5.9
305
+ signing_key:
444
306
  specification_version: 4
445
307
  summary: Ruby client for Scalingo APIs
446
308
  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
- }