vgs_api_client 0.0.1.alpha202205200945 → 0.0.1.alpha202205202346

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