@salesforce/b2c-cli 0.0.0-nightly.20260122024142 → 0.0.0-nightly.20260122144746
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/dist/commands/ecdn/cache/purge.d.ts +43 -0
- package/dist/commands/ecdn/cache/purge.js +104 -0
- package/dist/commands/ecdn/cache/purge.js.map +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +44 -0
- package/dist/commands/ecdn/certificates/add.js +109 -0
- package/dist/commands/ecdn/certificates/add.js.map +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +41 -0
- package/dist/commands/ecdn/certificates/delete.js +69 -0
- package/dist/commands/ecdn/certificates/delete.js.map +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +46 -0
- package/dist/commands/ecdn/certificates/list.js +124 -0
- package/dist/commands/ecdn/certificates/list.js.map +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +45 -0
- package/dist/commands/ecdn/certificates/update.js +104 -0
- package/dist/commands/ecdn/certificates/update.js.map +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +40 -0
- package/dist/commands/ecdn/certificates/validate.js +68 -0
- package/dist/commands/ecdn/certificates/validate.js.map +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +39 -0
- package/dist/commands/ecdn/cipher-suites/get.js +63 -0
- package/dist/commands/ecdn/cipher-suites/get.js.map +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +41 -0
- package/dist/commands/ecdn/cipher-suites/update.js +81 -0
- package/dist/commands/ecdn/cipher-suites/update.js.map +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +45 -0
- package/dist/commands/ecdn/logpush/jobs/create.js +103 -0
- package/dist/commands/ecdn/logpush/jobs/create.js.map +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +39 -0
- package/dist/commands/ecdn/logpush/jobs/delete.js +50 -0
- package/dist/commands/ecdn/logpush/jobs/delete.js.map +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +40 -0
- package/dist/commands/ecdn/logpush/jobs/get.js +85 -0
- package/dist/commands/ecdn/logpush/jobs/get.js.map +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +43 -0
- package/dist/commands/ecdn/logpush/jobs/list.js +124 -0
- package/dist/commands/ecdn/logpush/jobs/list.js.map +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +43 -0
- package/dist/commands/ecdn/logpush/jobs/update.js +94 -0
- package/dist/commands/ecdn/logpush/jobs/update.js.map +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +39 -0
- package/dist/commands/ecdn/logpush/ownership.js +72 -0
- package/dist/commands/ecdn/logpush/ownership.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +42 -0
- package/dist/commands/ecdn/mrt-rules/create.js +81 -0
- package/dist/commands/ecdn/mrt-rules/create.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +39 -0
- package/dist/commands/ecdn/mrt-rules/delete.js +52 -0
- package/dist/commands/ecdn/mrt-rules/delete.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +39 -0
- package/dist/commands/ecdn/mrt-rules/get.js +89 -0
- package/dist/commands/ecdn/mrt-rules/get.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +40 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.js +57 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +44 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.js +88 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.js.map +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +43 -0
- package/dist/commands/ecdn/mrt-rules/update.js +87 -0
- package/dist/commands/ecdn/mrt-rules/update.js.map +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +41 -0
- package/dist/commands/ecdn/mtls/create.js +84 -0
- package/dist/commands/ecdn/mtls/create.js.map +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +38 -0
- package/dist/commands/ecdn/mtls/delete.js +53 -0
- package/dist/commands/ecdn/mtls/delete.js.map +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +39 -0
- package/dist/commands/ecdn/mtls/get.js +72 -0
- package/dist/commands/ecdn/mtls/get.js.map +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +42 -0
- package/dist/commands/ecdn/mtls/list.js +118 -0
- package/dist/commands/ecdn/mtls/list.js.map +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +37 -0
- package/dist/commands/ecdn/origin-headers/delete.js +46 -0
- package/dist/commands/ecdn/origin-headers/delete.js.map +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +39 -0
- package/dist/commands/ecdn/origin-headers/get.js +61 -0
- package/dist/commands/ecdn/origin-headers/get.js.map +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +41 -0
- package/dist/commands/ecdn/origin-headers/set.js +76 -0
- package/dist/commands/ecdn/origin-headers/set.js.map +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +41 -0
- package/dist/commands/ecdn/page-shield/notifications/create.js +84 -0
- package/dist/commands/ecdn/page-shield/notifications/create.js.map +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +38 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.js +53 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.js.map +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +42 -0
- package/dist/commands/ecdn/page-shield/notifications/list.js +118 -0
- package/dist/commands/ecdn/page-shield/notifications/list.js.map +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +44 -0
- package/dist/commands/ecdn/page-shield/policies/create.js +100 -0
- package/dist/commands/ecdn/page-shield/policies/create.js.map +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +39 -0
- package/dist/commands/ecdn/page-shield/policies/delete.js +56 -0
- package/dist/commands/ecdn/page-shield/policies/delete.js.map +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +40 -0
- package/dist/commands/ecdn/page-shield/policies/get.js +72 -0
- package/dist/commands/ecdn/page-shield/policies/get.js.map +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +43 -0
- package/dist/commands/ecdn/page-shield/policies/list.js +119 -0
- package/dist/commands/ecdn/page-shield/policies/list.js.map +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +45 -0
- package/dist/commands/ecdn/page-shield/policies/update.js +110 -0
- package/dist/commands/ecdn/page-shield/policies/update.js.map +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +40 -0
- package/dist/commands/ecdn/page-shield/scripts/get.js +99 -0
- package/dist/commands/ecdn/page-shield/scripts/get.js.map +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +43 -0
- package/dist/commands/ecdn/page-shield/scripts/list.js +124 -0
- package/dist/commands/ecdn/page-shield/scripts/list.js.map +1 -0
- package/dist/commands/ecdn/security/get.d.ts +39 -0
- package/dist/commands/ecdn/security/get.js +69 -0
- package/dist/commands/ecdn/security/get.js.map +1 -0
- package/dist/commands/ecdn/security/update.d.ts +47 -0
- package/dist/commands/ecdn/security/update.js +136 -0
- package/dist/commands/ecdn/security/update.js.map +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +39 -0
- package/dist/commands/ecdn/speed/get.js +64 -0
- package/dist/commands/ecdn/speed/get.js.map +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +46 -0
- package/dist/commands/ecdn/speed/update.js +105 -0
- package/dist/commands/ecdn/speed/update.js.map +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +42 -0
- package/dist/commands/ecdn/waf/groups/list.js +89 -0
- package/dist/commands/ecdn/waf/groups/list.js.map +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +43 -0
- package/dist/commands/ecdn/waf/groups/update.js +84 -0
- package/dist/commands/ecdn/waf/groups/update.js.map +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +44 -0
- package/dist/commands/ecdn/waf/managed-rules/list.js +124 -0
- package/dist/commands/ecdn/waf/managed-rules/list.js.map +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +43 -0
- package/dist/commands/ecdn/waf/managed-rules/update.js +94 -0
- package/dist/commands/ecdn/waf/managed-rules/update.js.map +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +40 -0
- package/dist/commands/ecdn/waf/migrate.js +83 -0
- package/dist/commands/ecdn/waf/migrate.js.map +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +40 -0
- package/dist/commands/ecdn/waf/owasp/get.js +64 -0
- package/dist/commands/ecdn/waf/owasp/get.js.map +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +42 -0
- package/dist/commands/ecdn/waf/owasp/update.js +79 -0
- package/dist/commands/ecdn/waf/owasp/update.js.map +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +41 -0
- package/dist/commands/ecdn/waf/rules/get.js +68 -0
- package/dist/commands/ecdn/waf/rules/get.js.map +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +45 -0
- package/dist/commands/ecdn/waf/rules/list.js +120 -0
- package/dist/commands/ecdn/waf/rules/list.js.map +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +42 -0
- package/dist/commands/ecdn/waf/rules/update.js +77 -0
- package/dist/commands/ecdn/waf/rules/update.js.map +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +43 -0
- package/dist/commands/ecdn/waf/rulesets/list.js +119 -0
- package/dist/commands/ecdn/waf/rulesets/list.js.map +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +44 -0
- package/dist/commands/ecdn/waf/rulesets/update.js +101 -0
- package/dist/commands/ecdn/waf/rulesets/update.js.map +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +40 -0
- package/dist/commands/ecdn/zones/create.js +71 -0
- package/dist/commands/ecdn/zones/create.js.map +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +44 -0
- package/dist/commands/ecdn/zones/list.js +112 -0
- package/dist/commands/ecdn/zones/list.js.map +1 -0
- package/dist/commands/mrt/{push.d.ts → bundle/deploy.d.ts} +24 -9
- package/dist/commands/mrt/bundle/deploy.js +182 -0
- package/dist/commands/mrt/bundle/deploy.js.map +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +40 -0
- package/dist/commands/mrt/bundle/download.js +109 -0
- package/dist/commands/mrt/bundle/download.js.map +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +30 -0
- package/dist/commands/mrt/bundle/history.js +90 -0
- package/dist/commands/mrt/bundle/history.js.map +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +30 -0
- package/dist/commands/mrt/bundle/list.js +79 -0
- package/dist/commands/mrt/bundle/list.js.map +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +30 -0
- package/dist/commands/mrt/env/access-control/list.js +83 -0
- package/dist/commands/mrt/env/access-control/list.js.map +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +32 -0
- package/dist/commands/mrt/env/b2c.js +120 -0
- package/dist/commands/mrt/env/b2c.js.map +1 -0
- package/dist/commands/mrt/env/get.d.ts +28 -0
- package/dist/commands/mrt/env/get.js +98 -0
- package/dist/commands/mrt/env/get.js.map +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +29 -0
- package/dist/commands/mrt/env/invalidate.js +66 -0
- package/dist/commands/mrt/env/invalidate.js.map +1 -0
- package/dist/commands/mrt/env/list.d.ts +28 -0
- package/dist/commands/mrt/env/list.js +68 -0
- package/dist/commands/mrt/env/list.js.map +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +31 -0
- package/dist/commands/mrt/env/redirect/clone.js +95 -0
- package/dist/commands/mrt/env/redirect/clone.js.map +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +33 -0
- package/dist/commands/mrt/env/redirect/create.js +87 -0
- package/dist/commands/mrt/env/redirect/create.js.map +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +34 -0
- package/dist/commands/mrt/env/redirect/delete.js +92 -0
- package/dist/commands/mrt/env/redirect/delete.js.map +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +31 -0
- package/dist/commands/mrt/env/redirect/list.js +90 -0
- package/dist/commands/mrt/env/redirect/list.js.map +1 -0
- package/dist/commands/mrt/env/update.d.ts +37 -0
- package/dist/commands/mrt/env/update.js +173 -0
- package/dist/commands/mrt/env/update.js.map +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +31 -0
- package/dist/commands/mrt/org/b2c.js +55 -0
- package/dist/commands/mrt/org/b2c.js.map +1 -0
- package/dist/commands/mrt/org/list.d.ts +30 -0
- package/dist/commands/mrt/org/list.js +70 -0
- package/dist/commands/mrt/org/list.js.map +1 -0
- package/dist/commands/mrt/project/create.d.ts +35 -0
- package/dist/commands/mrt/project/create.js +129 -0
- package/dist/commands/mrt/project/create.js.map +1 -0
- package/dist/commands/mrt/project/delete.d.ts +39 -0
- package/dist/commands/mrt/project/delete.js +81 -0
- package/dist/commands/mrt/project/delete.js.map +1 -0
- package/dist/commands/mrt/project/get.d.ts +31 -0
- package/dist/commands/mrt/project/get.js +79 -0
- package/dist/commands/mrt/project/get.js.map +1 -0
- package/dist/commands/mrt/project/list.d.ts +31 -0
- package/dist/commands/mrt/project/list.js +80 -0
- package/dist/commands/mrt/project/list.js.map +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +32 -0
- package/dist/commands/mrt/project/member/add.js +73 -0
- package/dist/commands/mrt/project/member/add.js.map +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +31 -0
- package/dist/commands/mrt/project/member/get.js +70 -0
- package/dist/commands/mrt/project/member/get.js.map +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +32 -0
- package/dist/commands/mrt/project/member/list.js +82 -0
- package/dist/commands/mrt/project/member/list.js.map +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +34 -0
- package/dist/commands/mrt/project/member/remove.js +89 -0
- package/dist/commands/mrt/project/member/remove.js.map +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +32 -0
- package/dist/commands/mrt/project/member/update.js +72 -0
- package/dist/commands/mrt/project/member/update.js.map +1 -0
- package/dist/commands/mrt/project/notification/create.d.ts +33 -0
- package/dist/commands/mrt/project/notification/create.js +86 -0
- package/dist/commands/mrt/project/notification/create.js.map +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +34 -0
- package/dist/commands/mrt/project/notification/delete.js +88 -0
- package/dist/commands/mrt/project/notification/delete.js.map +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +31 -0
- package/dist/commands/mrt/project/notification/get.js +86 -0
- package/dist/commands/mrt/project/notification/get.js.map +1 -0
- package/dist/commands/mrt/project/notification/list.d.ts +31 -0
- package/dist/commands/mrt/project/notification/list.js +88 -0
- package/dist/commands/mrt/project/notification/list.js.map +1 -0
- package/dist/commands/mrt/project/notification/update.d.ts +36 -0
- package/dist/commands/mrt/project/notification/update.js +86 -0
- package/dist/commands/mrt/project/notification/update.js.map +1 -0
- package/dist/commands/mrt/project/update.d.ts +34 -0
- package/dist/commands/mrt/project/update.js +123 -0
- package/dist/commands/mrt/project/update.js.map +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +30 -0
- package/dist/commands/mrt/user/api-key.js +63 -0
- package/dist/commands/mrt/user/api-key.js.map +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +30 -0
- package/dist/commands/mrt/user/email-prefs.js +83 -0
- package/dist/commands/mrt/user/email-prefs.js.map +1 -0
- package/dist/commands/mrt/user/profile.d.ts +28 -0
- package/dist/commands/mrt/user/profile.js +50 -0
- package/dist/commands/mrt/user/profile.js.map +1 -0
- package/dist/commands/ods/create.d.ts +1 -1
- package/dist/commands/ods/create.js +2 -3
- package/dist/commands/ods/create.js.map +1 -1
- package/dist/commands/ods/delete.js +2 -3
- package/dist/commands/ods/delete.js.map +1 -1
- package/dist/commands/ods/list.d.ts +1 -1
- package/dist/commands/ods/list.js +2 -3
- package/dist/commands/ods/list.js.map +1 -1
- package/dist/commands/ods/restart.d.ts +1 -1
- package/dist/commands/ods/restart.js +2 -3
- package/dist/commands/ods/restart.js.map +1 -1
- package/dist/commands/ods/start.d.ts +1 -1
- package/dist/commands/ods/start.js +2 -3
- package/dist/commands/ods/start.js.map +1 -1
- package/dist/commands/ods/stop.d.ts +1 -1
- package/dist/commands/ods/stop.js +2 -3
- package/dist/commands/ods/stop.js.map +1 -1
- package/dist/commands/scapi/custom/status.js +3 -3
- package/dist/commands/scapi/custom/status.js.map +1 -1
- package/dist/commands/scapi/schemas/get.js +2 -2
- package/dist/commands/scapi/schemas/get.js.map +1 -1
- package/dist/commands/scapi/schemas/list.js +2 -2
- package/dist/commands/scapi/schemas/list.js.map +1 -1
- package/dist/commands/sites/list.js +5 -2
- package/dist/commands/sites/list.js.map +1 -1
- package/dist/commands/slas/client/create.js +1 -1
- package/dist/commands/slas/client/create.js.map +1 -1
- 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.js +2 -2
- package/dist/commands/slas/client/get.js.map +1 -1
- package/dist/commands/slas/client/list.js +2 -2
- package/dist/commands/slas/client/list.js.map +1 -1
- package/dist/commands/slas/client/update.js +4 -4
- package/dist/commands/slas/client/update.js.map +1 -1
- package/dist/utils/ecdn/base-command.d.ts +46 -0
- package/dist/utils/ecdn/base-command.js +69 -0
- package/dist/utils/ecdn/base-command.js.map +1 -0
- package/dist/utils/ecdn/index.d.ts +2 -0
- package/dist/utils/ecdn/index.js +8 -0
- package/dist/utils/ecdn/index.js.map +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +42 -0
- package/dist/utils/ecdn/zone-command.js +75 -0
- package/dist/utils/ecdn/zone-command.js.map +1 -0
- package/dist/utils/scapi/schemas.d.ts +1 -1
- package/dist/utils/scapi/schemas.js +3 -3
- package/dist/utils/scapi/schemas.js.map +1 -1
- package/dist/utils/slas/client.d.ts +1 -1
- package/dist/utils/slas/client.js +6 -6
- package/dist/utils/slas/client.js.map +1 -1
- package/oclif.manifest.json +21535 -2858
- package/package.json +118 -8
- package/dist/commands/mrt/push.js +0 -125
- package/dist/commands/mrt/push.js.map +0 -1
|
@@ -0,0 +1,119 @@
|
|
|
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 } from '@oclif/core';
|
|
7
|
+
import { TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { EcdnZoneCommand, formatApiError } from '../../../../utils/ecdn/index.js';
|
|
9
|
+
import { t } from '../../../../i18n/index.js';
|
|
10
|
+
const COLUMNS = {
|
|
11
|
+
rulesetId: {
|
|
12
|
+
header: 'Ruleset ID',
|
|
13
|
+
get: (r) => r.rulesetId || '-',
|
|
14
|
+
},
|
|
15
|
+
name: {
|
|
16
|
+
header: 'Name',
|
|
17
|
+
get: (r) => r.name || '-',
|
|
18
|
+
},
|
|
19
|
+
enabled: {
|
|
20
|
+
header: 'Enabled',
|
|
21
|
+
get: (r) => (r.enabled ? 'yes' : 'no'),
|
|
22
|
+
},
|
|
23
|
+
action: {
|
|
24
|
+
header: 'Action',
|
|
25
|
+
get: (r) => r.action || '-',
|
|
26
|
+
},
|
|
27
|
+
paranoiaLevel: {
|
|
28
|
+
header: 'Paranoia',
|
|
29
|
+
get: (r) => (r.paranoiaLevel === undefined ? '-' : String(r.paranoiaLevel)),
|
|
30
|
+
extended: true,
|
|
31
|
+
},
|
|
32
|
+
anomalyScore: {
|
|
33
|
+
header: 'Anomaly Score',
|
|
34
|
+
get: (r) => r.anomalyScore || '-',
|
|
35
|
+
extended: true,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const DEFAULT_COLUMNS = ['name', 'enabled', 'action'];
|
|
39
|
+
const tableRenderer = new TableRenderer(COLUMNS);
|
|
40
|
+
/**
|
|
41
|
+
* Command to list WAF v2 managed rulesets for a zone.
|
|
42
|
+
*/
|
|
43
|
+
export default class EcdnWafRulesetsList extends EcdnZoneCommand {
|
|
44
|
+
static description = t('commands.ecdn.waf.rulesets.list.description', 'List WAF v2 managed rulesets for a zone');
|
|
45
|
+
static enableJsonFlag = true;
|
|
46
|
+
static examples = [
|
|
47
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone',
|
|
48
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --extended',
|
|
49
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --json',
|
|
50
|
+
];
|
|
51
|
+
static flags = {
|
|
52
|
+
...EcdnZoneCommand.baseFlags,
|
|
53
|
+
columns: Flags.string({
|
|
54
|
+
char: 'c',
|
|
55
|
+
description: `Columns to display (comma-separated). Available: ${Object.keys(COLUMNS).join(', ')}`,
|
|
56
|
+
}),
|
|
57
|
+
extended: Flags.boolean({
|
|
58
|
+
char: 'x',
|
|
59
|
+
description: t('flags.extended.description', 'Show all columns including extended fields'),
|
|
60
|
+
default: false,
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
async run() {
|
|
64
|
+
this.requireOAuthCredentials();
|
|
65
|
+
const zoneId = await this.resolveZoneId();
|
|
66
|
+
if (!this.jsonEnabled()) {
|
|
67
|
+
this.log(t('commands.ecdn.waf.rulesets.list.fetching', 'Fetching WAF v2 rulesets...'));
|
|
68
|
+
}
|
|
69
|
+
const client = this.getCdnZonesClient();
|
|
70
|
+
const organizationId = this.getOrganizationId();
|
|
71
|
+
const { data, error } = await client.GET('/organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets', {
|
|
72
|
+
params: {
|
|
73
|
+
path: { organizationId, zoneId },
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
if (error) {
|
|
77
|
+
this.error(t('commands.ecdn.waf.rulesets.list.error', 'Failed to fetch WAF rulesets: {{message}}', {
|
|
78
|
+
message: formatApiError(error),
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
const rulesets = data?.data ?? [];
|
|
82
|
+
const output = {
|
|
83
|
+
rulesets,
|
|
84
|
+
total: rulesets.length,
|
|
85
|
+
};
|
|
86
|
+
if (this.jsonEnabled()) {
|
|
87
|
+
return output;
|
|
88
|
+
}
|
|
89
|
+
if (rulesets.length === 0) {
|
|
90
|
+
this.log(t('commands.ecdn.waf.rulesets.list.noRulesets', 'No WAF rulesets found.'));
|
|
91
|
+
return output;
|
|
92
|
+
}
|
|
93
|
+
this.log(t('commands.ecdn.waf.rulesets.list.count', 'Found {{count}} WAF ruleset(s):', {
|
|
94
|
+
count: rulesets.length,
|
|
95
|
+
}));
|
|
96
|
+
this.log('');
|
|
97
|
+
const columns = this.getSelectedColumns();
|
|
98
|
+
tableRenderer.render(rulesets, columns);
|
|
99
|
+
return output;
|
|
100
|
+
}
|
|
101
|
+
getSelectedColumns() {
|
|
102
|
+
const columnsFlag = this.flags.columns;
|
|
103
|
+
const extended = this.flags.extended;
|
|
104
|
+
if (columnsFlag) {
|
|
105
|
+
const requested = columnsFlag.split(',').map((c) => c.trim());
|
|
106
|
+
const valid = tableRenderer.validateColumnKeys(requested);
|
|
107
|
+
if (valid.length === 0) {
|
|
108
|
+
this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
|
|
109
|
+
return DEFAULT_COLUMNS;
|
|
110
|
+
}
|
|
111
|
+
return valid;
|
|
112
|
+
}
|
|
113
|
+
if (extended) {
|
|
114
|
+
return tableRenderer.getColumnKeys();
|
|
115
|
+
}
|
|
116
|
+
return DEFAULT_COLUMNS;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/ecdn/waf/rulesets/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CdnZonesComponents } from '@salesforce/b2c-tooling-sdk/clients';
|
|
2
|
+
import { EcdnZoneCommand } from '../../../../utils/ecdn/index.js';
|
|
3
|
+
type WAFManagedRuleset = CdnZonesComponents['schemas']['WAFManagedRuleset'];
|
|
4
|
+
/**
|
|
5
|
+
* Response type for the update command.
|
|
6
|
+
*/
|
|
7
|
+
interface UpdateOutput {
|
|
8
|
+
ruleset: WAFManagedRuleset;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Command to update a WAF v2 managed ruleset for a zone.
|
|
12
|
+
*/
|
|
13
|
+
export default class EcdnWafRulesetsUpdate extends EcdnZoneCommand<typeof EcdnWafRulesetsUpdate> {
|
|
14
|
+
static description: string;
|
|
15
|
+
static enableJsonFlag: boolean;
|
|
16
|
+
static examples: string[];
|
|
17
|
+
static flags: {
|
|
18
|
+
'ruleset-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
enabled: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
action: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'anomaly-score': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'paranoia-level': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
zone: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
33
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
34
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
37
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
41
|
+
};
|
|
42
|
+
run(): Promise<UpdateOutput>;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
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 { EcdnZoneCommand, formatApiError } from '../../../../utils/ecdn/index.js';
|
|
9
|
+
import { t } from '../../../../i18n/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Command to update a WAF v2 managed ruleset for a zone.
|
|
12
|
+
*/
|
|
13
|
+
export default class EcdnWafRulesetsUpdate extends EcdnZoneCommand {
|
|
14
|
+
static description = t('commands.ecdn.waf.rulesets.update.description', 'Update a WAF v2 managed ruleset for a zone');
|
|
15
|
+
static enableJsonFlag = true;
|
|
16
|
+
static examples = [
|
|
17
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --enabled',
|
|
18
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --action block',
|
|
19
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --paranoia-level 2',
|
|
20
|
+
];
|
|
21
|
+
static flags = {
|
|
22
|
+
...EcdnZoneCommand.baseFlags,
|
|
23
|
+
'ruleset-id': Flags.string({
|
|
24
|
+
description: t('flags.rulesetId.description', 'WAF ruleset ID to update'),
|
|
25
|
+
required: true,
|
|
26
|
+
}),
|
|
27
|
+
enabled: Flags.boolean({
|
|
28
|
+
description: t('flags.enabled.description', 'Enable the ruleset'),
|
|
29
|
+
allowNo: true,
|
|
30
|
+
}),
|
|
31
|
+
action: Flags.string({
|
|
32
|
+
description: t('flags.action.description', 'Action for the ruleset (e.g., default, block, challenge)'),
|
|
33
|
+
}),
|
|
34
|
+
'anomaly-score': Flags.string({
|
|
35
|
+
description: t('flags.anomalyScore.description', 'Anomaly score threshold (for OWASP ruleset)'),
|
|
36
|
+
}),
|
|
37
|
+
'paranoia-level': Flags.integer({
|
|
38
|
+
description: t('flags.paranoiaLevel.description', 'Paranoia level 1-4 (for OWASP ruleset)'),
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
async run() {
|
|
42
|
+
this.requireOAuthCredentials();
|
|
43
|
+
const zoneId = await this.resolveZoneId();
|
|
44
|
+
const rulesetId = this.flags['ruleset-id'];
|
|
45
|
+
if (!this.jsonEnabled()) {
|
|
46
|
+
this.log(t('commands.ecdn.waf.rulesets.update.updating', 'Updating WAF ruleset {{id}}...', { id: rulesetId }));
|
|
47
|
+
}
|
|
48
|
+
const body = {};
|
|
49
|
+
if (this.flags.enabled !== undefined) {
|
|
50
|
+
body.enabled = this.flags.enabled;
|
|
51
|
+
}
|
|
52
|
+
if (this.flags.action) {
|
|
53
|
+
body.action = this.flags.action;
|
|
54
|
+
}
|
|
55
|
+
if (this.flags['anomaly-score']) {
|
|
56
|
+
body.anomalyScore = this.flags['anomaly-score'];
|
|
57
|
+
}
|
|
58
|
+
if (this.flags['paranoia-level'] !== undefined) {
|
|
59
|
+
body.paranoiaLevel = this.flags['paranoia-level'];
|
|
60
|
+
}
|
|
61
|
+
const client = this.getCdnZonesRwClient();
|
|
62
|
+
const organizationId = this.getOrganizationId();
|
|
63
|
+
const { data, error } = await client.PATCH('/organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}', {
|
|
64
|
+
params: {
|
|
65
|
+
path: { organizationId, zoneId, rulesetId },
|
|
66
|
+
},
|
|
67
|
+
body,
|
|
68
|
+
});
|
|
69
|
+
if (error) {
|
|
70
|
+
this.error(t('commands.ecdn.waf.rulesets.update.error', 'Failed to update WAF ruleset: {{message}}', {
|
|
71
|
+
message: formatApiError(error),
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
const ruleset = data?.data;
|
|
75
|
+
if (!ruleset) {
|
|
76
|
+
this.error(t('commands.ecdn.waf.rulesets.update.noData', 'No WAF ruleset data returned from API'));
|
|
77
|
+
}
|
|
78
|
+
const output = { ruleset };
|
|
79
|
+
if (this.jsonEnabled()) {
|
|
80
|
+
return output;
|
|
81
|
+
}
|
|
82
|
+
const ui = cliui({ width: process.stdout.columns || 80 });
|
|
83
|
+
const labelWidth = 18;
|
|
84
|
+
ui.div('');
|
|
85
|
+
ui.div({ text: t('commands.ecdn.waf.rulesets.update.success', 'WAF ruleset updated successfully!') });
|
|
86
|
+
ui.div('');
|
|
87
|
+
ui.div({ text: 'Ruleset ID:', width: labelWidth }, { text: ruleset.rulesetId });
|
|
88
|
+
ui.div({ text: 'Name:', width: labelWidth }, { text: ruleset.name });
|
|
89
|
+
ui.div({ text: 'Enabled:', width: labelWidth }, { text: ruleset.enabled ? 'yes' : 'no' });
|
|
90
|
+
ui.div({ text: 'Action:', width: labelWidth }, { text: ruleset.action });
|
|
91
|
+
if (ruleset.paranoiaLevel !== undefined) {
|
|
92
|
+
ui.div({ text: 'Paranoia Level:', width: labelWidth }, { text: String(ruleset.paranoiaLevel) });
|
|
93
|
+
}
|
|
94
|
+
if (ruleset.anomalyScore) {
|
|
95
|
+
ui.div({ text: 'Anomaly Score:', width: labelWidth }, { text: ruleset.anomalyScore });
|
|
96
|
+
}
|
|
97
|
+
ux.stdout(ui.toString());
|
|
98
|
+
return output;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/ecdn/waf/rulesets/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAE,EAAE,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAC,CAAC,EAAC,MAAM,2BAA2B,CAAC;AAY5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,eAA6C;IAC9F,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,+CAA+C,EAAE,4CAA4C,CAAC,CAAC;IAEtH,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,uGAAuG;QACvG,4GAA4G;QAC5G,gHAAgH;KACjH,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,eAAe,CAAC,SAAS;QAC5B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,CAAC,CAAC,6BAA6B,EAAE,0BAA0B,CAAC;YACzE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,CAAC,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;YACjE,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,CAAC,CAAC,0BAA0B,EAAE,0DAA0D,CAAC;SACvG,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,CAAC,CAAC,gCAAgC,EAAE,6CAA6C,CAAC;SAChG,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC9B,WAAW,EAAE,CAAC,CAAC,iCAAiC,EAAE,wCAAwC,CAAC;SAC5F,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,4CAA4C,EAAE,gCAAgC,EAAE,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;QAC/G,CAAC;QAED,MAAM,IAAI,GAA6B,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CACtC,sFAAsF,EACtF;YACE,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAC;aAC1C;YACD,IAAI;SACL,CACF,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,yCAAyC,EAAE,2CAA2C,EAAE;gBACxF,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,0CAA0C,EAAE,uCAAuC,CAAC,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,MAAM,GAAiB,EAAC,OAAO,EAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,EAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,2CAA2C,EAAE,mCAAmC,CAAC,EAAC,CAAC,CAAC;QACpG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;QACjE,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC;QACtF,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAC,CAAC,CAAC;QACpF,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EcdnCommand } from '../../../utils/ecdn/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Response type for the create command.
|
|
4
|
+
*/
|
|
5
|
+
interface CreateOutput {
|
|
6
|
+
zoneId: string;
|
|
7
|
+
zoneName: string;
|
|
8
|
+
status: string;
|
|
9
|
+
createdOn: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Command to create a new storefront zone.
|
|
13
|
+
*/
|
|
14
|
+
export default class EcdnZonesCreate extends EcdnCommand<typeof EcdnZonesCreate> {
|
|
15
|
+
static description: string;
|
|
16
|
+
static enableJsonFlag: boolean;
|
|
17
|
+
static examples: string[];
|
|
18
|
+
static flags: {
|
|
19
|
+
'domain-name': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
37
|
+
};
|
|
38
|
+
run(): Promise<CreateOutput>;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
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 } from '@oclif/core';
|
|
7
|
+
import { EcdnCommand, formatApiError } from '../../../utils/ecdn/index.js';
|
|
8
|
+
import { t } from '../../../i18n/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Command to create a new storefront zone.
|
|
11
|
+
*/
|
|
12
|
+
export default class EcdnZonesCreate extends EcdnCommand {
|
|
13
|
+
static description = t('commands.ecdn.zones.create.description', 'Create a new storefront CDN zone');
|
|
14
|
+
static enableJsonFlag = true;
|
|
15
|
+
static examples = [
|
|
16
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --domain-name example.com',
|
|
17
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --domain-name store.example.com --json',
|
|
18
|
+
];
|
|
19
|
+
static flags = {
|
|
20
|
+
...EcdnCommand.baseFlags,
|
|
21
|
+
'domain-name': Flags.string({
|
|
22
|
+
char: 'd',
|
|
23
|
+
description: t('flags.domainName.description', 'Domain name for the storefront zone'),
|
|
24
|
+
required: true,
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
this.requireOAuthCredentials();
|
|
29
|
+
const domainName = this.flags['domain-name'];
|
|
30
|
+
if (!this.jsonEnabled()) {
|
|
31
|
+
this.log(t('commands.ecdn.zones.create.creating', 'Creating storefront zone for {{domain}}...', { domain: domainName }));
|
|
32
|
+
}
|
|
33
|
+
const client = this.getCdnZonesRwClient();
|
|
34
|
+
const organizationId = this.getOrganizationId();
|
|
35
|
+
const { data, error } = await client.POST('/organizations/{organizationId}/storefront-zones', {
|
|
36
|
+
params: {
|
|
37
|
+
path: { organizationId },
|
|
38
|
+
},
|
|
39
|
+
body: {
|
|
40
|
+
domainName,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
if (error) {
|
|
44
|
+
this.error(t('commands.ecdn.zones.create.error', 'Failed to create storefront zone: {{message}}', {
|
|
45
|
+
message: formatApiError(error),
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
const zone = data?.data;
|
|
49
|
+
if (!zone) {
|
|
50
|
+
this.error(t('commands.ecdn.zones.create.noData', 'No zone data returned from API'));
|
|
51
|
+
}
|
|
52
|
+
const output = {
|
|
53
|
+
zoneId: zone.zoneId,
|
|
54
|
+
zoneName: zone.zoneName,
|
|
55
|
+
status: zone.status,
|
|
56
|
+
createdOn: zone.createdOn,
|
|
57
|
+
};
|
|
58
|
+
if (this.jsonEnabled()) {
|
|
59
|
+
return output;
|
|
60
|
+
}
|
|
61
|
+
this.log('');
|
|
62
|
+
this.log(t('commands.ecdn.zones.create.success', 'Storefront zone created successfully!'));
|
|
63
|
+
this.log('');
|
|
64
|
+
this.log(` Zone ID: ${output.zoneId}`);
|
|
65
|
+
this.log(` Zone Name: ${output.zoneName}`);
|
|
66
|
+
this.log(` Status: ${output.status}`);
|
|
67
|
+
this.log(` Created On: ${output.createdOn}`);
|
|
68
|
+
return output;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/ecdn/zones/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Zone } from '@salesforce/b2c-tooling-sdk/clients';
|
|
2
|
+
import { EcdnCommand } from '../../../utils/ecdn/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Response type for the list command.
|
|
5
|
+
*/
|
|
6
|
+
interface ListOutput {
|
|
7
|
+
zones: Zone[];
|
|
8
|
+
total: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Command to list eCDN zones.
|
|
12
|
+
*/
|
|
13
|
+
export default class EcdnZonesList extends EcdnCommand<typeof EcdnZonesList> {
|
|
14
|
+
static description: string;
|
|
15
|
+
static enableJsonFlag: boolean;
|
|
16
|
+
static examples: string[];
|
|
17
|
+
static flags: {
|
|
18
|
+
columns: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
|
+
lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
32
|
+
instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
33
|
+
'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
|
+
'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
|
+
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
36
|
+
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
37
|
+
};
|
|
38
|
+
run(): Promise<ListOutput>;
|
|
39
|
+
/**
|
|
40
|
+
* Determines which columns to display based on flags.
|
|
41
|
+
*/
|
|
42
|
+
private getSelectedColumns;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,112 @@
|
|
|
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 } from '@oclif/core';
|
|
7
|
+
import { TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
|
|
8
|
+
import { EcdnCommand, formatApiError } from '../../../utils/ecdn/index.js';
|
|
9
|
+
import { t } from '../../../i18n/index.js';
|
|
10
|
+
const COLUMNS = {
|
|
11
|
+
zoneId: {
|
|
12
|
+
header: 'Zone ID',
|
|
13
|
+
get: (z) => z.zoneId || '-',
|
|
14
|
+
extended: true,
|
|
15
|
+
},
|
|
16
|
+
name: {
|
|
17
|
+
header: 'Name',
|
|
18
|
+
get: (z) => z.name || '-',
|
|
19
|
+
},
|
|
20
|
+
status: {
|
|
21
|
+
header: 'Status',
|
|
22
|
+
get: (z) => z.status || '-',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
/** Default columns shown without --extended */
|
|
26
|
+
const DEFAULT_COLUMNS = ['name', 'status'];
|
|
27
|
+
const tableRenderer = new TableRenderer(COLUMNS);
|
|
28
|
+
/**
|
|
29
|
+
* Command to list eCDN zones.
|
|
30
|
+
*/
|
|
31
|
+
export default class EcdnZonesList extends EcdnCommand {
|
|
32
|
+
static description = t('commands.ecdn.zones.list.description', 'List all eCDN zones for the organization');
|
|
33
|
+
static enableJsonFlag = true;
|
|
34
|
+
static examples = [
|
|
35
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd',
|
|
36
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --extended',
|
|
37
|
+
'<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --json',
|
|
38
|
+
];
|
|
39
|
+
static flags = {
|
|
40
|
+
...EcdnCommand.baseFlags,
|
|
41
|
+
columns: Flags.string({
|
|
42
|
+
char: 'c',
|
|
43
|
+
description: `Columns to display (comma-separated). Available: ${Object.keys(COLUMNS).join(', ')}`,
|
|
44
|
+
}),
|
|
45
|
+
extended: Flags.boolean({
|
|
46
|
+
char: 'x',
|
|
47
|
+
description: t('flags.extended.description', 'Show all columns including extended fields'),
|
|
48
|
+
default: false,
|
|
49
|
+
}),
|
|
50
|
+
};
|
|
51
|
+
async run() {
|
|
52
|
+
this.requireOAuthCredentials();
|
|
53
|
+
if (!this.jsonEnabled()) {
|
|
54
|
+
this.log(t('commands.ecdn.zones.list.fetching', 'Fetching eCDN zones...'));
|
|
55
|
+
}
|
|
56
|
+
const client = this.getCdnZonesClient();
|
|
57
|
+
const organizationId = this.getOrganizationId();
|
|
58
|
+
const { data, error } = await client.GET('/organizations/{organizationId}/zones/info', {
|
|
59
|
+
params: {
|
|
60
|
+
path: { organizationId },
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
if (error) {
|
|
64
|
+
this.error(t('commands.ecdn.zones.list.error', 'Failed to fetch eCDN zones: {{message}}', {
|
|
65
|
+
message: formatApiError(error),
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
const zones = data?.data ?? [];
|
|
69
|
+
const output = {
|
|
70
|
+
zones,
|
|
71
|
+
total: zones.length,
|
|
72
|
+
};
|
|
73
|
+
if (this.jsonEnabled()) {
|
|
74
|
+
return output;
|
|
75
|
+
}
|
|
76
|
+
if (zones.length === 0) {
|
|
77
|
+
this.log(t('commands.ecdn.zones.list.noZones', 'No eCDN zones found.'));
|
|
78
|
+
return output;
|
|
79
|
+
}
|
|
80
|
+
this.log(t('commands.ecdn.zones.list.count', 'Found {{count}} zone(s):', {
|
|
81
|
+
count: zones.length,
|
|
82
|
+
}));
|
|
83
|
+
this.log('');
|
|
84
|
+
const columns = this.getSelectedColumns();
|
|
85
|
+
tableRenderer.render(zones, columns);
|
|
86
|
+
return output;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Determines which columns to display based on flags.
|
|
90
|
+
*/
|
|
91
|
+
getSelectedColumns() {
|
|
92
|
+
const columnsFlag = this.flags.columns;
|
|
93
|
+
const extended = this.flags.extended;
|
|
94
|
+
if (columnsFlag) {
|
|
95
|
+
// User specified explicit columns
|
|
96
|
+
const requested = columnsFlag.split(',').map((c) => c.trim());
|
|
97
|
+
const valid = tableRenderer.validateColumnKeys(requested);
|
|
98
|
+
if (valid.length === 0) {
|
|
99
|
+
this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
|
|
100
|
+
return DEFAULT_COLUMNS;
|
|
101
|
+
}
|
|
102
|
+
return valid;
|
|
103
|
+
}
|
|
104
|
+
if (extended) {
|
|
105
|
+
// Show all columns
|
|
106
|
+
return tableRenderer.getColumnKeys();
|
|
107
|
+
}
|
|
108
|
+
// Default columns (non-extended)
|
|
109
|
+
return DEFAULT_COLUMNS;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ecdn/zones/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
|
|
2
|
-
import {
|
|
2
|
+
import { type PushResult, type CreateDeploymentResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
3
|
+
type DeployResult = CreateDeploymentResult | PushResult;
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* Deploy a bundle to Managed Runtime.
|
|
5
6
|
*
|
|
6
|
-
* Creates a bundle from the build directory and uploads it
|
|
7
|
-
*
|
|
7
|
+
* Without bundleId: Creates a bundle from the local build directory and uploads it.
|
|
8
|
+
* Optionally deploys to a target environment if --environment is specified.
|
|
9
|
+
*
|
|
10
|
+
* With bundleId: Deploys an existing bundle to the specified environment.
|
|
8
11
|
*/
|
|
9
|
-
export default class
|
|
12
|
+
export default class MrtBundleDeploy extends MrtCommand<typeof MrtBundleDeploy> {
|
|
13
|
+
static args: {
|
|
14
|
+
bundleId: import("@oclif/core/interfaces").Arg<number | undefined, {
|
|
15
|
+
max?: number;
|
|
16
|
+
min?: number;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
10
19
|
static description: string;
|
|
11
20
|
static enableJsonFlag: boolean;
|
|
12
21
|
static examples: string[];
|
|
@@ -33,8 +42,14 @@ export default class MrtPush extends MrtCommand<typeof MrtPush> {
|
|
|
33
42
|
'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
34
43
|
'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
35
44
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
run(): Promise<DeployResult>;
|
|
46
|
+
/**
|
|
47
|
+
* Deploy an existing bundle to an environment.
|
|
48
|
+
*/
|
|
49
|
+
private deployExistingBundle;
|
|
50
|
+
/**
|
|
51
|
+
* Push a local build to create a new bundle.
|
|
52
|
+
*/
|
|
53
|
+
private pushLocalBuild;
|
|
40
54
|
}
|
|
55
|
+
export {};
|