vgs_api_client 0.0.1.alpha202205200950 → 0.0.1.alpha202205210037

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.
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",