vgs_api_client 0.0.1.alpha202205200945 → 0.0.1.alpha202205202346

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4147aaef863022f5ca5a652fd16c6970f8c97768da846d86fb81cf7340acdb4c
4
- data.tar.gz: 5046ec2e5494651b9cc1a4c3c323e4429ca92c6462f37dc13d5444d1f06cb640
3
+ metadata.gz: 8e6d83fe6298887d7e460c976ae4893f62c879659b93d849196a27183411347b
4
+ data.tar.gz: a920f5df37f5b382968d59837983e4159446188fcff6e847a89c64ebd541fa71
5
5
  SHA512:
6
- metadata.gz: 8c1f05a85362eeeb353a2ff3fdd7237dcba3b49cd90280ca5f1174732b7a20c38bdbc1298707563ae7b30154c9fa99a67d2016f54c7d550b96770e9a1eda8da5
7
- data.tar.gz: f9826867fdde6a15342fad4c23374c616b9a3ee0bc91146f9cba0e447d15665c0aa80e1269bf2806f10746cf9bd752be1c4801c9169a806f544d983ebbca2705
6
+ metadata.gz: 8c8c2bd408a0f7f6aec0ea52ed31cdd4779c2998b9ffed6296e87600817687332c25778e931ca6c1225d94e6ece9defcd9a24713418fcdf9833b2d816200992d
7
+ data.tar.gz: ad3525b0f3c50c2933c0632c65153f9e6e582caab34c24355f4bbf2266539f973ce9bacc929baee1948f6705ceb532e8667b5969ebe5be48fde01ef219dbc1ef
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1.alpha202205200945
1
+ 0.0.1.alpha202205202346
data/api.yaml CHANGED
@@ -80,13 +80,14 @@ info:
80
80
  contact:
81
81
  email: support@verygoodsecurity.com
82
82
  x-logo:
83
- url: images/vgs-logo.png
83
+ url: https://www.verygoodsecurity.com/img/press-and-assets/vgs-logo-color.png
84
84
  href: https://www.verygoodsecurity.com
85
85
  altText: VGS Logo
86
+ termsOfService: https://www.verygoodsecurity.com/terms-and-conditions
86
87
 
87
88
  externalDocs:
88
- description: Find out more about VGS
89
- url: https://www.verygoodsecurity.com/
89
+ description: Visit the VGS documentation homepage
90
+ url: https://www.verygoodsecurity.com/docs/
90
91
 
91
92
  servers:
92
93
  - url: https://api.sandbox.verygoodvault.com
@@ -111,9 +112,177 @@ x-tagGroups:
111
112
  - aliases
112
113
 
113
114
  security:
114
- - basicAuth: []
115
+ - BasicAuth: []
115
116
 
116
117
  paths:
118
+ /functions:
119
+ post:
120
+ operationId: createFunction
121
+ summary: Creates a new function
122
+ tags:
123
+ - functions
124
+ description: |
125
+ Creates a new function.
126
+ requestBody:
127
+ content:
128
+ application/json:
129
+ schema:
130
+ $ref: '#/components/schemas/CreateFunctionRequest'
131
+ examples:
132
+ A:
133
+ summary: Create a new function
134
+ value:
135
+ data:
136
+ - src: |
137
+ def process(input, ctx):
138
+ return input
139
+ lang: larky
140
+ name: my-function
141
+ responses:
142
+ '201':
143
+ description: Created
144
+ content:
145
+ application/json:
146
+ schema:
147
+ type: object
148
+ properties:
149
+ data:
150
+ type: array
151
+ items:
152
+ $ref: '#/components/schemas/Function'
153
+ description: A retrieved function.
154
+ minItems: 1
155
+ maxItems: 20
156
+ default:
157
+ $ref: '#/components/responses/ApiErrorsResponse'
158
+ get:
159
+ operationId: listFunctions
160
+ summary: Lists all functions
161
+ tags:
162
+ - functions
163
+ description: |
164
+ Lists all functions
165
+ responses:
166
+ '200':
167
+ description: OK
168
+ content:
169
+ application/json:
170
+ schema:
171
+ type: object
172
+ properties:
173
+ data:
174
+ type: array
175
+ items:
176
+ $ref: '#/components/schemas/Function'
177
+ description: A retrieved function.
178
+ minItems: 1
179
+ maxItems: 20
180
+ default:
181
+ $ref: '#/components/responses/ApiErrorsResponse'
182
+
183
+ /functions/{functionName}:
184
+ parameters:
185
+ - $ref: '#/components/parameters/functionName'
186
+ get:
187
+ operationId: getFunction
188
+ tags:
189
+ - functions
190
+ summary: Retrieve a single function
191
+ description: |
192
+ Retrieves a function
193
+ parameters:
194
+ - $ref: '#/components/parameters/functionName'
195
+ responses:
196
+ '200':
197
+ description: OK
198
+ content:
199
+ application/json:
200
+ schema:
201
+ type: object
202
+ properties:
203
+ data:
204
+ type: array
205
+ items:
206
+ $ref: '#/components/schemas/Function'
207
+ description: The retrieved function.
208
+ minItems: 1
209
+ maxItems: 1
210
+ default:
211
+ $ref: '#/components/responses/ApiErrorsResponse'
212
+
213
+ put:
214
+ operationId: updateFunction
215
+ tags:
216
+ - functions
217
+ summary: Update function
218
+ description: |
219
+ Update an existing function definition
220
+ requestBody:
221
+ content:
222
+ application/json:
223
+ schema:
224
+ $ref: '#/components/schemas/CreateFunctionRequestPayload'
225
+ responses:
226
+ '200':
227
+ description: No Content
228
+ default:
229
+ $ref: '#/components/responses/ApiErrorsResponse'
230
+
231
+ delete:
232
+ operationId: deleteFunction
233
+ tags:
234
+ - functions
235
+ summary: Deletes a function
236
+ description: |
237
+ Removes a single alias.
238
+ parameters:
239
+ - $ref: '#/components/parameters/functionName'
240
+ responses:
241
+ '204':
242
+ description: No Content
243
+ default:
244
+ $ref: '#/components/responses/ApiErrorsResponse'
245
+
246
+ /functions/{functionName}/invocations:
247
+ parameters:
248
+ - $ref: '#/components/parameters/functionName'
249
+ post:
250
+ operationId: invokeFunction
251
+ tags:
252
+ - functions
253
+ summary: Invoke a function
254
+ description: |
255
+ Invokes a function
256
+ parameters:
257
+ - $ref: '#/components/parameters/functionName'
258
+ requestBody:
259
+ content:
260
+ "text/plain":
261
+ schema:
262
+ type: string
263
+ format: byte
264
+ example:
265
+ aGVsbG8gd29ybGQK
266
+ "*":
267
+ schema:
268
+ type: string
269
+ format: binary?
270
+ responses:
271
+ '200':
272
+ description: OK
273
+ content:
274
+ "text/plain":
275
+ schema:
276
+ type: string
277
+ example:
278
+ aGVsbG8gd29ybGQK
279
+ "*":
280
+ schema:
281
+ type: string
282
+ format: binary
283
+ default:
284
+ $ref: '#/components/responses/ApiErrorsResponse'
285
+
117
286
  /aliases:
118
287
  post:
119
288
  operationId: createAliases
@@ -345,16 +514,41 @@ paths:
345
514
  -X DELETE \
346
515
  -u "$USERNAME:$PASSWORD"
347
516
 
348
-
349
517
  components:
350
518
 
351
519
  # See the following links for details:
352
520
  # - https://swagger.io/docs/specification/authentication/basic-authentication/
521
+ # https://swagger.io/docs/specification/authentication/
353
522
  securitySchemes:
354
- basicAuth:
523
+ BasicAuth:
355
524
  type: http
356
525
  scheme: basic
357
- description: The default authentication schema.
526
+ description: |
527
+ The default authentication scheme for [Data API](#data-apis) based requests
528
+ is [Basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
529
+ OAuth2:
530
+ type: oauth2
531
+ flows:
532
+ authorizationCode:
533
+ authorizationUrl: https://auth.verygoodsecurity.com/auth/realms/vgs/protocol/openid-connect/auth
534
+ tokenUrl: https://auth.verygoodsecurity.io/auth/realms/vgs/protocol/openid-connect/token
535
+ scopes:
536
+ credentials:read: Read vault credentials without reading secrets
537
+ credentials:write: Add, delete and manage credentials of vault
538
+ routes:read: Read your vault routes
539
+ routes:write: Create, read, update, delete your vault routes
540
+ vaults:read: Read details of your vaults
541
+ vaults:write: Read, create, update and delete your vaults
542
+ upstreams:read: Read your upstreams for SFTP routes
543
+ upstreams:write: Create and update upstreams for SFTP routes
544
+ certificates:read: Read certificates setup for your routes
545
+ certificates:write: Upload and delete certificates for routes
546
+ hostnames:read: Read/List Custom Hostnames of your vault routes
547
+ hostnames:write: Create/Delete Custom Hostname of your vault routes
548
+ functions:read: Read/List Functions
549
+ functions:write: Create/Delete Functions
550
+ description: |
551
+ The default authentication schema for [Management API](#management-apis) based requests.
358
552
 
359
553
  parameters:
360
554
  alias:
@@ -365,6 +559,15 @@ components:
365
559
  schema:
366
560
  type: string
367
561
  example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
562
+
563
+ functionName:
564
+ name: functionName
565
+ in: path
566
+ required: true
567
+ description: Name of function to operate on
568
+ schema:
569
+ type: string
570
+ example: my-function-46Juzcyx
368
571
 
369
572
  responses:
370
573
  ApiErrorsResponse:
@@ -532,3 +735,69 @@ components:
532
735
  - classifiers
533
736
  required:
534
737
  - data
738
+
739
+ CreateFunctionRequest:
740
+ type: object
741
+ properties:
742
+ data:
743
+ type: array
744
+ items:
745
+ oneOf:
746
+ - $ref: '#/components/schemas/CreateFunctionRequestPayload'
747
+ minItems: 1
748
+ maxItems: 20
749
+ required:
750
+ - data
751
+
752
+ CreateFunctionRequestPayload:
753
+ type: object
754
+ properties:
755
+ name:
756
+ type: string
757
+ description: Prefix to name your function
758
+ pattern: "[a-zA-Z]+([A-Za-z0-9\\-_]){5,28}[a-zA-Z0-9]"
759
+ example: my-function
760
+ src:
761
+ type: string
762
+ description: Definition of function body
763
+ example: |
764
+ def process(input, ctx):
765
+ return input
766
+ lang:
767
+ type: string
768
+ enum:
769
+ - larky
770
+ default: larky
771
+ description: |
772
+ Language to write your function in.
773
+ required:
774
+ - name
775
+ - src
776
+
777
+ Function:
778
+ type: object
779
+ properties:
780
+ name:
781
+ type: string
782
+ example: my-function-46Juzcyx
783
+ src:
784
+ type: string
785
+ description: Definition of function body
786
+ example: |
787
+ def process(input, ctx):
788
+ return input
789
+ lang:
790
+ type: string
791
+ enum:
792
+ - larky
793
+ default: larky
794
+ description: |
795
+ Language to write your function in.
796
+ hash:
797
+ type: string
798
+ description: SHA256 representation of the function definition
799
+ example: bc1f0c3322091740cead407000af9acc692e7fefd0d96446e07900dcd0f8e308
800
+ required:
801
+ - value
802
+ - format
803
+
@@ -64,7 +64,7 @@ module VgsApiClient
64
64
  return_type = opts[:debug_return_type] || 'InlineResponse201'
65
65
 
66
66
  # auth_names
67
- auth_names = opts[:debug_auth_names] || ['basicAuth']
67
+ auth_names = opts[:debug_auth_names] || ['BasicAuth']
68
68
 
69
69
  new_options = opts.merge(
70
70
  :operation => :"AliasesApi.create_aliases",
@@ -127,7 +127,7 @@ module VgsApiClient
127
127
  return_type = opts[:debug_return_type]
128
128
 
129
129
  # auth_names
130
- auth_names = opts[:debug_auth_names] || ['basicAuth']
130
+ auth_names = opts[:debug_auth_names] || ['BasicAuth']
131
131
 
132
132
  new_options = opts.merge(
133
133
  :operation => :"AliasesApi.delete_alias",
@@ -190,7 +190,7 @@ module VgsApiClient
190
190
  return_type = opts[:debug_return_type] || 'InlineResponse2001'
191
191
 
192
192
  # auth_names
193
- auth_names = opts[:debug_auth_names] || ['basicAuth']
193
+ auth_names = opts[:debug_auth_names] || ['BasicAuth']
194
194
 
195
195
  new_options = opts.merge(
196
196
  :operation => :"AliasesApi.reveal_alias",
@@ -254,7 +254,7 @@ module VgsApiClient
254
254
  return_type = opts[:debug_return_type] || 'InlineResponse200'
255
255
 
256
256
  # auth_names
257
- auth_names = opts[:debug_auth_names] || ['basicAuth']
257
+ auth_names = opts[:debug_auth_names] || ['BasicAuth']
258
258
 
259
259
  new_options = opts.merge(
260
260
  :operation => :"AliasesApi.reveal_multiple_aliases",
@@ -324,7 +324,7 @@ module VgsApiClient
324
324
  return_type = opts[:debug_return_type]
325
325
 
326
326
  # auth_names
327
- auth_names = opts[:debug_auth_names] || ['basicAuth']
327
+ auth_names = opts[:debug_auth_names] || ['BasicAuth']
328
328
 
329
329
  new_options = opts.merge(
330
330
  :operation => :"AliasesApi.update_alias",