vgs_api_client 0.0.1.alpha202205200950 → 0.0.1.alpha202205210037

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: 8c8b746c3f1c04d4410df24893e94efd6b69e3c90cc63ba5f2d202b9a486a5a5
4
- data.tar.gz: 7500803b62c824b7220d17b964547b532b0e8e75de82baf742ee1eb8b8121bdd
3
+ metadata.gz: 4a214dfab7ad3680888ed40e5368a9f3cbb4d0a135b2231cb2c077e2d9473c1c
4
+ data.tar.gz: f54f72e6a21d85323a6d59f7e2b10ee52ccf5658f9e1917089f210eb7ece279c
5
5
  SHA512:
6
- metadata.gz: 304c7608e13af0b744135e30da5c688ada9f169ba0dc510eb8e345d73fdcfd852f001e8b1d08dd677039d573ab09bac6c56a35faa62dc01fc23c596d1799a507
7
- data.tar.gz: e49055b987656d01176d82e2b4e18b6965fdb2df84d19e038d07111165f958522b87a72d93490a5982de477df5a64b02a4ce0b96390febd7ebd8e02805b97114
6
+ metadata.gz: abfae7fdf60285421e457fffd5320ad13fa43f75eb9ea6c5f5d15fc7d2cb4d5e79311365b40241d2b73a174cd94545b43218fb41f980e3bdfa4b6d887caf9ddd
7
+ data.tar.gz: 40b9e9eac3ccce0a8d313d9afeeab00ccf25b749e48b79cdcda492aa70845e2f320adbe3a1d2fd6ae4a7e921692221150a29c4dd75985a77a1e0b425ec2ab01b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1.alpha202205200950
1
+ 0.0.1.alpha202205210037
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,268 @@ 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
+ description: Stream of bytes base64 encoded up to XX KB in size
267
+ application/http:
268
+ schema:
269
+ type: object
270
+ properties:
271
+ method:
272
+ type: string
273
+ enum:
274
+ - POST
275
+ - PATCH
276
+ - DELETE
277
+ - PUT
278
+ - GET
279
+ - HEAD
280
+ uri:
281
+ type: string
282
+ format: uri
283
+ example: https://example.com/software/htp/cics/index.html
284
+ version:
285
+ type: string
286
+ enum:
287
+ - "1.0"
288
+ - "1.1"
289
+ headers:
290
+ type: array
291
+ items:
292
+ type: object
293
+ properties:
294
+ key:
295
+ type: string
296
+ value:
297
+ type: string
298
+ body:
299
+ type: string
300
+ format: string
301
+
302
+ description: https://www.iana.org/assignments/media-types/media-types.xhtml
303
+ examples:
304
+ A:
305
+ summary: Invoke a function with a HTTP request payload
306
+ value:
307
+ method: GET
308
+ uri: https://example.com/software/htp/cics/index.html
309
+ version: 1.0
310
+
311
+ "*":
312
+ schema:
313
+ type: string
314
+ format: binary?
315
+ description: Stream of bytes up to XX KB in size
316
+ responses:
317
+ '200':
318
+ description: OK
319
+ content:
320
+ application/http:
321
+ schema:
322
+ type: object
323
+ properties:
324
+ method:
325
+ type: string
326
+ enum:
327
+ - POST
328
+ - PATCH
329
+ - DELETE
330
+ - PUT
331
+ - GET
332
+ - HEAD
333
+ uri:
334
+ type: string
335
+ format: uri
336
+ example: https://example.com/software/htp/cics/index.html
337
+ version:
338
+ type: string
339
+ enum:
340
+ - "1.0"
341
+ - "1.1"
342
+ headers:
343
+ type: array
344
+ items:
345
+ type: object
346
+ properties:
347
+ key:
348
+ type: string
349
+ value:
350
+ type: string
351
+ body:
352
+ type: string
353
+ format: string
354
+
355
+ description: https://www.iana.org/assignments/media-types/media-types.xhtml
356
+ example:
357
+ method: POST
358
+ uri: https://example.com/software/htp/cics/index.html
359
+ version: 1.0
360
+ headers:
361
+ - key: Content-Type
362
+ value: text/plain
363
+ "text/plain":
364
+ schema:
365
+ type: string
366
+ description: Stream of bytes base64 up to XX KB in size
367
+ example:
368
+ aGVsbG8gd29ybGQK
369
+ "*":
370
+ schema:
371
+ type: string
372
+ format: binary
373
+ description: Stream of bytes up to XX KB in size
374
+ default:
375
+ $ref: '#/components/responses/ApiErrorsResponse'
376
+
117
377
  /aliases:
118
378
  post:
119
379
  operationId: createAliases
@@ -345,16 +605,41 @@ paths:
345
605
  -X DELETE \
346
606
  -u "$USERNAME:$PASSWORD"
347
607
 
348
-
349
608
  components:
350
609
 
351
610
  # See the following links for details:
352
611
  # - https://swagger.io/docs/specification/authentication/basic-authentication/
612
+ # https://swagger.io/docs/specification/authentication/
353
613
  securitySchemes:
354
- basicAuth:
614
+ BasicAuth:
355
615
  type: http
356
616
  scheme: basic
357
- description: The default authentication schema.
617
+ description: |
618
+ The default authentication scheme for [Data API](#data-apis) based requests
619
+ is [Basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
620
+ OAuth2:
621
+ type: oauth2
622
+ flows:
623
+ authorizationCode:
624
+ authorizationUrl: https://auth.verygoodsecurity.com/auth/realms/vgs/protocol/openid-connect/auth
625
+ tokenUrl: https://auth.verygoodsecurity.io/auth/realms/vgs/protocol/openid-connect/token
626
+ scopes:
627
+ credentials:read: Read vault credentials without reading secrets
628
+ credentials:write: Add, delete and manage credentials of vault
629
+ routes:read: Read your vault routes
630
+ routes:write: Create, read, update, delete your vault routes
631
+ vaults:read: Read details of your vaults
632
+ vaults:write: Read, create, update and delete your vaults
633
+ upstreams:read: Read your upstreams for SFTP routes
634
+ upstreams:write: Create and update upstreams for SFTP routes
635
+ certificates:read: Read certificates setup for your routes
636
+ certificates:write: Upload and delete certificates for routes
637
+ hostnames:read: Read/List Custom Hostnames of your vault routes
638
+ hostnames:write: Create/Delete Custom Hostname of your vault routes
639
+ functions:read: Read/List Functions
640
+ functions:write: Create/Delete Functions
641
+ description: |
642
+ The default authentication schema for [Management API](#management-apis) based requests.
358
643
 
359
644
  parameters:
360
645
  alias:
@@ -365,6 +650,15 @@ components:
365
650
  schema:
366
651
  type: string
367
652
  example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
653
+
654
+ functionName:
655
+ name: functionName
656
+ in: path
657
+ required: true
658
+ description: Name of function to operate on
659
+ schema:
660
+ type: string
661
+ example: my-function-46Juzcyx
368
662
 
369
663
  responses:
370
664
  ApiErrorsResponse:
@@ -532,3 +826,69 @@ components:
532
826
  - classifiers
533
827
  required:
534
828
  - data
829
+
830
+ CreateFunctionRequest:
831
+ type: object
832
+ properties:
833
+ data:
834
+ type: array
835
+ items:
836
+ oneOf:
837
+ - $ref: '#/components/schemas/CreateFunctionRequestPayload'
838
+ minItems: 1
839
+ maxItems: 20
840
+ required:
841
+ - data
842
+
843
+ CreateFunctionRequestPayload:
844
+ type: object
845
+ properties:
846
+ name:
847
+ type: string
848
+ description: Prefix to name your function
849
+ pattern: "[a-zA-Z]+([A-Za-z0-9\\-_]){5,28}[a-zA-Z0-9]"
850
+ example: my-function
851
+ src:
852
+ type: string
853
+ description: Definition of function body
854
+ example: |
855
+ def process(input, ctx):
856
+ return input
857
+ lang:
858
+ type: string
859
+ enum:
860
+ - larky
861
+ default: larky
862
+ description: |
863
+ Language to write your function in.
864
+ required:
865
+ - name
866
+ - src
867
+
868
+ Function:
869
+ type: object
870
+ properties:
871
+ name:
872
+ type: string
873
+ example: my-function-46Juzcyx
874
+ src:
875
+ type: string
876
+ description: Definition of function body
877
+ example: |
878
+ def process(input, ctx):
879
+ return input
880
+ lang:
881
+ type: string
882
+ enum:
883
+ - larky
884
+ default: larky
885
+ description: |
886
+ Language to write your function in.
887
+ hash:
888
+ type: string
889
+ description: SHA256 representation of the function definition
890
+ example: bc1f0c3322091740cead407000af9acc692e7fefd0d96446e07900dcd0f8e308
891
+ required:
892
+ - value
893
+ - format
894
+
@@ -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",