vgs_api_client 0.0.1.alpha202205210249 → 0.0.1.alpha202205210401
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/api.yaml +386 -14
- data/lib/openapi_client/api/aliases_api.rb +5 -5
- data/lib/openapi_client/api/functions_api.rb +409 -0
- data/lib/openapi_client/api_client.rb +1 -1
- data/lib/openapi_client/configuration.rb +8 -1
- data/lib/openapi_client/models/create_function_request.rb +253 -0
- data/lib/openapi_client/models/create_function_request_payload.rb +306 -0
- data/lib/openapi_client/models/function.rb +284 -0
- data/lib/openapi_client/models/inline_response2002.rb +245 -0
- data/lib/openapi_client/models/inline_response2003.rb +245 -0
- data/lib/openapi_client/version.rb +1 -1
- data/lib/openapi_client.rb +6 -0
- data/lib/version.rb +1 -1
- data/scripts/assemble/run.sh +1 -1
- data/scripts/test/run.sh +1 -1
- metadata +7 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c6208809ab176a04c4a3eb43bf5bea36a2cafa7a64c0717e8890c3050663573
|
4
|
+
data.tar.gz: 9cda4a453d85c9d7337963135079611c3fb50194dc894bdb8faea95ab96b8240
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c16f665f080e0be4d2bda5150f4333f0ad56b3790848ba367f21a9d683d610965a188259deaa9d199a4bfa31dea46d45b41b4c6d64ef449cc758a0862e1b600
|
7
|
+
data.tar.gz: 5c1e24bac909ed4330e266f44b56754cfa34cca04342b62528a56474e0bc6eb9dbc8f44e8f8a43c3390cd7e7c77ee8e9179adf1c039337fbfaf35e7c3c20e3e4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.1.
|
1
|
+
0.0.1.alpha202205210401
|
data/api.yaml
CHANGED
@@ -3,7 +3,7 @@ info:
|
|
3
3
|
title: Vault HTTP API
|
4
4
|
description: |
|
5
5
|
The VGS Vault HTTP API is used for storing, retrieving, and managing sensitive data (aka Tokenization) within a VGS Vault.
|
6
|
-
|
6
|
+
|
7
7
|
The VGS API is organized around REST. Our API is built with a predictable resource-oriented structure, uses JSON-encoded requests and responses, follows standard HTTP verbs/responses, and uses industry standard authentication.
|
8
8
|
|
9
9
|
## What is VGS
|
@@ -17,13 +17,13 @@ info:
|
|
17
17
|
**Zero Data** is a unique method invented by VGS in 2016 that securely stores data like Tokenization, however it also removes the customer’s environment from PCI scope completely providing maximum security, and minimum compliance scope. [Get started with Zero Data](https://www.verygoodsecurity.com/docs/getting-started/before-you-start).
|
18
18
|
|
19
19
|
Additionally, for scenarios where neither technology is a complete solution, for instance with legacy systems, VGS provides a compliance product which guarantees customers are able to meet their compliance needs no matter what may happen. [Get started with Control](https://www.verygoodsecurity.com/docs/control).
|
20
|
-
|
20
|
+
|
21
21
|
## Learn about Tokenization
|
22
|
-
|
22
|
+
|
23
23
|
- [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization)
|
24
24
|
- [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started)
|
25
25
|
- [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries)
|
26
|
-
|
26
|
+
|
27
27
|
### Authentication
|
28
28
|
|
29
29
|
This API uses `Basic` authentication.
|
@@ -35,9 +35,9 @@ info:
|
|
35
35
|
[Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/access-credentials)
|
36
36
|
|
37
37
|
## Resource Limits
|
38
|
-
|
38
|
+
|
39
39
|
### Data Limits
|
40
|
-
|
40
|
+
|
41
41
|
This API allows storing data up to 32MB in size.
|
42
42
|
|
43
43
|
### Rate Limiting
|
@@ -80,13 +80,14 @@ info:
|
|
80
80
|
contact:
|
81
81
|
email: support@verygoodsecurity.com
|
82
82
|
x-logo:
|
83
|
-
url:
|
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:
|
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,280 @@ x-tagGroups:
|
|
111
112
|
- aliases
|
112
113
|
|
113
114
|
security:
|
114
|
-
-
|
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
|
+
CreateFunctionOne:
|
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
|
+
examples:
|
157
|
+
CreateFunctionOne:
|
158
|
+
summary: Create a new function
|
159
|
+
value:
|
160
|
+
data:
|
161
|
+
- src: |
|
162
|
+
def process(input, ctx):
|
163
|
+
return input
|
164
|
+
lang: larky
|
165
|
+
name: my-function
|
166
|
+
hash: bc1f0c3322091740cead407000af9acc692e7fefd0d96446e07900dcd0f8e308
|
167
|
+
|
168
|
+
default:
|
169
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
170
|
+
get:
|
171
|
+
operationId: listFunctions
|
172
|
+
summary: Lists all functions
|
173
|
+
tags:
|
174
|
+
- functions
|
175
|
+
description: |
|
176
|
+
Lists all functions
|
177
|
+
responses:
|
178
|
+
'200':
|
179
|
+
description: OK
|
180
|
+
content:
|
181
|
+
application/json:
|
182
|
+
schema:
|
183
|
+
type: object
|
184
|
+
properties:
|
185
|
+
data:
|
186
|
+
type: array
|
187
|
+
items:
|
188
|
+
$ref: '#/components/schemas/Function'
|
189
|
+
description: A retrieved function.
|
190
|
+
minItems: 1
|
191
|
+
maxItems: 20
|
192
|
+
default:
|
193
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
194
|
+
|
195
|
+
/functions/{functionName}:
|
196
|
+
parameters:
|
197
|
+
- $ref: '#/components/parameters/functionName'
|
198
|
+
get:
|
199
|
+
operationId: getFunction
|
200
|
+
tags:
|
201
|
+
- functions
|
202
|
+
summary: Retrieve a single function
|
203
|
+
description: |
|
204
|
+
Retrieves a function
|
205
|
+
parameters:
|
206
|
+
- $ref: '#/components/parameters/functionName'
|
207
|
+
responses:
|
208
|
+
'200':
|
209
|
+
description: OK
|
210
|
+
content:
|
211
|
+
application/json:
|
212
|
+
schema:
|
213
|
+
type: object
|
214
|
+
properties:
|
215
|
+
data:
|
216
|
+
type: array
|
217
|
+
items:
|
218
|
+
$ref: '#/components/schemas/Function'
|
219
|
+
description: The retrieved function.
|
220
|
+
minItems: 1
|
221
|
+
maxItems: 1
|
222
|
+
default:
|
223
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
224
|
+
|
225
|
+
put:
|
226
|
+
operationId: updateFunction
|
227
|
+
tags:
|
228
|
+
- functions
|
229
|
+
summary: Update function
|
230
|
+
description: |
|
231
|
+
Update an existing function definition
|
232
|
+
requestBody:
|
233
|
+
content:
|
234
|
+
application/json:
|
235
|
+
schema:
|
236
|
+
$ref: '#/components/schemas/CreateFunctionRequestPayload'
|
237
|
+
responses:
|
238
|
+
'200':
|
239
|
+
description: No Content
|
240
|
+
default:
|
241
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
242
|
+
|
243
|
+
delete:
|
244
|
+
operationId: deleteFunction
|
245
|
+
tags:
|
246
|
+
- functions
|
247
|
+
summary: Deletes a function
|
248
|
+
description: |
|
249
|
+
Removes a single alias.
|
250
|
+
parameters:
|
251
|
+
- $ref: '#/components/parameters/functionName'
|
252
|
+
responses:
|
253
|
+
'204':
|
254
|
+
description: No Content
|
255
|
+
default:
|
256
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
257
|
+
|
258
|
+
/functions/{functionName}/invocations:
|
259
|
+
parameters:
|
260
|
+
- $ref: '#/components/parameters/functionName'
|
261
|
+
post:
|
262
|
+
operationId: invokeFunction
|
263
|
+
tags:
|
264
|
+
- functions
|
265
|
+
summary: Invoke a function
|
266
|
+
description: |
|
267
|
+
Invokes a function
|
268
|
+
parameters:
|
269
|
+
- $ref: '#/components/parameters/functionName'
|
270
|
+
requestBody:
|
271
|
+
content:
|
272
|
+
"text/plain":
|
273
|
+
schema:
|
274
|
+
type: string
|
275
|
+
format: byte
|
276
|
+
example:
|
277
|
+
aGVsbG8gd29ybGQK
|
278
|
+
description: Stream of bytes base64 encoded up to XX KB in size
|
279
|
+
application/http:
|
280
|
+
schema:
|
281
|
+
type: object
|
282
|
+
properties:
|
283
|
+
method:
|
284
|
+
type: string
|
285
|
+
enum:
|
286
|
+
- POST
|
287
|
+
- PATCH
|
288
|
+
- DELETE
|
289
|
+
- PUT
|
290
|
+
- GET
|
291
|
+
- HEAD
|
292
|
+
uri:
|
293
|
+
type: string
|
294
|
+
format: uri
|
295
|
+
example: https://example.com/software/htp/cics/index.html
|
296
|
+
version:
|
297
|
+
type: string
|
298
|
+
enum:
|
299
|
+
- "1.0"
|
300
|
+
- "1.1"
|
301
|
+
headers:
|
302
|
+
type: array
|
303
|
+
items:
|
304
|
+
type: object
|
305
|
+
properties:
|
306
|
+
key:
|
307
|
+
type: string
|
308
|
+
value:
|
309
|
+
type: string
|
310
|
+
body:
|
311
|
+
type: string
|
312
|
+
format: string
|
313
|
+
|
314
|
+
description: https://www.iana.org/assignments/media-types/media-types.xhtml
|
315
|
+
examples:
|
316
|
+
InvokeFunction1:
|
317
|
+
summary: Invoke a function with a HTTP request payload
|
318
|
+
value:
|
319
|
+
method: GET
|
320
|
+
uri: https://example.com/software/htp/cics/index.html
|
321
|
+
version: 1.0
|
322
|
+
|
323
|
+
"*":
|
324
|
+
schema:
|
325
|
+
type: string
|
326
|
+
format: binary?
|
327
|
+
description: Stream of bytes up to XX KB in size
|
328
|
+
responses:
|
329
|
+
'200':
|
330
|
+
description: OK
|
331
|
+
content:
|
332
|
+
application/http:
|
333
|
+
schema:
|
334
|
+
type: object
|
335
|
+
properties:
|
336
|
+
method:
|
337
|
+
type: string
|
338
|
+
enum:
|
339
|
+
- POST
|
340
|
+
- PATCH
|
341
|
+
- DELETE
|
342
|
+
- PUT
|
343
|
+
- GET
|
344
|
+
- HEAD
|
345
|
+
uri:
|
346
|
+
type: string
|
347
|
+
format: uri
|
348
|
+
example: https://example.com/software/htp/cics/index.html
|
349
|
+
version:
|
350
|
+
type: string
|
351
|
+
enum:
|
352
|
+
- "1.0"
|
353
|
+
- "1.1"
|
354
|
+
headers:
|
355
|
+
type: array
|
356
|
+
items:
|
357
|
+
type: object
|
358
|
+
properties:
|
359
|
+
key:
|
360
|
+
type: string
|
361
|
+
value:
|
362
|
+
type: string
|
363
|
+
body:
|
364
|
+
type: string
|
365
|
+
format: string
|
366
|
+
|
367
|
+
description: https://www.iana.org/assignments/media-types/media-types.xhtml
|
368
|
+
example:
|
369
|
+
method: POST
|
370
|
+
uri: https://example.com/software/htp/cics/index.html
|
371
|
+
version: 1.0
|
372
|
+
headers:
|
373
|
+
- key: Content-Type
|
374
|
+
value: text/plain
|
375
|
+
"text/plain":
|
376
|
+
schema:
|
377
|
+
type: string
|
378
|
+
description: Stream of bytes base64 up to XX KB in size
|
379
|
+
example:
|
380
|
+
aGVsbG8gd29ybGQK
|
381
|
+
"*":
|
382
|
+
schema:
|
383
|
+
type: string
|
384
|
+
format: binary
|
385
|
+
description: Stream of bytes up to XX KB in size
|
386
|
+
default:
|
387
|
+
$ref: '#/components/responses/ApiErrorsResponse'
|
388
|
+
|
117
389
|
/aliases:
|
118
390
|
post:
|
119
391
|
operationId: createAliases
|
@@ -345,16 +617,41 @@ paths:
|
|
345
617
|
-X DELETE \
|
346
618
|
-u "$USERNAME:$PASSWORD"
|
347
619
|
|
348
|
-
|
349
620
|
components:
|
350
621
|
|
351
622
|
# See the following links for details:
|
352
623
|
# - https://swagger.io/docs/specification/authentication/basic-authentication/
|
624
|
+
# https://swagger.io/docs/specification/authentication/
|
353
625
|
securitySchemes:
|
354
|
-
|
626
|
+
BasicAuth:
|
355
627
|
type: http
|
356
628
|
scheme: basic
|
357
|
-
description:
|
629
|
+
description: |
|
630
|
+
The default authentication scheme for [Data API](#data-apis) based requests
|
631
|
+
is [Basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
|
632
|
+
OAuth2:
|
633
|
+
type: oauth2
|
634
|
+
flows:
|
635
|
+
authorizationCode:
|
636
|
+
authorizationUrl: https://auth.verygoodsecurity.com/auth/realms/vgs/protocol/openid-connect/auth
|
637
|
+
tokenUrl: https://auth.verygoodsecurity.io/auth/realms/vgs/protocol/openid-connect/token
|
638
|
+
scopes:
|
639
|
+
credentials:read: Read vault credentials without reading secrets
|
640
|
+
credentials:write: Add, delete and manage credentials of vault
|
641
|
+
routes:read: Read your vault routes
|
642
|
+
routes:write: Create, read, update, delete your vault routes
|
643
|
+
vaults:read: Read details of your vaults
|
644
|
+
vaults:write: Read, create, update and delete your vaults
|
645
|
+
upstreams:read: Read your upstreams for SFTP routes
|
646
|
+
upstreams:write: Create and update upstreams for SFTP routes
|
647
|
+
certificates:read: Read certificates setup for your routes
|
648
|
+
certificates:write: Upload and delete certificates for routes
|
649
|
+
hostnames:read: Read/List Custom Hostnames of your vault routes
|
650
|
+
hostnames:write: Create/Delete Custom Hostname of your vault routes
|
651
|
+
functions:read: Read/List Functions
|
652
|
+
functions:write: Create/Delete Functions
|
653
|
+
description: |
|
654
|
+
The default authentication schema for [Management API](#management-apis) based requests.
|
358
655
|
|
359
656
|
parameters:
|
360
657
|
alias:
|
@@ -366,6 +663,15 @@ components:
|
|
366
663
|
type: string
|
367
664
|
example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
|
368
665
|
|
666
|
+
functionName:
|
667
|
+
name: functionName
|
668
|
+
in: path
|
669
|
+
required: true
|
670
|
+
description: Name of function to operate on
|
671
|
+
schema:
|
672
|
+
type: string
|
673
|
+
example: my-function-46Juzcyx
|
674
|
+
|
369
675
|
responses:
|
370
676
|
ApiErrorsResponse:
|
371
677
|
description: Something went wrong
|
@@ -497,7 +803,7 @@ components:
|
|
497
803
|
default: PERSISTENT
|
498
804
|
description: |
|
499
805
|
Storage medium to use.
|
500
|
-
|
806
|
+
|
501
807
|
VOLATILE results in data being persisted into an in-memory data store for one hour which is required for PCI compliant storage of card security code data.
|
502
808
|
required:
|
503
809
|
- value
|
@@ -532,3 +838,69 @@ components:
|
|
532
838
|
- classifiers
|
533
839
|
required:
|
534
840
|
- data
|
841
|
+
|
842
|
+
CreateFunctionRequest:
|
843
|
+
type: object
|
844
|
+
properties:
|
845
|
+
data:
|
846
|
+
type: array
|
847
|
+
items:
|
848
|
+
oneOf:
|
849
|
+
- $ref: '#/components/schemas/CreateFunctionRequestPayload'
|
850
|
+
minItems: 1
|
851
|
+
maxItems: 20
|
852
|
+
required:
|
853
|
+
- data
|
854
|
+
|
855
|
+
CreateFunctionRequestPayload:
|
856
|
+
type: object
|
857
|
+
properties:
|
858
|
+
name:
|
859
|
+
type: string
|
860
|
+
description: Prefix to name your function
|
861
|
+
pattern: "[a-zA-Z]+([A-Za-z0-9\\-_]){5,28}[a-zA-Z0-9]"
|
862
|
+
example: my-function
|
863
|
+
src:
|
864
|
+
type: string
|
865
|
+
description: Definition of function body
|
866
|
+
example: |
|
867
|
+
def process(input, ctx):
|
868
|
+
return input
|
869
|
+
lang:
|
870
|
+
type: string
|
871
|
+
enum:
|
872
|
+
- larky
|
873
|
+
default: larky
|
874
|
+
description: |
|
875
|
+
Language to write your function in.
|
876
|
+
required:
|
877
|
+
- name
|
878
|
+
- src
|
879
|
+
|
880
|
+
Function:
|
881
|
+
type: object
|
882
|
+
properties:
|
883
|
+
name:
|
884
|
+
type: string
|
885
|
+
example: my-function-46Juzcyx
|
886
|
+
src:
|
887
|
+
type: string
|
888
|
+
description: Definition of function body
|
889
|
+
example: |
|
890
|
+
def process(input, ctx):
|
891
|
+
return input
|
892
|
+
lang:
|
893
|
+
type: string
|
894
|
+
enum:
|
895
|
+
- larky
|
896
|
+
default: larky
|
897
|
+
description: |
|
898
|
+
Language to write your function in.
|
899
|
+
hash:
|
900
|
+
type: string
|
901
|
+
description: SHA256 representation of the function definition
|
902
|
+
example: bc1f0c3322091740cead407000af9acc692e7fefd0d96446e07900dcd0f8e308
|
903
|
+
required:
|
904
|
+
- value
|
905
|
+
- format
|
906
|
+
|
@@ -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] || ['
|
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] || ['
|
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] || ['
|
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] || ['
|
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] || ['
|
327
|
+
auth_names = opts[:debug_auth_names] || ['BasicAuth']
|
328
328
|
|
329
329
|
new_options = opts.merge(
|
330
330
|
:operation => :"AliasesApi.update_alias",
|