vgs-cli 1.34.0.dev1__py3-none-any.whl → 1.34.0.dev2__py3-none-any.whl

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.
Files changed (35) hide show
  1. vgs_cli-1.34.0.dev2.data/data/vgscli/credentials-admin.yaml +26 -0
  2. vgs_cli-1.34.0.dev1.data/data/vgscli/calm.yaml → vgs_cli-1.34.0.dev2.data/data/vgscli/public-credential-collect.yaml +7 -2
  3. vgs_cli-1.34.0.dev2.data/data/vgscli/read-credentials-no-pci.yaml +22 -0
  4. vgs_cli-1.34.0.dev2.data/data/vgscli/read-credentials-with-pci.yaml +23 -0
  5. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/METADATA +32 -2
  6. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/RECORD +27 -29
  7. vgscli/_version.py +1 -1
  8. vgscli/cli/commands/generate.py +6 -1
  9. vgscli/click_extensions.py +1 -1
  10. vgscli/resource-templates/service-account/credentials-admin.yaml +26 -0
  11. vgscli/resource-templates/service-account/{calm.yaml → public-credential-collect.yaml} +7 -2
  12. vgscli/resource-templates/service-account/read-credentials-no-pci.yaml +22 -0
  13. vgscli/resource-templates/service-account/read-credentials-with-pci.yaml +23 -0
  14. vgs_cli-1.34.0.dev1.data/data/vgscli/checkout.yaml +0 -21
  15. vgs_cli-1.34.0.dev1.data/data/vgscli/payments-admin.yaml +0 -25
  16. vgs_cli-1.34.0.dev1.data/data/vgscli/sub-account-checkout.yaml +0 -23
  17. vgs_cli-1.34.0.dev1.data/data/vgscli/vgs-cli.yaml +0 -17
  18. vgscli/resource-templates/service-account/checkout.yaml +0 -21
  19. vgscli/resource-templates/service-account/payments-admin.yaml +0 -25
  20. vgscli/resource-templates/service-account/sub-account-checkout.yaml +0 -23
  21. vgscli/resource-templates/service-account/vgs-cli.yaml +0 -17
  22. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/collect-form-api-schema.yaml +0 -0
  23. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/collect-form-schema.yaml +0 -0
  24. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/http-route-template.yaml +0 -0
  25. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/mft-route-template.yaml +0 -0
  26. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/notification-integration-schema.yaml +0 -0
  27. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/service-account-schema.yaml +0 -0
  28. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/tenant-template.yaml +0 -0
  29. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/vault-resources.yaml +0 -0
  30. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/vault-schema.yaml +0 -0
  31. {vgs_cli-1.34.0.dev1.data → vgs_cli-1.34.0.dev2.data}/data/vgscli/vault-template.yaml +0 -0
  32. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/WHEEL +0 -0
  33. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/entry_points.txt +0 -0
  34. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/licenses/LICENSE +0 -0
  35. {vgs_cli-1.34.0.dev1.dist-info → vgs_cli-1.34.0.dev2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,26 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read
18
+ - name: cards:write
19
+ - name: card-attributes:read
20
+ - name: network-tokens:read
21
+ - name: network-tokens:write
22
+ - name: 3ds:write
23
+ - name: 3ds:read
24
+ - name: account-validations:write
25
+ - name: account-validations:read
26
+ - name: account-reference-numbers:read
@@ -1,7 +1,10 @@
1
1
  apiVersion: 1.0.0
2
2
  kind: ServiceAccount
3
3
  data:
4
- name: calm
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
5
8
  {%- if vaults | length == 0 %}
6
9
  {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
7
10
  {% elif vaults | length == 1 %}
@@ -12,5 +15,7 @@ data:
12
15
  {% endif %}
13
16
  scopes:
14
17
  - name: cards:write
18
+ - name: card-attributes:read
15
19
  - name: network-tokens:write
16
- - name: merchants:write
20
+ - name: 3ds:write
21
+ - name: 3ds:read
@@ -0,0 +1,22 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read
18
+ - name: cards-attributes:read
19
+ - name: network-tokens:read
20
+ - name: account-validations:write
21
+ - name: account-validations:read
22
+ - name: account-reference-numbers:read
@@ -0,0 +1,23 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read-pci
18
+ - name: cards:read
19
+ - name: card-attributes:read
20
+ - name: network-tokens:read
21
+ - name: account-validations:write
22
+ - name: account-validations:read
23
+ - name: account-reference-numbers:read
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vgs-cli
3
- Version: 1.34.0.dev1
3
+ Version: 1.34.0.dev2
4
4
  Summary: VGS Client
5
5
  Home-page: https://github.com/verygoodsecurity/vgs-cli
6
6
  Author: Very Good Security
@@ -68,6 +68,7 @@ Command Line Tool for programmatic configurations on VGS.
68
68
  - [Routes](#routes)
69
69
  - [Collect Forms](#collect-forms)
70
70
  - [Access credentials and logs](#access-credentials-and-logs)
71
+ - [Service accounts](#service-accounts)
71
72
  - [Certificates](#certificates)
72
73
  - [Automation with VGS CLI](#automation-with-vgs-cli)
73
74
 
@@ -101,7 +102,7 @@ Check our [official documentation](https://docs.verygoodsecurity.com/vault/devel
101
102
  Install the agent skill:
102
103
 
103
104
  ```bash
104
- npx skills add verygoodsecurity/vgs-cli --skill vgs-cli-guide
105
+ npx skills add verygoodsecurity/skills --skill vgs-cli-guide
105
106
  ```
106
107
 
107
108
  The guide covers Dashboard-assisted onboarding, the complete built-in command
@@ -193,6 +194,35 @@ access. The CLI masks generated webhook secrets in its output.
193
194
  | `vgs logs access -T <TENANT_ID>` | View tenant access logs. |
194
195
  | `vgs logs operations -T <TENANT_ID> -R <REQUEST_ID>` | View request operation logs. |
195
196
 
197
+ ### Service accounts
198
+
199
+ Generate a service-account resource for exactly one tenant. Names must contain
200
+ 1–20 characters. Save the generated YAML so you can review it before applying
201
+ it.
202
+
203
+ ```bash
204
+ vgs generate service-account --template <TEMPLATE> -T <TENANT_ID> --var name=<NAME> > service-account.yaml
205
+ ```
206
+
207
+ | Template | Purpose |
208
+ | --- | --- |
209
+ | `public-credential-collect` | Collect payment credentials without read access. |
210
+ | `read-credentials-no-pci` | Read tokenized credentials without PCI data. |
211
+ | `read-credentials-with-pci` | Read credentials including PCI data. |
212
+ | `credentials-admin` | Read and write payment credentials. |
213
+
214
+ After reviewing the generated scopes, apply the resource to the organization:
215
+
216
+ ```bash
217
+ vgs apply service-account -O <ORGANIZATION_ID> -f service-account.yaml
218
+ ```
219
+
220
+ The apply response contains a one-time client secret. Run the command only in
221
+ your private terminal, store the secret in an approved secret manager, and do
222
+ not commit or share the response. See the
223
+ [service-account documentation](https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/service-account)
224
+ for the full workflow.
225
+
196
226
  ### Certificates
197
227
 
198
228
  | Command | Purpose |
@@ -1,21 +1,20 @@
1
- vgs_cli-1.34.0.dev1.data/data/vgscli/calm.yaml,sha256=HyCIHO5LZdPaeczNw_IOSGxzBBhrSa42lWtGm3GF4mY,448
2
- vgs_cli-1.34.0.dev1.data/data/vgscli/checkout.yaml,sha256=O2hfGAmgLcM9BGvo4tjIhMe8DX1x6Tbj0Ep6dSxmu2I,555
3
- vgs_cli-1.34.0.dev1.data/data/vgscli/collect-form-api-schema.yaml,sha256=THuJbLUo7LOr0c1JUo3FPJEc9Jvde59K4JjdlkVF3hw,1246
4
- vgs_cli-1.34.0.dev1.data/data/vgscli/collect-form-schema.yaml,sha256=vHAN6_Gsg14CeSL41sHEQgboYF-CHF2RaNw72aJ3W8o,1337
5
- vgs_cli-1.34.0.dev1.data/data/vgscli/http-route-template.yaml,sha256=HHKoTF4pSGWUTR1lsw6CIBNdTvTyqNjkeocco80_K38,1663
6
- vgs_cli-1.34.0.dev1.data/data/vgscli/mft-route-template.yaml,sha256=3TwiVS6yDir3uc0g0G_p5Hj4Gje2aq8Zi6vnnRa4j5Q,142
7
- vgs_cli-1.34.0.dev1.data/data/vgscli/notification-integration-schema.yaml,sha256=1qHzS5ZxlhTdrDab6-qJhszwu7cpith2HleX3uAO_4E,1837
8
- vgs_cli-1.34.0.dev1.data/data/vgscli/payments-admin.yaml,sha256=zMTRLAeuSrMdDZau7AdHr2GVBbvblwxrj1hCZfR4zE8,700
9
- vgs_cli-1.34.0.dev1.data/data/vgscli/service-account-schema.yaml,sha256=L1pjNXgnks15N1wNgf_1GmGcOvxn0nu49v7ersUjFno,1090
10
- vgs_cli-1.34.0.dev1.data/data/vgscli/sub-account-checkout.yaml,sha256=bTYscQeNxU2nfNzSeZ3ffmVFni4Iuigh1rxd2_uKn3M,629
11
- vgs_cli-1.34.0.dev1.data/data/vgscli/tenant-template.yaml,sha256=Q0z5_ds5UWign6ndBodLtXVZHWWCV-VsUVMnvJAhqPM,388
12
- vgs_cli-1.34.0.dev1.data/data/vgscli/vault-resources.yaml,sha256=95CCxQher3MBQq96bvjZviNgo1rgv_NhCtI8X-oxIpA,26335
13
- vgs_cli-1.34.0.dev1.data/data/vgscli/vault-schema.yaml,sha256=a-wW7X8RyHr-669wtOZrlxlIfeQVtx8EUfA-3vpYytk,637
14
- vgs_cli-1.34.0.dev1.data/data/vgscli/vault-template.yaml,sha256=IlDisL3H5LXUDMkhUaouKMarRdu0-pJxpTz8ij_lp_M,383
15
- vgs_cli-1.34.0.dev1.data/data/vgscli/vgs-cli.yaml,sha256=5gCjjloyepaKI6zZfDLeUEWxuRExI-dGJI9RO3omP2k,484
16
- vgs_cli-1.34.0.dev1.dist-info/licenses/LICENSE,sha256=NwSyzgDYdzv6O2ns2C6UODGI8LN1VnVe_FPTnWS4eXY,1082
1
+ vgs_cli-1.34.0.dev2.data/data/vgscli/collect-form-api-schema.yaml,sha256=THuJbLUo7LOr0c1JUo3FPJEc9Jvde59K4JjdlkVF3hw,1246
2
+ vgs_cli-1.34.0.dev2.data/data/vgscli/collect-form-schema.yaml,sha256=vHAN6_Gsg14CeSL41sHEQgboYF-CHF2RaNw72aJ3W8o,1337
3
+ vgs_cli-1.34.0.dev2.data/data/vgscli/credentials-admin.yaml,sha256=acyLd54Cp7l2fpugfjVfYh07-MIE0BX-JVq4lHraE1s,869
4
+ vgs_cli-1.34.0.dev2.data/data/vgscli/http-route-template.yaml,sha256=HHKoTF4pSGWUTR1lsw6CIBNdTvTyqNjkeocco80_K38,1663
5
+ vgs_cli-1.34.0.dev2.data/data/vgscli/mft-route-template.yaml,sha256=3TwiVS6yDir3uc0g0G_p5Hj4Gje2aq8Zi6vnnRa4j5Q,142
6
+ vgs_cli-1.34.0.dev2.data/data/vgscli/notification-integration-schema.yaml,sha256=1qHzS5ZxlhTdrDab6-qJhszwu7cpith2HleX3uAO_4E,1837
7
+ vgs_cli-1.34.0.dev2.data/data/vgscli/public-credential-collect.yaml,sha256=CiorC-6TMx7M0TI8DHmoRSfVKDpOom2wIr_ilwmHQNA,696
8
+ vgs_cli-1.34.0.dev2.data/data/vgscli/read-credentials-no-pci.yaml,sha256=7-31MJewfRI8VVveobdLjeusYE1Edk1xRrWplU3VMow,770
9
+ vgs_cli-1.34.0.dev2.data/data/vgscli/read-credentials-with-pci.yaml,sha256=jWXgFdcqZYisakAt9COM6cjf2-x_Q4eidDLaUh8CZOk,796
10
+ vgs_cli-1.34.0.dev2.data/data/vgscli/service-account-schema.yaml,sha256=L1pjNXgnks15N1wNgf_1GmGcOvxn0nu49v7ersUjFno,1090
11
+ vgs_cli-1.34.0.dev2.data/data/vgscli/tenant-template.yaml,sha256=Q0z5_ds5UWign6ndBodLtXVZHWWCV-VsUVMnvJAhqPM,388
12
+ vgs_cli-1.34.0.dev2.data/data/vgscli/vault-resources.yaml,sha256=95CCxQher3MBQq96bvjZviNgo1rgv_NhCtI8X-oxIpA,26335
13
+ vgs_cli-1.34.0.dev2.data/data/vgscli/vault-schema.yaml,sha256=a-wW7X8RyHr-669wtOZrlxlIfeQVtx8EUfA-3vpYytk,637
14
+ vgs_cli-1.34.0.dev2.data/data/vgscli/vault-template.yaml,sha256=IlDisL3H5LXUDMkhUaouKMarRdu0-pJxpTz8ij_lp_M,383
15
+ vgs_cli-1.34.0.dev2.dist-info/licenses/LICENSE,sha256=NwSyzgDYdzv6O2ns2C6UODGI8LN1VnVe_FPTnWS4eXY,1082
17
16
  vgscli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- vgscli/_version.py,sha256=jSgEG5ngMCbPHjsKfIz3Kd6tsEFJ6WBXqEyoHrQosqg,1681
17
+ vgscli/_version.py,sha256=LLDTvaySlCanrTjEZQVXiEcbLIGJtg9ZoJOV79fURSM,1681
19
18
  vgscli/access_logs.py,sha256=G0GjlLjWiC-N6OzK6-RCvWddcVGQlLCLAcyO9pLWIOM,1928
20
19
  vgscli/audits_api.py,sha256=6FjpS1yTALio-DejgIS2eDw75ChjDp4GoAGXh4uZExU,3211
21
20
  vgscli/auth.py,sha256=vdUZ12nqtefIuSHNmwCFvxoqwS3m6ZP5TqLZFNwKnSU,2104
@@ -24,7 +23,7 @@ vgscli/auth_utils.py,sha256=aC1VI0dFdFeupLS9Okz4uDz-wHhhFabqiLUg2R5vO2s,600
24
23
  vgscli/callback_server.py,sha256=oFFF5AGbbwhF7Hsc5fzS7jeGFzIMbebc9Qdq8uEl1PY,1055
25
24
  vgscli/cert_manager_api.py,sha256=ek25BcyGeUo0pBoqineMTYMgmQaYJfimFFHMljZh5yA,1646
26
25
  vgscli/cli_utils.py,sha256=NzXK29_yIDrB-3T_XdLLB8NCWneQ-cpZFi9mazQL9tQ,3810
27
- vgscli/click_extensions.py,sha256=1E0yyAMBn1xmZvi9Gz3FNAp1ir1JTZIVC6eUHz2gPh0,6667
26
+ vgscli/click_extensions.py,sha256=VoaBJpR_ZVNQYTX1x-TZrGAyLiuAGXQq_ZkLU7Y6sZ0,6678
28
27
  vgscli/collect_forms.py,sha256=HAg-tvpXxmVq5Zns4v8G0cP-tgYKuWmVFwzuNjieu-A,4619
29
28
  vgscli/collect_forms_api.py,sha256=JHnnsOUyStD7yR92LfGqn8DOpnu0l0yqTUMQnWE_NGs,1246
30
29
  vgscli/config_file.py,sha256=HB8lANU0qoO09Wnkf-QDzPh2qtrnFcqcetnCaQgtQ3U,1543
@@ -43,7 +42,7 @@ vgscli/cli/commands/__init__.py,sha256=8ptc9-Vzdx0HU3ZeMcKERYjmJyuB5IMjBSF3Igx5y
43
42
  vgscli/cli/commands/apply.py,sha256=D3YwW9vNxyq25IuObfd_jPM0m-U_GmrNauN0wS1LL0U,20049
44
43
  vgscli/cli/commands/certificate.py,sha256=xQV-G8ZWP9uPFqrczlCpCZkHUt2aJflBP2cc5hjobIw,22930
45
44
  vgscli/cli/commands/delete.py,sha256=2nuYKhp0FhoGTcmJUECjRnlYrKLdAgIoIp-y25ViwDg,3873
46
- vgscli/cli/commands/generate.py,sha256=nkS5--kBHbJhUo7QvslGza5c8Cu2ue-bVitDVGwUYFE,4025
45
+ vgscli/cli/commands/generate.py,sha256=k0bw3Cu8Y6qs0sHHnC-CBtlvnl7Rzx2rjlCwTCFaWes,4117
47
46
  vgscli/cli/commands/get.py,sha256=5X9CS8FdC33JUwGn-0qaZYDPeNakhfxSU8aX40LPW-M,8818
48
47
  vgscli/cli/types/__init__.py,sha256=a-P-SoGHpLzMg7CL1hhg5x_nf6sHq0qAuGm_AtIITmw,107
49
48
  vgscli/cli/types/resource_id.py,sha256=7JILR-KjoVGQDHB40tXJfTcU53iR8wM9Zr24fY5le3o,1172
@@ -52,19 +51,18 @@ vgscli/resource-templates/http-route-template.yaml,sha256=HHKoTF4pSGWUTR1lsw6CIB
52
51
  vgscli/resource-templates/mft-route-template.yaml,sha256=3TwiVS6yDir3uc0g0G_p5Hj4Gje2aq8Zi6vnnRa4j5Q,142
53
52
  vgscli/resource-templates/tenant-template.yaml,sha256=Q0z5_ds5UWign6ndBodLtXVZHWWCV-VsUVMnvJAhqPM,388
54
53
  vgscli/resource-templates/vault-template.yaml,sha256=IlDisL3H5LXUDMkhUaouKMarRdu0-pJxpTz8ij_lp_M,383
55
- vgscli/resource-templates/service-account/calm.yaml,sha256=HyCIHO5LZdPaeczNw_IOSGxzBBhrSa42lWtGm3GF4mY,448
56
- vgscli/resource-templates/service-account/checkout.yaml,sha256=O2hfGAmgLcM9BGvo4tjIhMe8DX1x6Tbj0Ep6dSxmu2I,555
57
- vgscli/resource-templates/service-account/payments-admin.yaml,sha256=zMTRLAeuSrMdDZau7AdHr2GVBbvblwxrj1hCZfR4zE8,700
58
- vgscli/resource-templates/service-account/sub-account-checkout.yaml,sha256=bTYscQeNxU2nfNzSeZ3ffmVFni4Iuigh1rxd2_uKn3M,629
59
- vgscli/resource-templates/service-account/vgs-cli.yaml,sha256=5gCjjloyepaKI6zZfDLeUEWxuRExI-dGJI9RO3omP2k,484
54
+ vgscli/resource-templates/service-account/credentials-admin.yaml,sha256=acyLd54Cp7l2fpugfjVfYh07-MIE0BX-JVq4lHraE1s,869
55
+ vgscli/resource-templates/service-account/public-credential-collect.yaml,sha256=CiorC-6TMx7M0TI8DHmoRSfVKDpOom2wIr_ilwmHQNA,696
56
+ vgscli/resource-templates/service-account/read-credentials-no-pci.yaml,sha256=7-31MJewfRI8VVveobdLjeusYE1Edk1xRrWplU3VMow,770
57
+ vgscli/resource-templates/service-account/read-credentials-with-pci.yaml,sha256=jWXgFdcqZYisakAt9COM6cjf2-x_Q4eidDLaUh8CZOk,796
60
58
  vgscli/validation-schemas/collect-form-api-schema.yaml,sha256=THuJbLUo7LOr0c1JUo3FPJEc9Jvde59K4JjdlkVF3hw,1246
61
59
  vgscli/validation-schemas/collect-form-schema.yaml,sha256=vHAN6_Gsg14CeSL41sHEQgboYF-CHF2RaNw72aJ3W8o,1337
62
60
  vgscli/validation-schemas/notification-integration-schema.yaml,sha256=1qHzS5ZxlhTdrDab6-qJhszwu7cpith2HleX3uAO_4E,1837
63
61
  vgscli/validation-schemas/service-account-schema.yaml,sha256=L1pjNXgnks15N1wNgf_1GmGcOvxn0nu49v7ersUjFno,1090
64
62
  vgscli/validation-schemas/vault-resources.yaml,sha256=95CCxQher3MBQq96bvjZviNgo1rgv_NhCtI8X-oxIpA,26335
65
63
  vgscli/validation-schemas/vault-schema.yaml,sha256=a-wW7X8RyHr-669wtOZrlxlIfeQVtx8EUfA-3vpYytk,637
66
- vgs_cli-1.34.0.dev1.dist-info/METADATA,sha256=o_FK_V1YOjifeIbViaTjn4uVWcO54H-WN1V3_qrzF5g,7050
67
- vgs_cli-1.34.0.dev1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
68
- vgs_cli-1.34.0.dev1.dist-info/entry_points.txt,sha256=wCWhRQiMX4Ja6kkqJlYr8LbuiywpmXyyRAZPsau-_RY,39
69
- vgs_cli-1.34.0.dev1.dist-info/top_level.txt,sha256=gabTxCWMkl80q6ha_m-hs_1wQMfGntZcv5DEmkl8JEw,7
70
- vgs_cli-1.34.0.dev1.dist-info/RECORD,,
64
+ vgs_cli-1.34.0.dev2.dist-info/METADATA,sha256=xUPQHj1GSm6f6bBcNqliRrHQEDwNBgnx_elm2S38jWg,8226
65
+ vgs_cli-1.34.0.dev2.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
66
+ vgs_cli-1.34.0.dev2.dist-info/entry_points.txt,sha256=wCWhRQiMX4Ja6kkqJlYr8LbuiywpmXyyRAZPsau-_RY,39
67
+ vgs_cli-1.34.0.dev2.dist-info/top_level.txt,sha256=gabTxCWMkl80q6ha_m-hs_1wQMfGntZcv5DEmkl8JEw,7
68
+ vgs_cli-1.34.0.dev2.dist-info/RECORD,,
vgscli/_version.py CHANGED
@@ -6,7 +6,7 @@ from packaging.version import InvalidVersion, Version
6
6
 
7
7
  from vgscli.text import bold, green
8
8
 
9
- __version__ = "1.34.0.dev1"
9
+ __version__ = "1.34.0.dev2"
10
10
 
11
11
 
12
12
  # noinspection PyBroadException
@@ -98,7 +98,12 @@ def generate_route():
98
98
  "--template",
99
99
  "-t",
100
100
  type=click.Choice(
101
- ["vgs-cli", "calm", "checkout", "sub-account-checkout", "payments-admin"]
101
+ [
102
+ "public-credential-collect",
103
+ "read-credentials-no-pci",
104
+ "read-credentials-with-pci",
105
+ "credentials-admin",
106
+ ]
102
107
  ),
103
108
  help="Predefined service account template configuration",
104
109
  required=True,
@@ -106,7 +106,7 @@ def tenant_selection_option(command):
106
106
  "tenants",
107
107
  type=click.STRING,
108
108
  multiple=True,
109
- help="Tenant the Service Account may access. Repeat for multiple tenants.",
109
+ help="Tenant the Service Account may access. Built-in templates require exactly one.",
110
110
  )(wrapper)
111
111
  return click.option(
112
112
  "--vault",
@@ -0,0 +1,26 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read
18
+ - name: cards:write
19
+ - name: card-attributes:read
20
+ - name: network-tokens:read
21
+ - name: network-tokens:write
22
+ - name: 3ds:write
23
+ - name: 3ds:read
24
+ - name: account-validations:write
25
+ - name: account-validations:read
26
+ - name: account-reference-numbers:read
@@ -1,7 +1,10 @@
1
1
  apiVersion: 1.0.0
2
2
  kind: ServiceAccount
3
3
  data:
4
- name: calm
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
5
8
  {%- if vaults | length == 0 %}
6
9
  {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
7
10
  {% elif vaults | length == 1 %}
@@ -12,5 +15,7 @@ data:
12
15
  {% endif %}
13
16
  scopes:
14
17
  - name: cards:write
18
+ - name: card-attributes:read
15
19
  - name: network-tokens:write
16
- - name: merchants:write
20
+ - name: 3ds:write
21
+ - name: 3ds:read
@@ -0,0 +1,22 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read
18
+ - name: cards-attributes:read
19
+ - name: network-tokens:read
20
+ - name: account-validations:write
21
+ - name: account-validations:read
22
+ - name: account-reference-numbers:read
@@ -0,0 +1,23 @@
1
+ apiVersion: 1.0.0
2
+ kind: ServiceAccount
3
+ data:
4
+ {%- if name | length == 0 or name | length > 20 %}
5
+ {{ cli_fail("Service Account name must contain between 1 and 20 characters. Use '--var name=<NAME>' to specify it.") }}
6
+ {%- endif %}
7
+ name: {{ name }}
8
+ {%- if vaults | length == 0 %}
9
+ {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
10
+ {% elif vaults | length == 1 %}
11
+ vaults:
12
+ - {{ vaults[0] }}
13
+ {%- else %}
14
+ {{ cli_fail("This template doesn't allow multiple tenants.") }}
15
+ {% endif %}
16
+ scopes:
17
+ - name: cards:read-pci
18
+ - name: cards:read
19
+ - name: card-attributes:read
20
+ - name: network-tokens:read
21
+ - name: account-validations:write
22
+ - name: account-validations:read
23
+ - name: account-reference-numbers:read
@@ -1,21 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: {{ name }}
5
- {%- if vaults | length == 0 %}
6
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
7
- {% elif vaults | length == 1 %}
8
- vaults:
9
- - {{ vaults[0] }}
10
- {%- else %}
11
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
12
- {% endif %}
13
- scopes:
14
- - name: financial-instruments:write
15
- optional: true
16
- - name: transfers:write
17
- optional: true
18
- - name: orders:write
19
- optional: true
20
-
21
- accessTokenLifespan: 28800
@@ -1,25 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- {%- if vaults | length == 0 %}
5
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
6
- {%- elif vaults | length == 1 %}
7
- name: payments-{{ vaults[0] }}
8
- vaults:
9
- - {{ vaults[0] }}
10
- {%- else %}
11
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
12
- {% endif %}
13
- scopes:
14
- - name: financial-instruments:admin
15
- - name: gateways:admin
16
- - name: rules:admin
17
- - name: transfers:admin
18
- - name: orders:admin
19
- - name: threeds:admin
20
- - name: sub-accounts:admin
21
- - name: cards:write
22
- - name: network-tokens:write
23
- - name: merchants:write
24
-
25
- accessTokenLifespan: 28800
@@ -1,23 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: {{ sub_account_id }}
5
- annotations:
6
- "vgs.io/sub-account": "{{ sub_account_id }}"
7
- {%- if vaults | length == 0 %}
8
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
9
- {% elif vaults | length == 1 %}
10
- vaults:
11
- - {{ vaults[0] }}
12
- {%- else %}
13
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
14
- {% endif %}
15
- scopes:
16
- - name: financial-instruments:write
17
- optional: true
18
- - name: transfers:write
19
- optional: true
20
- - name: orders:write
21
- optional: true
22
-
23
- accessTokenLifespan: 28800
@@ -1,17 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: vgs-cli
5
- {%- if vaults | length == 0 %}
6
- {{- cli_warn("Service Account won't have access to any tenants inside the organization. If it needs tenant access, use --tenant <TENANT_ID>.") or "" }}
7
- {%- else %}
8
- vaults:
9
- {%- for vault_id in vaults %}
10
- - {{ vault_id }}
11
- {%- endfor %}
12
- {%- endif %}
13
- scopes:
14
- - name: access-logs:read
15
- - name: organizations:read
16
- - name: routes:write
17
- - name: vaults:write
@@ -1,21 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: {{ name }}
5
- {%- if vaults | length == 0 %}
6
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
7
- {% elif vaults | length == 1 %}
8
- vaults:
9
- - {{ vaults[0] }}
10
- {%- else %}
11
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
12
- {% endif %}
13
- scopes:
14
- - name: financial-instruments:write
15
- optional: true
16
- - name: transfers:write
17
- optional: true
18
- - name: orders:write
19
- optional: true
20
-
21
- accessTokenLifespan: 28800
@@ -1,25 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- {%- if vaults | length == 0 %}
5
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
6
- {%- elif vaults | length == 1 %}
7
- name: payments-{{ vaults[0] }}
8
- vaults:
9
- - {{ vaults[0] }}
10
- {%- else %}
11
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
12
- {% endif %}
13
- scopes:
14
- - name: financial-instruments:admin
15
- - name: gateways:admin
16
- - name: rules:admin
17
- - name: transfers:admin
18
- - name: orders:admin
19
- - name: threeds:admin
20
- - name: sub-accounts:admin
21
- - name: cards:write
22
- - name: network-tokens:write
23
- - name: merchants:write
24
-
25
- accessTokenLifespan: 28800
@@ -1,23 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: {{ sub_account_id }}
5
- annotations:
6
- "vgs.io/sub-account": "{{ sub_account_id }}"
7
- {%- if vaults | length == 0 %}
8
- {{ cli_fail("This template needs one tenant. Use '--tenant <TENANT_ID>' to specify it.") }}
9
- {% elif vaults | length == 1 %}
10
- vaults:
11
- - {{ vaults[0] }}
12
- {%- else %}
13
- {{ cli_fail("This template doesn't allow multiple tenants.") }}
14
- {% endif %}
15
- scopes:
16
- - name: financial-instruments:write
17
- optional: true
18
- - name: transfers:write
19
- optional: true
20
- - name: orders:write
21
- optional: true
22
-
23
- accessTokenLifespan: 28800
@@ -1,17 +0,0 @@
1
- apiVersion: 1.0.0
2
- kind: ServiceAccount
3
- data:
4
- name: vgs-cli
5
- {%- if vaults | length == 0 %}
6
- {{- cli_warn("Service Account won't have access to any tenants inside the organization. If it needs tenant access, use --tenant <TENANT_ID>.") or "" }}
7
- {%- else %}
8
- vaults:
9
- {%- for vault_id in vaults %}
10
- - {{ vault_id }}
11
- {%- endfor %}
12
- {%- endif %}
13
- scopes:
14
- - name: access-logs:read
15
- - name: organizations:read
16
- - name: routes:write
17
- - name: vaults:write