@salesforce/b2c-cli 0.2.1 → 0.4.0
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.
- package/README.md +72 -3
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +14 -1
- package/dist/commands/am/clients/create.d.ts +28 -0
- package/dist/commands/am/clients/create.js +156 -0
- package/dist/commands/am/clients/create.js.map +1 -0
- package/dist/commands/am/clients/delete.d.ts +13 -0
- package/dist/commands/am/clients/delete.js +29 -0
- package/dist/commands/am/clients/delete.js.map +1 -0
- package/dist/commands/am/clients/get.d.ts +26 -0
- package/dist/commands/am/clients/get.js +186 -0
- package/dist/commands/am/clients/get.js.map +1 -0
- package/dist/commands/am/clients/list.d.ts +18 -0
- package/dist/commands/am/clients/list.js +139 -0
- package/dist/commands/am/clients/list.js.map +1 -0
- package/dist/commands/am/clients/password.d.ts +16 -0
- package/dist/commands/am/clients/password.js +51 -0
- package/dist/commands/am/clients/password.js.map +1 -0
- package/dist/commands/am/clients/update.d.ts +34 -0
- package/dist/commands/am/clients/update.js +146 -0
- package/dist/commands/am/clients/update.js.map +1 -0
- package/dist/commands/am/orgs/get.d.ts +23 -0
- package/dist/commands/am/orgs/get.js +175 -0
- package/dist/commands/am/orgs/get.js.map +1 -0
- package/dist/commands/am/orgs/list.d.ts +18 -0
- package/dist/commands/am/orgs/list.js +149 -0
- package/dist/commands/am/orgs/list.js.map +1 -0
- package/dist/commands/am/roles/get.d.ts +15 -0
- package/dist/commands/am/roles/get.js +63 -0
- package/dist/commands/am/roles/get.js.map +1 -0
- package/dist/commands/am/roles/grant.d.ts +18 -0
- package/dist/commands/am/roles/grant.js +66 -0
- package/dist/commands/am/roles/grant.js.map +1 -0
- package/dist/commands/am/roles/list.d.ts +22 -0
- package/dist/commands/am/roles/list.js +142 -0
- package/dist/commands/am/roles/list.js.map +1 -0
- package/dist/commands/am/roles/revoke.d.ts +18 -0
- package/dist/commands/am/roles/revoke.js +66 -0
- package/dist/commands/am/roles/revoke.js.map +1 -0
- package/dist/commands/am/users/create.d.ts +17 -0
- package/dist/commands/am/users/create.js +56 -0
- package/dist/commands/am/users/create.js.map +1 -0
- package/dist/commands/am/users/delete.d.ts +16 -0
- package/dist/commands/am/users/delete.js +63 -0
- package/dist/commands/am/users/delete.js.map +1 -0
- package/dist/commands/am/users/get.d.ts +23 -0
- package/dist/commands/am/users/get.js +161 -0
- package/dist/commands/am/users/get.js.map +1 -0
- package/dist/commands/am/users/list.d.ts +21 -0
- package/dist/commands/am/users/list.js +162 -0
- package/dist/commands/am/users/list.js.map +1 -0
- package/dist/commands/am/users/reset.d.ts +13 -0
- package/dist/commands/am/users/reset.js +43 -0
- package/dist/commands/am/users/reset.js.map +1 -0
- package/dist/commands/am/users/update.d.ts +18 -0
- package/dist/commands/am/users/update.js +63 -0
- package/dist/commands/am/users/update.js.map +1 -0
- package/dist/commands/auth/token.js +2 -2
- package/dist/commands/auth/token.js.map +1 -1
- package/dist/commands/code/activate.d.ts +5 -0
- package/dist/commands/code/activate.js +2 -2
- package/dist/commands/code/activate.js.map +1 -1
- package/dist/commands/code/delete.d.ts +5 -0
- package/dist/commands/code/delete.js +2 -2
- package/dist/commands/code/delete.js.map +1 -1
- package/dist/commands/code/deploy.d.ts +5 -0
- package/dist/commands/code/deploy.js +12 -3
- package/dist/commands/code/deploy.js.map +1 -1
- package/dist/commands/code/list.js +2 -2
- package/dist/commands/code/list.js.map +1 -1
- package/dist/commands/code/watch.d.ts +5 -0
- package/dist/commands/code/watch.js +6 -3
- package/dist/commands/code/watch.js.map +1 -1
- package/dist/commands/content/export.d.ts +57 -0
- package/dist/commands/content/export.js +217 -0
- package/dist/commands/content/export.js.map +1 -0
- package/dist/commands/content/list.d.ts +56 -0
- package/dist/commands/content/list.js +133 -0
- package/dist/commands/content/list.js.map +1 -0
- package/dist/commands/docs/download.d.ts +6 -1
- package/dist/commands/docs/download.js +1 -1
- package/dist/commands/docs/download.js.map +1 -1
- package/dist/commands/docs/read.d.ts +1 -1
- package/dist/commands/docs/read.js +1 -1
- package/dist/commands/docs/read.js.map +1 -1
- package/dist/commands/docs/schema.d.ts +1 -1
- package/dist/commands/docs/schema.js +1 -1
- package/dist/commands/docs/schema.js.map +1 -1
- package/dist/commands/docs/search.d.ts +1 -1
- package/dist/commands/docs/search.js +1 -1
- package/dist/commands/docs/search.js.map +1 -1
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/cache/purge.js +2 -2
- package/dist/commands/ecdn/cache/purge.js.map +1 -1
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.js +2 -2
- package/dist/commands/ecdn/certificates/add.js.map +1 -1
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.js +2 -2
- package/dist/commands/ecdn/certificates/delete.js.map +1 -1
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.js +2 -2
- package/dist/commands/ecdn/certificates/list.js.map +1 -1
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.js +2 -2
- package/dist/commands/ecdn/certificates/update.js.map +1 -1
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.js +2 -2
- package/dist/commands/ecdn/certificates/validate.js.map +1 -1
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.js +2 -2
- package/dist/commands/ecdn/cipher-suites/get.js.map +1 -1
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.js +2 -2
- package/dist/commands/ecdn/cipher-suites/update.js.map +1 -1
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.js +2 -2
- package/dist/commands/ecdn/logpush/jobs/create.js.map +1 -1
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.js +2 -2
- package/dist/commands/ecdn/logpush/jobs/delete.js.map +1 -1
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.js +2 -2
- package/dist/commands/ecdn/logpush/jobs/get.js.map +1 -1
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.js +2 -2
- package/dist/commands/ecdn/logpush/jobs/list.js.map +1 -1
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.js +2 -2
- package/dist/commands/ecdn/logpush/jobs/update.js.map +1 -1
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.js +2 -2
- package/dist/commands/ecdn/logpush/ownership.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.js +2 -2
- package/dist/commands/ecdn/mrt-rules/create.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.js +2 -2
- package/dist/commands/ecdn/mrt-rules/delete.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.js +2 -2
- package/dist/commands/ecdn/mrt-rules/get.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.js +2 -2
- package/dist/commands/ecdn/mrt-rules/rules/delete.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.js +2 -2
- package/dist/commands/ecdn/mrt-rules/rules/update.js.map +1 -1
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.js +2 -2
- package/dist/commands/ecdn/mrt-rules/update.js.map +1 -1
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.js +2 -2
- package/dist/commands/ecdn/mtls/create.js.map +1 -1
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.js +2 -2
- package/dist/commands/ecdn/mtls/delete.js.map +1 -1
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.js +2 -2
- package/dist/commands/ecdn/mtls/get.js.map +1 -1
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.js +2 -2
- package/dist/commands/ecdn/mtls/list.js.map +1 -1
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.js +2 -2
- package/dist/commands/ecdn/origin-headers/delete.js.map +1 -1
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.js +2 -2
- package/dist/commands/ecdn/origin-headers/get.js.map +1 -1
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.js +2 -2
- package/dist/commands/ecdn/origin-headers/set.js.map +1 -1
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.js +2 -2
- package/dist/commands/ecdn/page-shield/notifications/create.js.map +1 -1
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.js +2 -2
- package/dist/commands/ecdn/page-shield/notifications/delete.js.map +1 -1
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.js +2 -2
- package/dist/commands/ecdn/page-shield/notifications/list.js.map +1 -1
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.js +2 -2
- package/dist/commands/ecdn/page-shield/policies/create.js.map +1 -1
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.js +2 -2
- package/dist/commands/ecdn/page-shield/policies/delete.js.map +1 -1
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.js +2 -2
- package/dist/commands/ecdn/page-shield/policies/get.js.map +1 -1
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.js +2 -2
- package/dist/commands/ecdn/page-shield/policies/list.js.map +1 -1
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.js +2 -2
- package/dist/commands/ecdn/page-shield/policies/update.js.map +1 -1
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.js +2 -2
- package/dist/commands/ecdn/page-shield/scripts/get.js.map +1 -1
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.js +2 -2
- package/dist/commands/ecdn/page-shield/scripts/list.js.map +1 -1
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/get.js +2 -2
- package/dist/commands/ecdn/security/get.js.map +1 -1
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/security/update.js +2 -2
- package/dist/commands/ecdn/security/update.js.map +1 -1
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.js +2 -2
- package/dist/commands/ecdn/speed/get.js.map +1 -1
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.js +2 -2
- package/dist/commands/ecdn/speed/update.js.map +1 -1
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.js +2 -2
- package/dist/commands/ecdn/waf/groups/list.js.map +1 -1
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.js +2 -2
- package/dist/commands/ecdn/waf/groups/update.js.map +1 -1
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.js +2 -2
- package/dist/commands/ecdn/waf/managed-rules/list.js.map +1 -1
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.js +2 -2
- package/dist/commands/ecdn/waf/managed-rules/update.js.map +1 -1
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.js +2 -2
- package/dist/commands/ecdn/waf/migrate.js.map +1 -1
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.js +2 -2
- package/dist/commands/ecdn/waf/owasp/get.js.map +1 -1
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.js +2 -2
- package/dist/commands/ecdn/waf/owasp/update.js.map +1 -1
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.js +2 -2
- package/dist/commands/ecdn/waf/rules/get.js.map +1 -1
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.js +2 -2
- package/dist/commands/ecdn/waf/rules/list.js.map +1 -1
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.js +2 -2
- package/dist/commands/ecdn/waf/rules/update.js.map +1 -1
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.js +2 -2
- package/dist/commands/ecdn/waf/rulesets/list.js.map +1 -1
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.js +2 -2
- package/dist/commands/ecdn/waf/rulesets/update.js.map +1 -1
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.js +2 -2
- package/dist/commands/ecdn/zones/create.js.map +1 -1
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.js +2 -2
- package/dist/commands/ecdn/zones/list.js.map +1 -1
- package/dist/commands/job/export.d.ts +5 -0
- package/dist/commands/job/export.js +2 -2
- package/dist/commands/job/export.js.map +1 -1
- package/dist/commands/job/import.d.ts +5 -0
- package/dist/commands/job/import.js +2 -2
- package/dist/commands/job/import.js.map +1 -1
- package/dist/commands/job/run.d.ts +5 -0
- package/dist/commands/job/run.js +2 -2
- package/dist/commands/job/run.js.map +1 -1
- package/dist/commands/job/search.d.ts +5 -0
- package/dist/commands/job/search.js +2 -2
- package/dist/commands/job/search.js.map +1 -1
- package/dist/commands/job/wait.d.ts +5 -0
- package/dist/commands/job/wait.js +2 -2
- package/dist/commands/job/wait.js.map +1 -1
- package/dist/commands/logs/get.d.ts +50 -0
- package/dist/commands/logs/get.js +122 -0
- package/dist/commands/logs/get.js.map +1 -0
- package/dist/commands/logs/list.d.ts +45 -0
- package/dist/commands/logs/list.js +94 -0
- package/dist/commands/logs/list.js.map +1 -0
- package/dist/commands/logs/tail.d.ts +44 -0
- package/dist/commands/logs/tail.js +138 -0
- package/dist/commands/logs/tail.js.map +1 -0
- package/dist/commands/mrt/bundle/deploy.js +26 -6
- package/dist/commands/mrt/bundle/deploy.js.map +1 -1
- package/dist/commands/mrt/bundle/download.js +2 -2
- package/dist/commands/mrt/bundle/download.js.map +1 -1
- package/dist/commands/mrt/bundle/history.js +2 -2
- package/dist/commands/mrt/bundle/history.js.map +1 -1
- package/dist/commands/mrt/bundle/list.js +2 -2
- package/dist/commands/mrt/bundle/list.js.map +1 -1
- package/dist/commands/mrt/env/access-control/list.js +2 -2
- package/dist/commands/mrt/env/access-control/list.js.map +1 -1
- package/dist/commands/mrt/env/b2c.js +2 -2
- package/dist/commands/mrt/env/b2c.js.map +1 -1
- package/dist/commands/mrt/env/create.js +2 -2
- package/dist/commands/mrt/env/create.js.map +1 -1
- package/dist/commands/mrt/env/delete.js +2 -2
- package/dist/commands/mrt/env/delete.js.map +1 -1
- package/dist/commands/mrt/env/get.js +2 -2
- package/dist/commands/mrt/env/get.js.map +1 -1
- package/dist/commands/mrt/env/invalidate.js +2 -2
- package/dist/commands/mrt/env/invalidate.js.map +1 -1
- package/dist/commands/mrt/env/list.js +2 -2
- package/dist/commands/mrt/env/list.js.map +1 -1
- package/dist/commands/mrt/env/redirect/clone.js +2 -2
- package/dist/commands/mrt/env/redirect/clone.js.map +1 -1
- package/dist/commands/mrt/env/redirect/create.js +2 -2
- package/dist/commands/mrt/env/redirect/create.js.map +1 -1
- package/dist/commands/mrt/env/redirect/delete.js +2 -2
- package/dist/commands/mrt/env/redirect/delete.js.map +1 -1
- package/dist/commands/mrt/env/redirect/list.js +2 -2
- package/dist/commands/mrt/env/redirect/list.js.map +1 -1
- package/dist/commands/mrt/env/update.js +2 -2
- package/dist/commands/mrt/env/update.js.map +1 -1
- package/dist/commands/mrt/env/var/delete.js +2 -2
- package/dist/commands/mrt/env/var/delete.js.map +1 -1
- package/dist/commands/mrt/env/var/list.js +2 -2
- package/dist/commands/mrt/env/var/list.js.map +1 -1
- package/dist/commands/mrt/env/var/set.js +2 -2
- package/dist/commands/mrt/env/var/set.js.map +1 -1
- package/dist/commands/mrt/org/b2c.js +2 -2
- package/dist/commands/mrt/org/b2c.js.map +1 -1
- package/dist/commands/mrt/org/list.js +2 -2
- package/dist/commands/mrt/org/list.js.map +1 -1
- package/dist/commands/mrt/project/create.js +2 -2
- package/dist/commands/mrt/project/create.js.map +1 -1
- package/dist/commands/mrt/project/delete.js +2 -2
- package/dist/commands/mrt/project/delete.js.map +1 -1
- package/dist/commands/mrt/project/get.js +2 -2
- package/dist/commands/mrt/project/get.js.map +1 -1
- package/dist/commands/mrt/project/list.js +2 -2
- package/dist/commands/mrt/project/list.js.map +1 -1
- package/dist/commands/mrt/project/member/add.js +2 -2
- package/dist/commands/mrt/project/member/add.js.map +1 -1
- package/dist/commands/mrt/project/member/get.js +2 -2
- package/dist/commands/mrt/project/member/get.js.map +1 -1
- package/dist/commands/mrt/project/member/list.js +2 -2
- package/dist/commands/mrt/project/member/list.js.map +1 -1
- package/dist/commands/mrt/project/member/remove.js +2 -2
- package/dist/commands/mrt/project/member/remove.js.map +1 -1
- package/dist/commands/mrt/project/member/update.js +2 -2
- package/dist/commands/mrt/project/member/update.js.map +1 -1
- package/dist/commands/mrt/project/notification/create.js +2 -2
- package/dist/commands/mrt/project/notification/create.js.map +1 -1
- package/dist/commands/mrt/project/notification/delete.js +2 -2
- package/dist/commands/mrt/project/notification/delete.js.map +1 -1
- package/dist/commands/mrt/project/notification/get.js +2 -2
- package/dist/commands/mrt/project/notification/get.js.map +1 -1
- package/dist/commands/mrt/project/notification/list.js +2 -2
- package/dist/commands/mrt/project/notification/list.js.map +1 -1
- package/dist/commands/mrt/project/notification/update.js +2 -2
- package/dist/commands/mrt/project/notification/update.js.map +1 -1
- package/dist/commands/mrt/project/update.js +2 -2
- package/dist/commands/mrt/project/update.js.map +1 -1
- package/dist/commands/mrt/tail-logs.d.ts +27 -0
- package/dist/commands/mrt/tail-logs.js +137 -0
- package/dist/commands/mrt/tail-logs.js.map +1 -0
- package/dist/commands/mrt/user/api-key.js +2 -2
- package/dist/commands/mrt/user/api-key.js.map +1 -1
- package/dist/commands/mrt/user/email-prefs.js +2 -2
- package/dist/commands/mrt/user/email-prefs.js.map +1 -1
- package/dist/commands/mrt/user/profile.js +2 -2
- package/dist/commands/mrt/user/profile.js.map +1 -1
- package/dist/commands/{ods → sandbox}/create.d.ts +8 -14
- package/dist/commands/sandbox/create.js +264 -0
- package/dist/commands/sandbox/create.js.map +1 -0
- package/dist/commands/sandbox/delete.d.ts +19 -0
- package/dist/commands/sandbox/delete.js +141 -0
- package/dist/commands/sandbox/delete.js.map +1 -0
- package/dist/commands/{ods → sandbox}/get.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/get.js +10 -8
- package/dist/commands/sandbox/get.js.map +1 -0
- package/dist/commands/{ods → sandbox}/info.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/info.js +7 -6
- package/dist/commands/sandbox/info.js.map +1 -0
- package/dist/commands/{ods → sandbox}/list.d.ts +2 -1
- package/dist/commands/{ods → sandbox}/list.js +7 -6
- package/dist/commands/sandbox/list.js.map +1 -0
- package/dist/commands/{ods → sandbox}/restart.d.ts +7 -1
- package/dist/commands/sandbox/restart.js +107 -0
- package/dist/commands/sandbox/restart.js.map +1 -0
- package/dist/commands/{ods → sandbox}/start.d.ts +7 -1
- package/dist/commands/sandbox/start.js +108 -0
- package/dist/commands/sandbox/start.js.map +1 -0
- package/dist/commands/{ods → sandbox}/stop.d.ts +7 -1
- package/dist/commands/sandbox/stop.js +107 -0
- package/dist/commands/sandbox/stop.js.map +1 -0
- package/dist/commands/scaffold/generate.d.ts +22 -0
- package/dist/commands/scaffold/generate.js +74 -0
- package/dist/commands/scaffold/generate.js.map +1 -0
- package/dist/commands/scaffold/index.d.ts +24 -0
- package/dist/commands/scaffold/index.js +80 -0
- package/dist/commands/scaffold/index.js.map +1 -0
- package/dist/commands/scaffold/info.d.ts +24 -0
- package/dist/commands/scaffold/info.js +89 -0
- package/dist/commands/scaffold/info.js.map +1 -0
- package/dist/commands/scaffold/init.d.ts +29 -0
- package/dist/commands/scaffold/init.js +221 -0
- package/dist/commands/scaffold/init.js.map +1 -0
- package/dist/commands/scaffold/list.d.ts +38 -0
- package/dist/commands/scaffold/list.js +131 -0
- package/dist/commands/scaffold/list.js.map +1 -0
- package/dist/commands/scaffold/search.d.ts +32 -0
- package/dist/commands/scaffold/search.js +97 -0
- package/dist/commands/scaffold/search.js.map +1 -0
- package/dist/commands/scaffold/validate.d.ts +24 -0
- package/dist/commands/scaffold/validate.js +74 -0
- package/dist/commands/scaffold/validate.js.map +1 -0
- package/dist/commands/scapi/custom/status.d.ts +2 -20
- package/dist/commands/scapi/custom/status.js +4 -11
- package/dist/commands/scapi/custom/status.js.map +1 -1
- package/dist/commands/scapi/schemas/get.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.js +3 -3
- package/dist/commands/scapi/schemas/get.js.map +1 -1
- package/dist/commands/scapi/schemas/list.d.ts +1 -0
- package/dist/commands/scapi/schemas/list.js +2 -2
- package/dist/commands/scapi/schemas/list.js.map +1 -1
- package/dist/commands/setup/index.d.ts +12 -0
- package/dist/commands/setup/index.js +34 -0
- package/dist/commands/setup/index.js.map +1 -0
- package/dist/commands/setup/{config.d.ts → inspect.d.ts} +5 -4
- package/dist/commands/setup/{config.js → inspect.js} +6 -3
- package/dist/commands/setup/inspect.js.map +1 -0
- package/dist/commands/setup/instance/create.d.ts +43 -0
- package/dist/commands/setup/instance/create.js +269 -0
- package/dist/commands/setup/instance/create.js.map +1 -0
- package/dist/commands/setup/instance/index.d.ts +9 -0
- package/dist/commands/setup/instance/index.js +22 -0
- package/dist/commands/setup/instance/index.js.map +1 -0
- package/dist/commands/setup/instance/list.d.ts +31 -0
- package/dist/commands/setup/instance/list.js +68 -0
- package/dist/commands/setup/instance/list.js.map +1 -0
- package/dist/commands/setup/instance/remove.d.ts +34 -0
- package/dist/commands/setup/instance/remove.js +75 -0
- package/dist/commands/setup/instance/remove.js.map +1 -0
- package/dist/commands/setup/instance/set-active.d.ts +33 -0
- package/dist/commands/setup/instance/set-active.js +78 -0
- package/dist/commands/setup/instance/set-active.js.map +1 -0
- package/dist/commands/setup/skills.js +2 -2
- package/dist/commands/setup/skills.js.map +1 -1
- package/dist/commands/sites/list.js +2 -2
- package/dist/commands/sites/list.js.map +1 -1
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/create.js +3 -2
- package/dist/commands/slas/client/create.js.map +1 -1
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/delete.js +2 -2
- package/dist/commands/slas/client/delete.js.map +1 -1
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/get.js +2 -2
- package/dist/commands/slas/client/get.js.map +1 -1
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/list.js +10 -5
- package/dist/commands/slas/client/list.js.map +1 -1
- package/dist/commands/slas/client/open.js +2 -2
- package/dist/commands/slas/client/open.js.map +1 -1
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/client/update.js +2 -2
- package/dist/commands/slas/client/update.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +5 -0
- package/dist/commands/webdav/get.js +2 -2
- package/dist/commands/webdav/get.js.map +1 -1
- package/dist/commands/webdav/ls.js +2 -2
- package/dist/commands/webdav/ls.js.map +1 -1
- package/dist/commands/webdav/mkdir.js +2 -2
- package/dist/commands/webdav/mkdir.js.map +1 -1
- package/dist/commands/webdav/put.js +2 -2
- package/dist/commands/webdav/put.js.map +1 -1
- package/dist/commands/webdav/rm.d.ts +5 -0
- package/dist/commands/webdav/rm.js +2 -2
- package/dist/commands/webdav/rm.js.map +1 -1
- package/dist/commands/webdav/unzip.js +2 -2
- package/dist/commands/webdav/unzip.js.map +1 -1
- package/dist/commands/webdav/zip.js +2 -2
- package/dist/commands/webdav/zip.js.map +1 -1
- package/dist/i18n/index.d.ts +12 -0
- package/dist/i18n/index.js +16 -0
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +42 -0
- package/dist/i18n/locales/en.js +42 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/index.d.ts +42 -0
- package/dist/lib/scaffold/generate-helper.d.ts +47 -0
- package/dist/lib/scaffold/generate-helper.js +271 -0
- package/dist/lib/scaffold/generate-helper.js.map +1 -0
- package/dist/lib/scaffold/source-resolver.d.ts +25 -0
- package/dist/lib/scaffold/source-resolver.js +37 -0
- package/dist/lib/scaffold/source-resolver.js.map +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/logs/filter.d.ts +40 -0
- package/dist/utils/logs/filter.js +112 -0
- package/dist/utils/logs/filter.js.map +1 -0
- package/dist/utils/logs/format.d.ts +18 -0
- package/dist/utils/logs/format.js +74 -0
- package/dist/utils/logs/format.js.map +1 -0
- package/dist/utils/logs/index.d.ts +2 -0
- package/dist/utils/logs/index.js +8 -0
- package/dist/utils/logs/index.js.map +1 -0
- package/dist/utils/mrt-logs/format.d.ts +28 -0
- package/dist/utils/mrt-logs/format.js +90 -0
- package/dist/utils/mrt-logs/format.js.map +1 -0
- package/dist/utils/mrt-logs/index.d.ts +1 -0
- package/dist/utils/mrt-logs/index.js +7 -0
- package/dist/utils/mrt-logs/index.js.map +1 -0
- package/dist/utils/slas/client.d.ts +7 -5
- package/dist/utils/slas/client.js +26 -24
- package/dist/utils/slas/client.js.map +1 -1
- package/oclif.manifest.json +15624 -5067
- package/package.json +115 -63
- package/dist/commands/ods/create.js +0 -254
- package/dist/commands/ods/create.js.map +0 -1
- package/dist/commands/ods/delete.d.ts +0 -15
- package/dist/commands/ods/delete.js +0 -85
- package/dist/commands/ods/delete.js.map +0 -1
- package/dist/commands/ods/get.js.map +0 -1
- package/dist/commands/ods/info.js.map +0 -1
- package/dist/commands/ods/list.js.map +0 -1
- package/dist/commands/ods/restart.js +0 -50
- package/dist/commands/ods/restart.js.map +0 -1
- package/dist/commands/ods/start.js +0 -50
- package/dist/commands/ods/start.js.map +0 -1
- package/dist/commands/ods/stop.js +0 -50
- package/dist/commands/ods/stop.js.map +0 -1
- package/dist/commands/setup/config.js.map +0 -1
|
@@ -7,7 +7,7 @@ import { Args, Flags, ux } from '@oclif/core';
|
|
|
7
7
|
import cliui from 'cliui';
|
|
8
8
|
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
9
|
import { updateProject } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
10
|
-
import { t } from '../../../i18n/index.js';
|
|
10
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
11
11
|
/**
|
|
12
12
|
* Valid AWS regions for MRT projects.
|
|
13
13
|
*/
|
|
@@ -67,7 +67,7 @@ export default class MrtProjectUpdate extends MrtCommand {
|
|
|
67
67
|
required: true,
|
|
68
68
|
}),
|
|
69
69
|
};
|
|
70
|
-
static description = t('commands.mrt.project.update.description', 'Update a Managed Runtime project');
|
|
70
|
+
static description = withDocs(t('commands.mrt.project.update.description', 'Update a Managed Runtime project'), '/cli/mrt.html#b2c-mrt-project-update');
|
|
71
71
|
static enableJsonFlag = true;
|
|
72
72
|
static examples = [
|
|
73
73
|
'<%= config.bin %> <%= command.id %> my-storefront --name "New Name"',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/mrt/project/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAgD,MAAM,4CAA4C,CAAC;AACxH,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/mrt/project/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
+
export default class MrtTailLogs extends MrtCommand<typeof MrtTailLogs> {
|
|
3
|
+
static description: string;
|
|
4
|
+
static enableJsonFlag: boolean;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
level: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
};
|
|
26
|
+
run(): Promise<void>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Flags, ux } from '@oclif/core';
|
|
7
|
+
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { getProfile, tailMrtLogs } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
9
|
+
import { t } from '../../i18n/index.js';
|
|
10
|
+
import { formatMrtEntry, colorLevel, colorHighlight } from '../../utils/mrt-logs/index.js';
|
|
11
|
+
export default class MrtTailLogs extends MrtCommand {
|
|
12
|
+
static description = t('commands.mrt.tail-logs.description', 'Tail application logs from a Managed Runtime environment');
|
|
13
|
+
static enableJsonFlag = true;
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> <%= command.id %> -p my-storefront -e staging',
|
|
16
|
+
'<%= config.bin %> <%= command.id %> -p my-storefront -e production --level ERROR --level WARN',
|
|
17
|
+
'<%= config.bin %> <%= command.id %> -p my-storefront -e staging --json',
|
|
18
|
+
'<%= config.bin %> <%= command.id %> -p my-storefront -e staging --search "timeout"',
|
|
19
|
+
'<%= config.bin %> <%= command.id %> -p my-storefront -e staging --search "GET|POST"',
|
|
20
|
+
];
|
|
21
|
+
static flags = {
|
|
22
|
+
...MrtCommand.baseFlags,
|
|
23
|
+
level: Flags.string({
|
|
24
|
+
description: 'Filter by log level (ERROR, WARN, INFO, DEBUG, etc.)',
|
|
25
|
+
multiple: true,
|
|
26
|
+
}),
|
|
27
|
+
search: Flags.string({
|
|
28
|
+
char: 'g',
|
|
29
|
+
description: 'Filter entries matching this regex pattern (case-insensitive)',
|
|
30
|
+
}),
|
|
31
|
+
'no-color': Flags.boolean({
|
|
32
|
+
description: 'Disable colored output',
|
|
33
|
+
default: false,
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
async run() {
|
|
37
|
+
this.requireMrtCredentials();
|
|
38
|
+
const { mrtProject: project, mrtEnvironment: environment, mrtOrigin: origin } = this.resolvedConfig.values;
|
|
39
|
+
if (!project) {
|
|
40
|
+
this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
|
|
41
|
+
}
|
|
42
|
+
if (!environment) {
|
|
43
|
+
this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
|
|
44
|
+
}
|
|
45
|
+
const auth = this.getMrtAuth();
|
|
46
|
+
const useColor = !this.flags['no-color'] && process.stdout.isTTY && !this.jsonEnabled();
|
|
47
|
+
const levelFilter = this.flags.level;
|
|
48
|
+
const searchFilter = this.flags.search;
|
|
49
|
+
// Compile search regex (case-insensitive, global for highlighting)
|
|
50
|
+
let searchRegex;
|
|
51
|
+
if (searchFilter) {
|
|
52
|
+
try {
|
|
53
|
+
searchRegex = new RegExp(searchFilter, 'gi');
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
this.error(`Invalid search pattern: "${searchFilter}". Must be a valid regular expression.`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Pre-compute level filter set
|
|
60
|
+
const upperLevels = levelFilter && levelFilter.length > 0 ? new Set(levelFilter.map((l) => l.toUpperCase())) : null;
|
|
61
|
+
// Best-effort user email for WebSocket connection
|
|
62
|
+
let user;
|
|
63
|
+
try {
|
|
64
|
+
const profile = await getProfile({ origin }, auth);
|
|
65
|
+
user = profile.email;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Non-fatal: proceed without user email
|
|
69
|
+
}
|
|
70
|
+
if (!this.jsonEnabled()) {
|
|
71
|
+
this.log(t('commands.mrt.tail-logs.connecting', 'Connecting to {{project}}/{{environment}} logs...', {
|
|
72
|
+
project,
|
|
73
|
+
environment,
|
|
74
|
+
}));
|
|
75
|
+
// Log active filters
|
|
76
|
+
if (upperLevels) {
|
|
77
|
+
const levels = useColor ? [...upperLevels].map((l) => colorLevel(l)).join(', ') : [...upperLevels].join(', ');
|
|
78
|
+
this.log(t('commands.mrt.tail-logs.filterLevel', 'Filtering by level: {{levels}}', { levels }));
|
|
79
|
+
}
|
|
80
|
+
if (searchFilter) {
|
|
81
|
+
const pattern = useColor ? colorHighlight(searchFilter) : searchFilter;
|
|
82
|
+
this.log(t('commands.mrt.tail-logs.filterSearch', 'Filtering by pattern: {{pattern}}', { pattern }));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const { stop, done } = await tailMrtLogs({
|
|
86
|
+
projectSlug: project,
|
|
87
|
+
environmentSlug: environment,
|
|
88
|
+
origin,
|
|
89
|
+
user,
|
|
90
|
+
onEntry: (entry) => {
|
|
91
|
+
// Apply level filter
|
|
92
|
+
if (upperLevels && (!entry.level || !upperLevels.has(entry.level.toUpperCase())))
|
|
93
|
+
return;
|
|
94
|
+
// Apply search filter (regex match against message and raw)
|
|
95
|
+
if (searchRegex) {
|
|
96
|
+
// Reset lastIndex since we reuse the global regex
|
|
97
|
+
searchRegex.lastIndex = 0;
|
|
98
|
+
const matchesMessage = searchRegex.test(entry.message);
|
|
99
|
+
searchRegex.lastIndex = 0;
|
|
100
|
+
const matchesRaw = searchRegex.test(entry.raw);
|
|
101
|
+
if (!matchesMessage && !matchesRaw)
|
|
102
|
+
return;
|
|
103
|
+
// Reset for highlighting pass
|
|
104
|
+
searchRegex.lastIndex = 0;
|
|
105
|
+
}
|
|
106
|
+
if (this.jsonEnabled()) {
|
|
107
|
+
ux.stdout(JSON.stringify(entry));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
ux.stdout(formatMrtEntry(entry, { useColor, searchHighlight: searchRegex }));
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
onConnect: () => {
|
|
114
|
+
if (!this.jsonEnabled()) {
|
|
115
|
+
this.log(t('commands.mrt.tail-logs.connected', 'Connected. Waiting for log entries...'));
|
|
116
|
+
this.log(t('commands.mrt.tail-logs.interrupt', 'Press Ctrl+C to stop.\n'));
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
onError: (error) => {
|
|
120
|
+
this.warn(t('commands.mrt.tail-logs.error', 'WebSocket error: {{message}}', { message: error.message }));
|
|
121
|
+
},
|
|
122
|
+
onClose: (_code, _reason) => {
|
|
123
|
+
if (!this.jsonEnabled()) {
|
|
124
|
+
this.log(t('commands.mrt.tail-logs.disconnected', '\nDisconnected from log stream.'));
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
}, auth);
|
|
128
|
+
// Graceful shutdown on signals
|
|
129
|
+
const handleSignal = () => {
|
|
130
|
+
stop();
|
|
131
|
+
};
|
|
132
|
+
process.on('SIGINT', handleSignal);
|
|
133
|
+
process.on('SIGTERM', handleSignal);
|
|
134
|
+
await done;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=tail-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tail-logs.js","sourceRoot":"","sources":["../../../src/commands/mrt/tail-logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ import { Flags } from '@oclif/core';
|
|
|
7
7
|
import * as readline from 'node:readline';
|
|
8
8
|
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
9
|
import { resetApiKey } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
10
|
-
import { t } from '../../../i18n/index.js';
|
|
10
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
11
11
|
/**
|
|
12
12
|
* Reset the current user's API key.
|
|
13
13
|
*/
|
|
14
14
|
export default class MrtUserApiKey extends MrtCommand {
|
|
15
|
-
static description = t('commands.mrt.user.api-key.description', 'Reset the API key for the current user (invalidates current key)');
|
|
15
|
+
static description = withDocs(t('commands.mrt.user.api-key.description', 'Reset the API key for the current user (invalidates current key)'), '/cli/mrt.html#b2c-mrt-user-api-key');
|
|
16
16
|
static enableJsonFlag = true;
|
|
17
17
|
static examples = [
|
|
18
18
|
'<%= config.bin %> <%= command.id %>',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/api-key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAoB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"api-key.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/api-key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAoB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAgC;IACzE,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,uCAAuC,EAAE,kEAAkE,CAAC,EAC9G,oCAAoC,CACrC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC;QACrC,2CAA2C;QAC3C,4CAA4C;KAC7C,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;QACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAClC,CAAC,CACC,mCAAmC,EACnC,8GAA8G,CAC/G,CACF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAE3E,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B;YACE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,sCAAsC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,2BAA2B,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC,GAAG,CACN,CAAC,CACC,mCAAmC,EACnC,yFAAyF,CAC1F,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAe;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Flags } from '@oclif/core';
|
|
7
7
|
import { MrtCommand, createTable } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
8
|
import { getEmailPreferences, updateEmailPreferences, } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
9
|
-
import { t } from '../../../i18n/index.js';
|
|
9
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
10
10
|
const COLUMNS = {
|
|
11
11
|
field: {
|
|
12
12
|
header: 'Preference',
|
|
@@ -22,7 +22,7 @@ const DEFAULT_COLUMNS = ['field', 'value'];
|
|
|
22
22
|
* View or update email notification preferences.
|
|
23
23
|
*/
|
|
24
24
|
export default class MrtUserEmailPrefs extends MrtCommand {
|
|
25
|
-
static description = t('commands.mrt.user.email-prefs.description', 'View or update email notification preferences');
|
|
25
|
+
static description = withDocs(t('commands.mrt.user.email-prefs.description', 'View or update email notification preferences'), '/cli/mrt.html#b2c-mrt-user-email-prefs');
|
|
26
26
|
static enableJsonFlag = true;
|
|
27
27
|
static examples = [
|
|
28
28
|
'<%= config.bin %> <%= command.id %>',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-prefs.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/email-prefs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,UAAU,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"email-prefs.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/email-prefs.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { MrtCommand, createTable } from '@salesforce/b2c-tooling-sdk/cli';
|
|
7
7
|
import { getProfile } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
8
|
-
import { t } from '../../../i18n/index.js';
|
|
8
|
+
import { t, withDocs } from '../../../i18n/index.js';
|
|
9
9
|
const COLUMNS = {
|
|
10
10
|
field: {
|
|
11
11
|
header: 'Field',
|
|
@@ -21,7 +21,7 @@ const DEFAULT_COLUMNS = ['field', 'value'];
|
|
|
21
21
|
* Get the current user's profile information.
|
|
22
22
|
*/
|
|
23
23
|
export default class MrtUserProfile extends MrtCommand {
|
|
24
|
-
static description = t('commands.mrt.user.profile.description', 'Display profile information for the current user');
|
|
24
|
+
static description = withDocs(t('commands.mrt.user.profile.description', 'Display profile information for the current user'), '/cli/mrt.html#b2c-mrt-user-profile');
|
|
25
25
|
static enableJsonFlag = true;
|
|
26
26
|
static examples = ['<%= config.bin %> <%= command.id %>', '<%= config.bin %> <%= command.id %> --json'];
|
|
27
27
|
static flags = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/profile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,UAAU,EAAyC,MAAM,4CAA4C,CAAC;AAC9G,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/commands/mrt/user/profile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,UAAU,EAAyC,MAAM,4CAA4C,CAAC;AAC9G,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAInD,MAAM,OAAO,GAA4C;IACvD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;KACpB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;KACpB;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAiC;IAC3E,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,uCAAuC,EAAE,kDAAkD,CAAC,EAC9F,oCAAoC,CACrC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG,CAAC,qCAAqC,EAAE,4CAA4C,CAAC,CAAC;IAExG,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;KACxB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,oCAAoC,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,MAAM,UAAU,CAC9B;YACE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAmB;gBAC9B,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,EAAC;gBAC7C,EAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,GAAG,EAAC;gBACvD,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,EAAC;gBACrD,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAC;gBACxD,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,EAAC;gBACpG,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,GAAG,EAAC;aAC5C,CAAC;YACF,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC"}
|
|
@@ -4,7 +4,8 @@ type SandboxModel = OdsComponents['schemas']['SandboxModel'];
|
|
|
4
4
|
/**
|
|
5
5
|
* Command to create a new on-demand sandbox.
|
|
6
6
|
*/
|
|
7
|
-
export default class
|
|
7
|
+
export default class SandboxCreate extends OdsCommand<typeof SandboxCreate> {
|
|
8
|
+
static aliases: string[];
|
|
8
9
|
static description: string;
|
|
9
10
|
static enableJsonFlag: boolean;
|
|
10
11
|
static examples: string[];
|
|
@@ -17,26 +18,19 @@ export default class OdsCreate extends OdsCommand<typeof OdsCreate> {
|
|
|
17
18
|
'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
19
|
timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
20
|
'set-permissions': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
'permissions-client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'ocapi-settings': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'webdav-settings': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'start-scheduler': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'stop-scheduler': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
26
|
};
|
|
21
27
|
run(): Promise<SandboxModel>;
|
|
22
28
|
/**
|
|
23
29
|
* Builds the sandbox settings object with OCAPI and WebDAV permissions.
|
|
24
|
-
* @param setPermissions - Whether to set permissions for the client ID
|
|
25
30
|
* @returns Settings object or undefined if permissions should not be set
|
|
26
31
|
*/
|
|
27
32
|
private buildSettings;
|
|
33
|
+
private parseJsonFlag;
|
|
28
34
|
private printSandboxSummary;
|
|
29
|
-
/**
|
|
30
|
-
* Sleep for a given number of milliseconds.
|
|
31
|
-
*/
|
|
32
|
-
private sleep;
|
|
33
|
-
/**
|
|
34
|
-
* Polls for sandbox status until it reaches a terminal state.
|
|
35
|
-
* @param sandboxId - The sandbox ID to poll
|
|
36
|
-
* @param pollIntervalSeconds - Interval between polls in seconds
|
|
37
|
-
* @param timeoutSeconds - Maximum time to wait (0 for no timeout)
|
|
38
|
-
* @returns The final sandbox state
|
|
39
|
-
*/
|
|
40
|
-
private waitForSandbox;
|
|
41
35
|
}
|
|
42
36
|
export {};
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Flags, ux } from '@oclif/core';
|
|
7
|
+
import cliui from 'cliui';
|
|
8
|
+
import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
9
|
+
import { getApiErrorMessage, SandboxPollingError, SandboxPollingTimeoutError, SandboxTerminalStateError, waitForSandbox, } from '@salesforce/b2c-tooling-sdk';
|
|
10
|
+
import { t, withDocs } from '../../i18n/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Default OCAPI resources to grant the client ID access to.
|
|
13
|
+
* These enable common CI/CD operations like code deployment and job execution.
|
|
14
|
+
*/
|
|
15
|
+
const DEFAULT_OCAPI_RESOURCES = [
|
|
16
|
+
{ resource_id: '/code_versions', methods: ['get'], read_attributes: '(**)', write_attributes: '(**)' },
|
|
17
|
+
{ resource_id: '/code_versions/*', methods: ['patch', 'delete'], read_attributes: '(**)', write_attributes: '(**)' },
|
|
18
|
+
{ resource_id: '/jobs/*/executions', methods: ['post'], read_attributes: '(**)', write_attributes: '(**)' },
|
|
19
|
+
{ resource_id: '/jobs/*/executions/*', methods: ['get'], read_attributes: '(**)', write_attributes: '(**)' },
|
|
20
|
+
{ resource_id: '/sites/*/cartridges', methods: ['post'], read_attributes: '(**)', write_attributes: '(**)' },
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Default WebDAV permissions to grant the client ID.
|
|
24
|
+
* These enable common operations like code upload and data import/export.
|
|
25
|
+
*/
|
|
26
|
+
const DEFAULT_WEBDAV_PERMISSIONS = [
|
|
27
|
+
{ path: '/impex', operations: ['read_write'] },
|
|
28
|
+
{ path: '/cartridges', operations: ['read_write'] },
|
|
29
|
+
{ path: '/static', operations: ['read_write'] },
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* Command to create a new on-demand sandbox.
|
|
33
|
+
*/
|
|
34
|
+
export default class SandboxCreate extends OdsCommand {
|
|
35
|
+
static aliases = ['ods:create'];
|
|
36
|
+
static description = withDocs(t('commands.sandbox.create.description', 'Create a new on-demand sandbox'), '/cli/sandbox.html#b2c-sandbox-create');
|
|
37
|
+
static enableJsonFlag = true;
|
|
38
|
+
static examples = [
|
|
39
|
+
'<%= config.bin %> <%= command.id %> --realm abcd',
|
|
40
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --ttl 48',
|
|
41
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --profile large',
|
|
42
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --auto-scheduled',
|
|
43
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --wait',
|
|
44
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --wait --poll-interval 15',
|
|
45
|
+
'<%= config.bin %> <%= command.id %> --realm abcd --json',
|
|
46
|
+
];
|
|
47
|
+
static flags = {
|
|
48
|
+
realm: Flags.string({
|
|
49
|
+
char: 'r',
|
|
50
|
+
description: 'Realm ID (four-letter ID)',
|
|
51
|
+
required: true,
|
|
52
|
+
}),
|
|
53
|
+
ttl: Flags.integer({
|
|
54
|
+
description: 'Time to live in hours (0 for infinite)',
|
|
55
|
+
default: 24,
|
|
56
|
+
}),
|
|
57
|
+
profile: Flags.string({
|
|
58
|
+
description: 'Resource profile (medium, large, xlarge, xxlarge)',
|
|
59
|
+
default: 'medium',
|
|
60
|
+
options: ['medium', 'large', 'xlarge', 'xxlarge'],
|
|
61
|
+
}),
|
|
62
|
+
'auto-scheduled': Flags.boolean({
|
|
63
|
+
description: 'Enable automatic start/stop scheduling',
|
|
64
|
+
default: false,
|
|
65
|
+
}),
|
|
66
|
+
wait: Flags.boolean({
|
|
67
|
+
char: 'w',
|
|
68
|
+
description: 'Wait for the sandbox to reach started or failed state before returning',
|
|
69
|
+
default: false,
|
|
70
|
+
}),
|
|
71
|
+
'poll-interval': Flags.integer({
|
|
72
|
+
description: 'Polling interval in seconds when using --wait',
|
|
73
|
+
default: 10,
|
|
74
|
+
dependsOn: ['wait'],
|
|
75
|
+
}),
|
|
76
|
+
timeout: Flags.integer({
|
|
77
|
+
description: 'Maximum time to wait in seconds when using --wait (0 for no timeout)',
|
|
78
|
+
default: 600,
|
|
79
|
+
dependsOn: ['wait'],
|
|
80
|
+
}),
|
|
81
|
+
'set-permissions': Flags.boolean({
|
|
82
|
+
description: 'Automatically set OCAPI and WebDAV permissions for the client ID used to create the sandbox',
|
|
83
|
+
default: true,
|
|
84
|
+
allowNo: true,
|
|
85
|
+
}),
|
|
86
|
+
'permissions-client-id': Flags.string({
|
|
87
|
+
description: 'Client ID to use for default OCAPI/WebDAV permissions (defaults to auth client ID)',
|
|
88
|
+
}),
|
|
89
|
+
'ocapi-settings': Flags.string({
|
|
90
|
+
description: 'Custom OCAPI settings JSON array (replaces defaults). Format: [{"client_id":"...","resources":[...]}]',
|
|
91
|
+
}),
|
|
92
|
+
'webdav-settings': Flags.string({
|
|
93
|
+
description: 'Custom WebDAV settings JSON array (replaces defaults). Format: [{"client_id":"...","permissions":[...]}]',
|
|
94
|
+
}),
|
|
95
|
+
'start-scheduler': Flags.string({
|
|
96
|
+
description: 'Start schedule JSON. Format: {"weekdays":["MONDAY",...],"time":"08:00:00+03:00"}',
|
|
97
|
+
}),
|
|
98
|
+
'stop-scheduler': Flags.string({
|
|
99
|
+
description: 'Stop schedule JSON. Format: {"weekdays":["MONDAY",...],"time":"19:00:00Z"}',
|
|
100
|
+
}),
|
|
101
|
+
};
|
|
102
|
+
async run() {
|
|
103
|
+
const realm = this.flags.realm;
|
|
104
|
+
const profile = this.flags.profile;
|
|
105
|
+
const ttl = this.flags.ttl;
|
|
106
|
+
const autoScheduled = this.flags['auto-scheduled'];
|
|
107
|
+
const wait = this.flags.wait;
|
|
108
|
+
const pollInterval = this.flags['poll-interval'];
|
|
109
|
+
const timeout = this.flags.timeout;
|
|
110
|
+
const setPermissions = this.flags['set-permissions'];
|
|
111
|
+
const permissionsClientId = this.flags['permissions-client-id'];
|
|
112
|
+
const ocapiSettingsRaw = this.flags['ocapi-settings'];
|
|
113
|
+
const webdavSettingsRaw = this.flags['webdav-settings'];
|
|
114
|
+
const startSchedulerRaw = this.flags['start-scheduler'];
|
|
115
|
+
const stopSchedulerRaw = this.flags['stop-scheduler'];
|
|
116
|
+
this.log(t('commands.sandbox.create.creating', 'Creating sandbox in realm {{realm}}...', { realm }));
|
|
117
|
+
this.log(t('commands.sandbox.create.profile', 'Profile: {{profile}}', { profile }));
|
|
118
|
+
this.log(t('commands.sandbox.create.ttl', 'TTL: {{ttl}} hours', { ttl: ttl === 0 ? 'infinite' : String(ttl) }));
|
|
119
|
+
// Build settings with OCAPI and WebDAV permissions if enabled
|
|
120
|
+
const settings = this.buildSettings({
|
|
121
|
+
setPermissions,
|
|
122
|
+
permissionsClientId,
|
|
123
|
+
ocapiSettings: ocapiSettingsRaw,
|
|
124
|
+
webdavSettings: webdavSettingsRaw,
|
|
125
|
+
});
|
|
126
|
+
if (settings) {
|
|
127
|
+
const effectiveClientId = permissionsClientId || this.resolvedConfig.values.clientId;
|
|
128
|
+
const hasCustom = ocapiSettingsRaw || webdavSettingsRaw;
|
|
129
|
+
this.log(t('commands.sandbox.create.settingPermissions', 'Setting OCAPI and WebDAV permissions for client ID: {{clientId}}', { clientId: hasCustom ? 'custom settings' : effectiveClientId }));
|
|
130
|
+
}
|
|
131
|
+
// Parse scheduler flags
|
|
132
|
+
const startScheduler = startSchedulerRaw ? this.parseJsonFlag('start-scheduler', startSchedulerRaw) : undefined;
|
|
133
|
+
const stopScheduler = stopSchedulerRaw ? this.parseJsonFlag('stop-scheduler', stopSchedulerRaw) : undefined;
|
|
134
|
+
const result = await this.odsClient.POST('/sandboxes', {
|
|
135
|
+
body: {
|
|
136
|
+
realm,
|
|
137
|
+
ttl,
|
|
138
|
+
resourceProfile: profile,
|
|
139
|
+
autoScheduled,
|
|
140
|
+
analyticsEnabled: false,
|
|
141
|
+
settings,
|
|
142
|
+
startScheduler,
|
|
143
|
+
stopScheduler,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
if (!result.data?.data) {
|
|
147
|
+
this.error(t('commands.sandbox.create.error', 'Failed to create sandbox: {{message}}', {
|
|
148
|
+
message: getApiErrorMessage(result.error, result.response),
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
let sandbox = result.data.data;
|
|
152
|
+
this.log('');
|
|
153
|
+
this.logger.info({ sandboxId: sandbox.id }, t('commands.sandbox.create.success', 'Sandbox created successfully'));
|
|
154
|
+
if (wait && sandbox.id) {
|
|
155
|
+
this.log(t('commands.sandbox.create.waiting', 'Waiting for sandbox to get started..'));
|
|
156
|
+
try {
|
|
157
|
+
await waitForSandbox(this.odsClient, {
|
|
158
|
+
sandboxId: sandbox.id,
|
|
159
|
+
targetState: 'started',
|
|
160
|
+
pollIntervalSeconds: pollInterval,
|
|
161
|
+
timeoutSeconds: timeout,
|
|
162
|
+
onPoll: ({ elapsedSeconds, state }) => {
|
|
163
|
+
this.logger.info({ sandboxId: sandbox.id, elapsed: elapsedSeconds, state }, `[${elapsedSeconds}s] State: ${state}`);
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
if (error instanceof SandboxPollingTimeoutError) {
|
|
169
|
+
this.error(t('commands.sandbox.create.timeout', 'Timeout waiting for sandbox after {{seconds}} seconds', {
|
|
170
|
+
seconds: String(error.timeoutSeconds),
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
if (error instanceof SandboxTerminalStateError) {
|
|
174
|
+
if (error.state === 'deleted') {
|
|
175
|
+
this.error(t('commands.sandbox.create.deleted', 'Sandbox was deleted'));
|
|
176
|
+
}
|
|
177
|
+
this.error(t('commands.sandbox.create.failed', 'Sandbox creation failed'));
|
|
178
|
+
}
|
|
179
|
+
if (error instanceof SandboxPollingError) {
|
|
180
|
+
this.error(t('commands.sandbox.create.pollError', 'Failed to fetch sandbox status: {{message}}', {
|
|
181
|
+
message: error.message,
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
186
|
+
const finalResult = await this.odsClient.GET('/sandboxes/{sandboxId}', {
|
|
187
|
+
params: {
|
|
188
|
+
path: { sandboxId: sandbox.id },
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
if (!finalResult.data?.data) {
|
|
192
|
+
this.error(t('commands.sandbox.create.pollError', 'Failed to fetch sandbox status: {{message}}', {
|
|
193
|
+
message: finalResult.response?.statusText || 'Unknown error',
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
196
|
+
sandbox = finalResult.data.data;
|
|
197
|
+
this.log('');
|
|
198
|
+
this.logger.info({ sandboxId: sandbox.id }, t('commands.sandbox.create.ready', 'Sandbox is now ready'));
|
|
199
|
+
}
|
|
200
|
+
if (this.jsonEnabled()) {
|
|
201
|
+
return sandbox;
|
|
202
|
+
}
|
|
203
|
+
this.printSandboxSummary(sandbox);
|
|
204
|
+
return sandbox;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Builds the sandbox settings object with OCAPI and WebDAV permissions.
|
|
208
|
+
* @returns Settings object or undefined if permissions should not be set
|
|
209
|
+
*/
|
|
210
|
+
buildSettings(options) {
|
|
211
|
+
if (!options.setPermissions) {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
const hasCustomOcapi = options.ocapiSettings !== undefined;
|
|
215
|
+
const hasCustomWebdav = options.webdavSettings !== undefined;
|
|
216
|
+
const clientId = options.permissionsClientId || this.resolvedConfig.values.clientId;
|
|
217
|
+
// If no custom settings and no client ID, we can't build defaults
|
|
218
|
+
if (!hasCustomOcapi && !hasCustomWebdav && !clientId) {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
const ocapi = hasCustomOcapi
|
|
222
|
+
? this.parseJsonFlag('ocapi-settings', options.ocapiSettings)
|
|
223
|
+
: clientId
|
|
224
|
+
? [{ client_id: clientId, resources: DEFAULT_OCAPI_RESOURCES }]
|
|
225
|
+
: [];
|
|
226
|
+
const webdav = hasCustomWebdav
|
|
227
|
+
? this.parseJsonFlag('webdav-settings', options.webdavSettings)
|
|
228
|
+
: clientId
|
|
229
|
+
? [{ client_id: clientId, permissions: DEFAULT_WEBDAV_PERMISSIONS }]
|
|
230
|
+
: [];
|
|
231
|
+
return { ocapi, webdav };
|
|
232
|
+
}
|
|
233
|
+
parseJsonFlag(flagName, value) {
|
|
234
|
+
try {
|
|
235
|
+
return JSON.parse(value);
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
this.error(`Invalid JSON for --${flagName}: ${value}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
printSandboxSummary(sandbox) {
|
|
242
|
+
const ui = cliui({ width: process.stdout.columns || 80 });
|
|
243
|
+
ui.div({ text: '', padding: [0, 0, 0, 0] });
|
|
244
|
+
const fields = [
|
|
245
|
+
['ID', sandbox.id],
|
|
246
|
+
['Realm', sandbox.realm],
|
|
247
|
+
['Instance', sandbox.instance],
|
|
248
|
+
['State', sandbox.state],
|
|
249
|
+
['Profile', sandbox.resourceProfile],
|
|
250
|
+
['Hostname', sandbox.hostName],
|
|
251
|
+
];
|
|
252
|
+
for (const [label, value] of fields) {
|
|
253
|
+
if (value !== undefined) {
|
|
254
|
+
ui.div({ text: `${label}:`, width: 15, padding: [0, 2, 0, 0] }, { text: value, padding: [0, 0, 0, 0] });
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
if (sandbox.links?.bm) {
|
|
258
|
+
ui.div({ text: '', padding: [0, 0, 0, 0] });
|
|
259
|
+
ui.div({ text: 'BM URL:', width: 15, padding: [0, 2, 0, 0] }, { text: sandbox.links.bm, padding: [0, 0, 0, 0] });
|
|
260
|
+
}
|
|
261
|
+
ux.stdout(ui.toString());
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=create.js.map
|